Bug 223798 - AX: `aria-owns` does not work for list items (and other elements)
Summary: AX: `aria-owns` does not work for list items (and other elements)
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Safari 14
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-03-26 07:48 PDT by Ben Cronin
Modified: 2022-11-16 13:03 PST (History)
6 users (show)

See Also:


Attachments
Repro case for readout for DOM-structured list vs. aria-owned list (600 bytes, text/html)
2021-03-26 07:48 PDT, Ben Cronin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Cronin 2021-03-26 07:48:35 PDT
Created attachment 424352 [details]
Repro case for readout for DOM-structured list vs. aria-owned list

NOTE: This is a possible duplicate of https://bugs.webkit.org/show_bug.cgi?id=151498, but I wanted to emphasize the fact that there seems to be a broader problem with `aria-owns`.

For example, I would expect these two structures to be treated the same (also see attached html file for a slightly more detailed example).

(1) List with item as DOM child:

<ul>
  <li>List item</li>
</ul>

(2) List with aria-owned item:

<li id="list-item">List item</li>
<ul aria-owns="list-item"/>

In case (1), when navigating to the list item, I initially hear "list one item" to indicate that the item belongs to a list (and from there I can navigate into the actual list item).

In case (2), I just hear "bullet List item," with no mention that the item should semantically be treated as part of a list.

I believe the two cases should behave the same, which is how it works in Chrome (I tested Safari 14 vs. Chrome 89, but the discrepancy has been present in past versions as well). It also seems this is not confined to lists/list items (i.e., I have not heard any other aria-owns relationships communicated by VoiceOver in Safari, either).

Reference: https://www.w3.org/TR/2017/REC-wai-aria-1.1-20171214/#aria-owns
Comment 1 Radar WebKit Bug Importer 2021-03-26 07:48:44 PDT
<rdar://problem/75885927>
Comment 2 Scott 2021-09-01 18:32:30 PDT
+1 requesting the aria-owns attribute be implemented by Webkit.  

This feature would be quite important in the construction of tab widgets that change to accordion patterns at different viewports.  Without aria-owns, which would allow for a single markup pattern to be used, the DOM would have to be updated to meet the expectations for each pattern.  For instance, https://tabpanelwidget.com uses aria-owns correctly to associate the tabs with the tablist.  

There are many other examples I've come across recently where support for aria-owns would improve the accessibility for users of Webkit+VoiceOver, but presently the best advice to give them is to use another browser.
Comment 3 Thierry 2021-09-14 21:23:59 PDT
Waiting for this issue to be fixed so we can put https://tabpanelwidget.com/ back online.
Comment 4 Brennan Young 2022-03-07 05:41:48 PST
+1 request for a fix.

I bring a new use case, so far unmentioned.
There is currently no support for PDF/UA tags in webkit browsers.

PDF.js (which renders PDF files in a canvas) relies on aria-owns to construct an accessibility tree based on PDF/UA tags. https://github.com/mozilla/pdf.js

This issue with aria-owns prevents PDF.js from being a viable workaround.

Those who intend to present tagged PDF via VoiceOver, must currently do so via a non-webkit browser.
Comment 5 James Craig 2022-06-16 19:03:38 PDT
possibly forward dupe to bug 241694
Comment 6 Sommer Panage 2022-11-16 13:03:34 PST
Dupe seems accurate - we're encountering this in our Quip (now part of Slack) lists; prevents Quip from being able to communicate list structure in view-only mode.