<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>223798</bug_id>
          
          <creation_ts>2021-03-26 07:48:35 -0700</creation_ts>
          <short_desc>AX: Re-implement aria-owns to reorder the accessibility tree (spec was changed to match Gecko and the more recent implementation of Chromium)</short_desc>
          <delta_ts>2025-06-13 15:19:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>Safari 14</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Cronin">bcronin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>a11y</cc>
    
    <cc>aleventhal</cc>
    
    <cc>brennan.young</cc>
    
    <cc>jcraig</cc>
    
    <cc>scottaohara</cc>
    
    <cc>spanage</cc>
    
    <cc>thierry.koblentz</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1744166</commentid>
    <comment_count>0</comment_count>
      <attachid>424352</attachid>
    <who name="Ben Cronin">bcronin</who>
    <bug_when>2021-03-26 07:48:35 -0700</bug_when>
    <thetext>Created attachment 424352
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:

&lt;ul&gt;
  &lt;li&gt;List item&lt;/li&gt;
&lt;/ul&gt;

(2) List with aria-owned item:

&lt;li id=&quot;list-item&quot;&gt;List item&lt;/li&gt;
&lt;ul aria-owns=&quot;list-item&quot;/&gt;

In case (1), when navigating to the list item, I initially hear &quot;list one item&quot; 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 &quot;bullet List item,&quot; 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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744167</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-26 07:48:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/75885927&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789578</commentid>
    <comment_count>2</comment_count>
    <who name="Scott">scottaohara</who>
    <bug_when>2021-09-01 18:32:30 -0700</bug_when>
    <thetext>+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&apos;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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793587</commentid>
    <comment_count>3</comment_count>
    <who name="Thierry">thierry.koblentz</who>
    <bug_when>2021-09-14 21:23:59 -0700</bug_when>
    <thetext>Waiting for this issue to be fixed so we can put https://tabpanelwidget.com/ back online.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1848702</commentid>
    <comment_count>4</comment_count>
    <who name="Brennan Young">brennan.young</who>
    <bug_when>2022-03-07 05:41:48 -0800</bug_when>
    <thetext>+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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1876384</commentid>
    <comment_count>5</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2022-06-16 19:03:38 -0700</bug_when>
    <thetext>possibly forward dupe to bug 241694</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1912940</commentid>
    <comment_count>6</comment_count>
    <who name="Sommer Panage">spanage</who>
    <bug_when>2022-11-16 13:03:34 -0800</bug_when>
    <thetext>Dupe seems accurate - we&apos;re encountering this in our Quip (now part of Slack) lists; prevents Quip from being able to communicate list structure in view-only mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1944345</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2023-03-27 13:28:42 -0700</bug_when>
    <thetext>*** Bug 241694 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1946445</commentid>
    <comment_count>8</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2023-04-03 23:25:13 -0700</bug_when>
    <thetext>Since WebKit bug 241694 was duped to this one, I want to make sure the useful bits of that thread aren&apos;t lost in the duping... In particular:

Aaron wrote up a doc describing how Blink implements aria-owns:
https://docs.google.com/document/d/1jhztcbvUWS4_QGtKmWMxVBLnMkl5ZAAqRCVTcLfdl4o/edit#

James Teh from Mozilla mentioned that he thinks Blink handles more of the obscure problematic cases. Blink engineers spent a fair amount of time on them, so hopefully the above document will save you some of the pain we experienced.

Above doc covers a lot of the edge case questions discussed in WebKit bug 241694 and &lt;rdar://95314618&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1968930</commentid>
    <comment_count>9</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2023-07-31 15:09:39 -0700</bug_when>
    <thetext>ARIA Chairs are asking for a status update or estimate on this one, if you have it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>424352</attachid>
            <date>2021-03-26 07:48:35 -0700</date>
            <delta_ts>2021-03-26 07:48:35 -0700</delta_ts>
            <desc>Repro case for readout for DOM-structured list vs. aria-owned list</desc>
            <filename>aria-owns-vs-dom-structure.html</filename>
            <type>text/html</type>
            <size>600</size>
            <attacher name="Ben Cronin">bcronin</attacher>
            
              <data encoding="base64">PGh0bWw+CiAgICA8Ym9keT4KICAgICAgICA8ZGl2PgogICAgICAgICAgICA8aDI+CiAgICAgICAg
ICAgICAgICBMaXN0IHdpdGggaXRlbSBhcyBET00gY2hpbGQgKGl0ZW0gaXMgcmVhZCBvdXQgYXMg
YmVsb25naW5nIHRvIGxpc3QpCiAgICAgICAgICAgIDwvaDI+CiAgICAgICAgICAgIDx1bD4KICAg
ICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICBUZXh0CiAgICAgICAgICAgICAg
ICA8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXY+CiAg
ICAgICAgICAgIDxoMj4KICAgICAgICAgICAgICAgIExpc3Qgd2l0aCBpdGVtIGFyaWEtb3duZWQg
KGl0ZW0gaXMgbm90IHJlYWQgb3V0IGFzIGJlbG9uZ2luZyB0byBsaXN0IHRoYXQgYXJpYS1vd25z
IGl0KQogICAgICAgICAgICA8L2gyPgogICAgICAgICAgICA8bGkgaWQ9Imxpc3QtaXRlbS0xIj4K
ICAgICAgICAgICAgICAgIFRleHQKICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPHVsIGFy
aWEtbGFiZWw9IlNpbXVsYXRlZCBsaXN0IiBhcmlhLW93bnM9Imxpc3QtaXRlbS0xIi8+CiAgICAg
ICAgPC9kaXY+CiAgICA8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>