group role child of ARIA listbox getting pruned from the mac accessibility tree
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
People
(Reporter: jdiggs, Unassigned)
References
(Blocks 1 open bug)
Details
Steps to reproduce:
- Load
data:text/html,<div role='listbox'><div role='group'><div role='option'>item</div></div></div> - Examine the accessibility tree in XCode's accessibility inspector
Expected results: the div with the group role would be present in the accessibility tree.
Actual results: Only the listbox and option are in the accessibility tree.
This problem doesn't appear in Linux, where the group-role div is exposed with ROLE_PANEL as expected.
Comment 1•4 years ago
|
||
S3 because this probably impacts reporting of groups where the group is labelled with VO. I also suspect <optgroup> might be broken, since that uses role="group", but I'm not sure.
Comment 2•10 months ago
|
||
Morgan, does your recent work on lists have any relevance here?
Comment 3•10 months ago
•
|
||
This still appears to be broken; the tree structure is: listbox > option
Safari's tree structure is: listbox > group > option
Comment 4•10 months ago
|
||
Right... but I thought there was some weird thing where you had to flatten groups in lists on Mac in order for them to be valid? Or am I misunderstanding?
Comment 5•10 months ago
|
||
(In reply to James Teh [:Jamie] from comment #4)
Right... but I thought there was some weird thing where you had to flatten groups in lists on Mac in order for them to be valid? Or am I misunderstanding?
Oh! Sorry I thought you were asking if it was related --> if it fixed this issue :)
Yes, I worked on this bug which had to do with exposing options inside of groups as selected or non-selected. VoiceOver wants listboxes to expose a set of selected children via AXSelectedChildren (really, this is a subset of all descendants, not just direct children). Prior to the patch at that bug, if a listbox had direct children with gecko role=grouping, we exposed the descendants of these groups as selectable, which is to-spec. Some gecko roles (which are not explicitly role=grouping) translate to AXRole = AXGroup and are valid to use as inner-groups in listboxes. When those AXGroup nodes were direct children of a listbox, we never traversed them / exposed their children as selectable. Post-patch, they are selectable becuase we check for AXRole = AXGroup rather than gecko role = grouping.
If the group accessibles mentioned in this bug are exposed in the gecko tree but not the mac tree, they're likely removed in our ignore child functions which we should fix
Description
•