Bug 223798

Summary: AX: `aria-owns` does not work for list items (and other elements)
Product: WebKit Reporter: Ben Cronin <bcronin>
Component: AccessibilityAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: scottaohara, thierry.koblentz, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 14   
Hardware: All   
OS: All   
Attachments:
Description Flags
Repro case for readout for DOM-structured list vs. aria-owned list none

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.