RESOLVED FIXED Bug 271287
AX: Mac combo boxes should expose aria-activedescendant as AXSelectedChildren
https://bugs.webkit.org/show_bug.cgi?id=271287
Summary AX: Mac combo boxes should expose aria-activedescendant as AXSelectedChildren
Dominic Mazzoni
Reported 2024-03-19 17:40:23 PDT
This is necessary, but probably not sufficient, to support https://bugs.webkit.org/show_bug.cgi?id=231724 (AX: VoiceOver doesn't announce aria-activedescendant value for select-only combobox specification). There are other bugs preventing VoiceOver from working but exposing the active descendant is pretty fundamental so I'd like to get that in first. Part of the bug is that an element can be both a combo box and a text field, so the supported attribute logic needed to be updated to take that into account.
Attachments
Patch (8.52 KB, patch)
2024-03-19 18:01 PDT, Dominic Mazzoni
no flags
Patch (8.43 KB, patch)
2024-03-22 12:02 PDT, Dominic Mazzoni
no flags
Radar WebKit Bug Importer
Comment 1 2024-03-19 17:40:36 PDT
Dominic Mazzoni
Comment 2 2024-03-19 18:01:17 PDT
Tyler Wilcock
Comment 3 2024-03-21 16:01:06 PDT
Comment on attachment 470439 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=470439&action=review Thanks Dominic! > LayoutTests/accessibility/mac/aria-combobox-activedescendant.html:11 > +<div role="list" id="list" aria-label="List1"> > + <div role="listitem" id="item1" aria-label="item1">item1</div> Are the id attributes on these elements used? If not, could make the test a bit more concise by removing them? > LayoutTests/accessibility/mac/aria-combobox-activedescendant.html:25 > + var output = "On macOS, a combobox should map aria-activedescendant to AXSelectedChildren.\n"; > + > + if (window.accessibilityController) { > + var combobox = accessibilityController.accessibleElementById("combobox"); > + output += expect("combobox.selectedChildrenCount", "1"); > + activeDescendant = combobox.selectedChildAtIndex(0); > + output += expect("activeDescendant.role", "'AXRole: AXGroup'"); > + output += expect("activeDescendant.title", "'AXTitle: item2'"); > + debug(output); > + } Minor nit, but our layout test style has been moving towards not indenting one level inside script tags (so everything here can be shifted left).
Dominic Mazzoni
Comment 4 2024-03-22 12:02:09 PDT
EWS
Comment 5 2024-03-25 09:18:26 PDT
Committed 276627@main (d87f5d670518): <https://commits.webkit.org/276627@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 470516 [details].
Note You need to log in before you can comment on or make changes to this bug.