Bug 57066
Summary: | AX: Accessibility tree for iframes has inconsistent values set for accessibilityIsIgnored | ||
---|---|---|---|
Product: | WebKit | Reporter: | Dominic Mazzoni <dmazzoni> |
Component: | Accessibility | Assignee: | Nobody <webkit-unassigned> |
Status: | UNCONFIRMED | ||
Severity: | Normal | CC: | cfleizach, ctguil, jointskiller, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All |
Dominic Mazzoni
Some AccessibilityObjects have accessibilityIsIgnored()=true, which keeps the tree of AccessibilityObjects shallower and simpler.
When iterating over the children of an AccessibilityObject, you always get only unignored children. To find the original parent of one of those children, you can retrieve the unignored parent.
This rule is useful in Chromium's implementation of accessibility. For example, a table cell is a child of both the row and the column - however, the cell's unignored parent is the row object, so we can use that to avoid processing the same node twice when walking the entire tree.
This rule seems to be broken for iframes. The child of an iframe is a scroll area, but the unignored parent object of the scroll area is an object with role=group that isn't ignored.
It'd be nice to make this more consistent, so that either the unignored parent of the scroll area is the iframe, or the intermediate nodes between the iframe and the scroll area are marked as ignored.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
chris fleizach
agreed. was not aware this was occurring.
James Craig
<rdar://problem/15497064>
James Craig
<rdar://problem/15499513>