<?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>244221</bug_id>
          
          <creation_ts>2022-08-22 14:32:35 -0700</creation_ts>
          <short_desc>AX: SVG symbols in &lt;img src&gt; included in VoiceOver Images web rotor</short_desc>
          <delta_ts>2026-02-24 09:21:05 -0800</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 Technology Preview</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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="Curtis Wilcox">webkit.org</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>andresg_22</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1893063</commentid>
    <comment_count>0</comment_count>
    <who name="Curtis Wilcox">webkit.org</who>
    <bug_when>2022-08-22 14:32:35 -0700</bug_when>
    <thetext>If an &lt;img&gt; element has an SVG as its source (linked file or `data` encoded) and that SVG contains &lt;use&gt; elements that reference a &lt;symbol&gt; element, VoiceOver&apos;s Images web rotor includes each one as an unnamed image in addition to the &lt;img&gt; element with whatever name.

For example, if an &lt;img&gt; element with alt=&quot;Boxes&quot; has an SVG that uses two &lt;use&gt; elements to make the same &lt;symbol&gt; appear twice, the web rotor&apos;s list of images would be:

* Boxes image
* image
* image

As each unnamed image is selected in the rotor, VoiceOver&apos;s cursor outline appears around the &lt;use&gt; element. It does not appear possible to navigate into the SVG from the page, they&apos;re only accessed through the rotor.

Adding role=&quot;img&quot; to the &lt;img&gt; element has no effect.

Examples:
https://codepen.io/ccwilcox/full/VwXRBLN

This was tested using Safari 15.6.1 and Safari Technology Preview Release 151 on macOS 12.5.1. Inspecting the SVG, each &lt;use&gt; element contains Shadow Content which is an &lt;svg&gt; containing the referenced &lt;symbol&gt; element&apos;s contents. Adding role=&quot;none&quot; to a &lt;use&gt; element prevents it from appearing in the rotor, adding  role=&apos;none&apos; to either the &lt;symbol&gt; or the &lt;path&gt; within has no effect. Adding aria-label=&quot;one box&quot; to a &lt;use&gt; element adds it to the web rotor list but the Shadow &lt;svg&gt; within is still also included as an unnamed image.

For comparison, only the &lt;img&gt; element appears in the web rotor when VoiceOver is used with Chrome (104) or Firefox (103.0.2).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1893064</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-08-22 14:32:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/98999595&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2180122</commentid>
    <comment_count>2</comment_count>
    <who name="Curtis Wilcox">webkit.org</who>
    <bug_when>2026-02-10 18:31:59 -0800</bug_when>
    <thetext>In Safari 26.2 on macOS 15.7.3, adding role=&quot;img&quot; to the &lt;img&gt; element does prevent the &lt;use&gt; elements from being in the VoiceOver reading order and Images Rotor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2181294</commentid>
    <comment_count>3</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2026-02-13 07:51:43 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/58627</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2184437</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-02-24 09:21:02 -0800</bug_when>
    <thetext>Committed 308126@main (60d5c002f82a): &lt;https://commits.webkit.org/308126@main&gt;

Reviewed commits have been landed. Closing PR #58627 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>