RESOLVED FIXED 161734
AX: Aria-activedescendant not supported
https://bugs.webkit.org/show_bug.cgi?id=161734
Summary AX: Aria-activedescendant not supported
helene.vinh
Reported 2016-09-08 00:32:58 PDT
Hello, I am working for Amadeus, a company that provides IT solutions for the travel industry. We are developing a flight booking website that should be accessible to screen reader users. We are currently encountering a specific issue with VoiceOver with the support of aria-activedescendant attribute. This has been used to implement a datepicker and an autocomplete widget. When navigating on the active element, VoiceOver is not reading it (suggestion in the autocomplete list and date in the datepicker). Please launch the URL below to reproduce the issue. The concerned widget are the city picker and the datepicker in the search bar at the top of the page. Testing environment We are testing on MAC OS El Capitain 10.11 with Safari browser and VoiceOver. Best regards URL for test page https://pcm.uat01.amadeus.com/plnext/demo/Override.action?SO_SITE_RUI_HIDE_MDF_SRC=FALSE&TRIP_FLOW=YES&BOOKING_FLOW=REVENUE&B_LOCATION_1=KEF&B_LOCATION_2=LON&B_DATE_1=201612110000&B_ANY_TIME_1=TRUE&E_LOCATION_1=LON&E_LOCATION_2=KEF&B_DATE_2=201612220000&B_ANY_TIME_2=TRUE&TRIP_TYPE=R&EXTERNAL_ID=BOOKING&PRICING_TYPE=O&EMBEDDED_TRANSACTION=FlexPricerAvailability&DISPLAY_TYPE=2&ARRANGE_BY=D&SO_SITE_MATRIX_CALENDAR=FALSE&REFRESH=0&COMMERCIAL_FARE_FAMILY_1=OWCOACHEU&COMMERCIAL_FARE_FAMILY_2=OWCOMFVIA&COMMERCIAL_FARE_FAMILY_3=OWCOMFVIA&DATE_RANGE_VALUE_1=3&DATE_RANGE_VALUE_2=3&DATE_RANGE_QUALIFIER_1=C&DATE_RANGE_QUALIFIER_2=C&TRAVELLER_TYPE_1=ADT&TRAVELLER_TYPE_2=&TRAVELLER_TYPE_3=&TRAVELLER_TYPE_4=&TRAVELLER_TYPE_5=&TRAVELLER_TYPE_6=&TRAVELLER_TYPE_7=&TRAVELLER_TYPE_8=&TRAVELLER_TYPE_9=&HAS_INFANT_1=FALSE&HAS_INFANT_2=FALSE&HAS_INFANT_3=FALSE&HAS_INFANT_4=FALSE&HAS_INFANT_5=FALSE&HAS_INFANT_6=FALSE&HAS_INFANT_7=FALSE&HAS_INFANT_8=FALSE&HAS_INFANT_9=FALSE&SO_SITE_EXT_PSPURL=&SO_SITE_EXT_MerchantID=FI&SO_GL=&SO_SITE_OFFICE_ID=KEFFI08AA&SO_SITE_QUEUE_OFFICE_ID=KEFFI08AA&SO_SITE_QUEUE_CATEGORY=0C0&SO_SITE_MOP_EXT=TRUE&SO_SITE_FOP_MODE=SITE&SITE=5APDDEMO&LANGUAGE=GB&SO_SITE_APIV2_SERVER_USER_ID=GUEST&SO_SITE_APIV2_SERVER=194.156.170.78&SO_SITE_APIV2_SERVER_PWD=TAZ&SO_SITE_CORPORATE_ID=OCGPDT&SO_SITE_SI_SAP=1ASIXJCP&SO_SITE_SI_SERVER_PORT=18033&SO_SITE_SI_SERVER_IP=193.23.185.67&SO_SITE_SI_USER=UNSET&SO_SITE_SI_PASSWORD=UNSET&SO_SITE_SI_1AXML_FROM=SEP_JCP&SO_SITE_FQ_INTERFACE_ACTIVE=FALSE&SO_SITE_HOST_TRACE_ACTIVE=TRUE&SO_SITE_FP_TRACES_ON=FALSE
Attachments
patch (10.96 KB, patch)
2017-12-27 09:05 PST, chris fleizach
no flags
patch (11.28 KB, patch)
2017-12-27 09:13 PST, chris fleizach
no flags
patch (11.26 KB, patch)
2017-12-27 09:15 PST, chris fleizach
ews-watchlist: commit-queue-
Archive of layout-test-results from ews103 for mac-elcapitan (2.17 MB, application/zip)
2017-12-27 10:14 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews107 for mac-elcapitan-wk2 (2.59 MB, application/zip)
2017-12-27 10:26 PST, EWS Watchlist
no flags
Archive of layout-test-results from ews115 for mac-elcapitan (3.23 MB, application/zip)
2017-12-27 10:43 PST, EWS Watchlist
no flags
patch (16.98 KB, patch)
2017-12-28 01:07 PST, chris fleizach
no flags
patch (16.96 KB, patch)
2017-12-28 01:12 PST, chris fleizach
no flags
Radar WebKit Bug Importer
Comment 1 2016-09-08 00:33:31 PDT
helene.vinh
Comment 2 2017-01-04 04:33:48 PST
Hello, Any news on this issue? Could you please confirm that there is a better support of aria-activedescendant with the Sierra release? Thanks & regards
Jesse Beach
Comment 3 2017-02-08 16:31:08 PST
We are running up against this issue as well at Facebook. Our top-level search bar experience is hampered on OSX because of this issue. I've put together a codepen that can be tested on OSX with VoiceOver. Note that the items targeted by the aria-activedescendant attribute on the combobox input are not announced by VoiceOver. http://codepen.io/jessebeach/pen/OWBJRy I tested this behavior with JAWS 16 on Windows using Chrome and the example codepen behaved as expected -- the items targeted by aria-activedescendant are announced when the id value is changed in the attribute. This gap is functionality for Safari and Chrome on OSX is a serious impediment for low vision and blind web users.
Jesse Beach
Comment 4 2017-02-09 11:05:03 PST
Jesse Beach
Comment 5 2017-02-09 13:09:59 PST
Update: aria-activedescendant works in Chrome (not Safari) in combination with a role of textbox. Combined with a role of combobox, aria-activedescendant does not work in Chrome or Safari.
helene.vinh
Comment 6 2017-02-10 00:38:52 PST
Hello, In our case, the "aria-activedescendant" is put on a simple text input without any role.
helene.vinh
Comment 7 2017-03-02 02:38:42 PST
Any update please? Thanks
chris fleizach
Comment 8 2017-12-27 09:05:40 PST
chris fleizach
Comment 9 2017-12-27 09:13:18 PST
EWS Watchlist
Comment 10 2017-12-27 09:14:24 PST
Attachment 330218 [details] did not pass style-queue: ERROR: Source/WebCore/accessibility/AccessibilityRenderObject.cpp:2506: One line control clauses should not use braces. [whitespace/braces] [4] Total errors found: 1 in 9 files If any of these errors are false positives, please file a bug against check-webkit-style.
chris fleizach
Comment 11 2017-12-27 09:15:39 PST
chris fleizach
Comment 12 2017-12-27 09:17:12 PST
Note: we still need a fix in VoiceOver before this will work.
EWS Watchlist
Comment 13 2017-12-27 10:14:42 PST
Comment on attachment 330219 [details] patch Attachment 330219 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/5844933 New failing tests: accessibility/lists.html
EWS Watchlist
Comment 14 2017-12-27 10:14:43 PST
Created attachment 330221 [details] Archive of layout-test-results from ews103 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews103 Port: mac-elcapitan Platform: Mac OS X 10.11.6
EWS Watchlist
Comment 15 2017-12-27 10:26:22 PST
Comment on attachment 330219 [details] patch Attachment 330219 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/5844946 New failing tests: accessibility/lists.html
EWS Watchlist
Comment 16 2017-12-27 10:26:24 PST
Created attachment 330222 [details] Archive of layout-test-results from ews107 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews107 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Jesse Beach
Comment 17 2017-12-27 10:36:18 PST
``` if (activeDescendant->isDescendantOfObject(element.get())) ``` @cfleizach, is this assuming an ancestor/descendant relationship for the potential active descendent items of the controlling element? aria-owns would create such a relationship in the AX Tree, but aria-controls can also designate a container for "descendants", noted in ARIA 1.1 (https://www.w3.org/TR/wai-aria-1.1/#aria-activedescendant) and no such ancestor/descendant relationship would exist in the AX Tree in this case.
EWS Watchlist
Comment 18 2017-12-27 10:43:53 PST
Comment on attachment 330219 [details] patch Attachment 330219 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/5844989 New failing tests: svg/wicd/rightsizing-grid.xhtml accessibility/lists.html
EWS Watchlist
Comment 19 2017-12-27 10:43:54 PST
Created attachment 330223 [details] Archive of layout-test-results from ews115 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews115 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Jesse Beach
Comment 20 2017-12-27 10:45:53 PST
Aha! ``` <input type="text" role="combobox" id="combobox" aria-controls="list" aria-label="Combobox"> ``` Sorry, I should have kept reading before commenting. From the ARIA 1.1 spec: "When a combobox is expanded, authors MUST ensure it contains or owns an element that has a role of listbox, tree, grid, or dialog." You've accounted for `list` in this patch, not `listbox`. Are `tree`, `grid` and `dialog` accounted for as well?
Jesse Beach
Comment 21 2017-12-27 11:21:50 PST
@cfleizach, here are the official examples of comboboxes from that ARIA 1.1 Authoring Practices Guide. These examples could be used to create test cases. https://www.w3.org/TR/wai-aria-practices-1.1/examples/combobox/aria1.1pattern/listbox-combo.html Thank you for working on this!
chris fleizach
Comment 22 2017-12-27 17:31:30 PST
Will take a look at those other cases. thanks for double checking me!
chris fleizach
Comment 23 2017-12-27 23:35:34 PST
I don't think the dialog case needs anything to be done here, since focus needs to be managed by the author between dialog and combobox
chris fleizach
Comment 24 2017-12-28 01:07:24 PST
EWS Watchlist
Comment 25 2017-12-28 01:10:13 PST
Attachment 330230 [details] did not pass style-queue: ERROR: Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3380: Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side. [whitespace/operators] [4] ERROR: Source/WebCore/accessibility/AccessibilityRenderObject.cpp:3380: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 2 in 10 files If any of these errors are false positives, please file a bug against check-webkit-style.
chris fleizach
Comment 26 2017-12-28 01:12:39 PST
Joanmarie Diggs
Comment 27 2018-01-18 05:22:48 PST
Note to gardeners: The new test (aria-combobox-control-owns-elements.html) will time out. That is due to bug 171185 and/or bug 171186.
WebKit Commit Bot
Comment 28 2018-01-18 09:26:28 PST
Comment on attachment 330231 [details] patch Clearing flags on attachment: 330231 Committed r227144: <https://trac.webkit.org/changeset/227144>
WebKit Commit Bot
Comment 29 2018-01-18 09:26:30 PST
All reviewed patches have been landed. Closing bug.
Jesse Beach
Comment 30 2018-01-18 14:39:35 PST
WOOOOHHOOOOOO!!!
helene.vinh
Comment 31 2018-01-30 07:20:57 PST
Hello Chris, Could you please provide on which version the patch has been applied? We tested on High Sierra 10.13.3 and the issue still persists. Thank you
chris fleizach
Comment 32 2018-01-30 08:15:45 PST
(In reply to helene.vinh from comment #31) > Hello Chris, > > Could you please provide on which version the patch has been applied? > > We tested on High Sierra 10.13.3 and the issue still persists. > > Thank you I don't know when it will be included in a public release, but it also requires a change in VoiceOver so there are a few moving parts.
James Craig
Comment 33 2019-09-26 11:53:43 PDT
*** Bug 126058 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.