<?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>265321</bug_id>
          
          <creation_ts>2023-11-24 09:42:53 -0800</creation_ts>
          <short_desc>AX: VoiceOver ignores &lt;title&gt; elements in linked SVGs in the Web Rotor</short_desc>
          <delta_ts>2026-05-08 13:23:29 -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 17</version>
          <rep_platform>Mac (Apple Silicon)</rep_platform>
          <op_sys>macOS 13</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="beeps">beeps.grey</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andresg_22</cc>
    
    <cc>jcraig</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.org</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1994683</commentid>
    <comment_count>0</comment_count>
      <attachid>468750</attachid>
    <who name="beeps">beeps.grey</who>
    <bug_when>2023-11-24 09:42:53 -0800</bug_when>
    <thetext>Created attachment 468750
Reduced test cases

If an `&lt;svg&gt;` is embedded within a link, the SVG&apos;s `&lt;title&gt;` element contributes to what VoiceOver announces, but does *not* contribute to the link text that appears in VoiceOver&apos;s Web Rotor.

This is the case in the tested versions of Safari and Firefox, but not Chrome, which works as expected.


## Repro steps

1. Open the attached file (svg-title-issue.html) in macOS.
2. Launch VoiceOver.
3. Navigate through the page&apos;s content using VoiceOver&apos;s controls (typically Ctrl + Opt + left/right arrows).
4. Listen to how each link is announced by VoiceOver.
5. Open the Web Rotor (typically Ctrl + Opt + U) and navigate to the Links section.
6. Observe how the links are displayed within the Rotor.


## Expected results

- All of the links on the page are announced as &quot;A red circle with accompanying text&quot;
- The Web Rotor displays all of the links as &quot;A red circle with accompanying text&quot;
- When the Web Rotor list is navigated, each link is announced as &quot;A red circle with accompanying text&quot;


## Actual results

- All of the links on the page are announced as &quot;A red circle with accompanying text&quot;
- The Web Rotor displays the first three links as &quot;with accompanying text&quot;, only the last link is &quot;A red circle with accompanying text&quot;
- When the Web Rotor list is navigated, each link is announced as &quot;A red circle with accompanying text&quot;

My expectation would be that the text visually displayed in the Rotor should match what is being announced.


## Other information

If the SVG has a `&lt;text&gt;` node instead of `&lt;title&gt;`, this contributes to both the VO announcement and text displayed by the Web Rotor.

If the SVG has a `&lt;desc&gt;` node instead of `&lt;title&gt;`, it is not announced by VO nor does it appear in the Web Rotor.


## Tested in

- Safari 17.1
- Chrome 119
- Firefox 120

All on macOS 13.6.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1994684</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-11-24 09:43:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/118775157&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1994878</commentid>
    <comment_count>2</comment_count>
      <attachid>468763</attachid>
    <who name="beeps">beeps.grey</who>
    <bug_when>2023-11-27 00:46:56 -0800</bug_when>
    <thetext>Created attachment 468763
Reduced test cases

I accidentally uploaded the wrong set of reduced test cases. This now matches with what is described in the bug report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2209133</commentid>
    <comment_count>3</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2026-05-08 13:23:29 -0700</bug_when>
    <thetext>Related to bug 309958.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>468750</attachid>
            <date>2023-11-24 09:42:53 -0800</date>
            <delta_ts>2023-11-27 00:46:56 -0800</delta_ts>
            <desc>Reduced test cases</desc>
            <filename>svg-title-issue.html</filename>
            <type>text/html</type>
            <size>2552</size>
            <attacher name="beeps">beeps.grey</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04IiAvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogICAgPHRpdGxlPjwvdGl0bGU+CiAgPC9o
ZWFkPgogIDxib2R5PgogICAgPHA+U1ZHIHdpdGggPGNvZGU+Jmx0O3RpdGxlJmd0OzwvY29kZT48
L3A+CiAgICA8YSBocmVmPSIjIj4KICAgICAgPHN2ZwogICAgICAgIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIKICAgICAgICB3aWR0aD0iNDIiCiAgICAgICAgaGVpZ2h0PSI0MiIK
ICAgICAgICB2aWV3Qm94PSIwIDAgNDIgNDIiCiAgICAgID4KICAgICAgICA8dGl0bGU+QSByZWQg
Y2lyY2xlPC90aXRsZT4KICAgICAgICA8Y2lyY2xlIHI9IjIxIiBjeD0iMjEiIGN5PSIyMSIgZmls
bD0icmVkIiAvPgogICAgICA8L3N2Zz4KICAgICAgd2l0aCBhY2NvbXBhbnlpbmcgdGV4dAogICAg
PC9hPgoKICAgIDxwPlNWRyB3aXRoIDxjb2RlPiZsdDtkZXNjJmd0OzwvY29kZT48L3A+CiAgICA8
YSBocmVmPSIjIj4KICAgICAgPHN2ZwogICAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIKICAgICAgICB3aWR0aD0iNDIiCiAgICAgICAgaGVpZ2h0PSI0MiIKICAgICAgICB2
aWV3Qm94PSIwIDAgNDIgNDIiCiAgICAgID4KICAgICAgICA8ZGVzYz5BIHJlZCBjaXJjbGU8L2Rl
c2M+CiAgICAgICAgPGNpcmNsZSByPSIyMSIgY3g9IjIxIiBjeT0iMjEiIGZpbGw9InJlZCIgLz4K
ICAgICAgPC9zdmc+CiAgICAgIHdpdGggYWNjb21wYW55aW5nIHRleHQKICAgIDwvYT4KCiAgICA8
cD5TVkcgd2l0aCA8Y29kZT4mbHQ7dGV4dCZndDs8L2NvZGU+PC9wPgogICAgPGEgaHJlZj0iIyI+
CiAgICAgIDxzdmcKICAgICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAg
ICAgICAgd2lkdGg9IjQyIgogICAgICAgIGhlaWdodD0iNDIiCiAgICAgICAgdmlld0JveD0iMCAw
IDQyIDQyIgogICAgICA+CiAgICAgICAgPHRleHQ+QSByZWQgY2lyY2xlPC90ZXh0PgogICAgICAg
IDxjaXJjbGUgcj0iMjEiIGN4PSIyMSIgY3k9IjIxIiBmaWxsPSJyZWQiIC8+CiAgICAgIDwvc3Zn
PgogICAgICB3aXRoIGFjY29tcGFueWluZyB0ZXh0CiAgICA8L2E+CgogICAgPHA+U1ZHIHdpdGgg
PGNvZGU+Jmx0O3RpdGxlJmd0OzwvY29kZT4gYW5kIDxjb2RlPnJvbGU9ImltZyI8L2NvZGU+PC9w
PgogICAgPGEgaHJlZj0iIyI+CiAgICAgIDxzdmcKICAgICAgICB4bWxucz0iaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciCiAgICAgICAgd2lkdGg9IjQyIgogICAgICAgIGhlaWdodD0iNDIiCiAg
ICAgICAgdmlld0JveD0iMCAwIDQyIDQyIgogICAgICAgIHJvbGU9ImltZyIKICAgICAgPgogICAg
ICAgIDx0aXRsZT5BIHJlZCBjaXJjbGU8L3RpdGxlPgogICAgICAgIDxjaXJjbGUgcj0iMjEiIGN4
PSIyMSIgY3k9IjIxIiBmaWxsPSJyZWQiIC8+CiAgICAgIDwvc3ZnPgogICAgICB3aXRoIGFjY29t
cGFueWluZyB0ZXh0CiAgICA8L2E+CgogICAgPHA+CiAgICAgIFNWRyB3aXRoIDxjb2RlPiZsdDt0
aXRsZSZndDs8L2NvZGU+LCA8Y29kZT5yb2xlPSJpbWciPC9jb2RlPiBhbmQKICAgICAgPGNvZGU+
Zm9jdXNhYmxlPSJmYWxzZSI8L2NvZGU+CiAgICA8L3A+CiAgICA8YSBocmVmPSIjIj4KICAgICAg
PHN2ZwogICAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgICAgICBo
ZWlnaHQ9IjQyIgogICAgICAgIHdpZHRoPSI0MiIKICAgICAgICB2aWV3Qm94PSIwIDAgNDIgNDIi
CiAgICAgICAgZm9jdXNhYmxlPSJmYWxzZSIKICAgICAgICByb2xlPSJpbWciCiAgICAgID4KICAg
ICAgICA8dGl0bGU+QSByZWQgY2lyY2xlPC90aXRsZT4KICAgICAgICA8Y2lyY2xlIHI9IjIxIiBj
eD0iMjEiIGN5PSIyMSIgZmlsbD0icmVkIiAvPgogICAgICA8L3N2Zz4KICAgICAgd2l0aCBhY2Nv
bXBhbnlpbmcgdGV4dAogICAgPC9hPgoKICAgIDxwPgogICAgICBTVkcgd2l0aCA8Y29kZT4mbHQ7
dGl0bGUmZ3Q7PC9jb2RlPiwgPGNvZGU+cm9sZT0iaW1nIjwvY29kZT4sCiAgICAgIDxjb2RlPmZv
Y3VzYWJsZT0iZmFsc2UiPC9jb2RlPiBhbmQgPGNvZGU+YXJpYS1sYWJlbDwvY29kZT4KICAgIDwv
cD4KICAgIDxhIGhyZWY9IiMiPgogICAgICA8c3ZnCiAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIgogICAgICAgIGhlaWdodD0iNDIiCiAgICAgICAgd2lkdGg9IjQyIgog
ICAgICAgIHZpZXdCb3g9IjAgMCA0MiA0MiIKICAgICAgICBmb2N1c2FibGU9ImZhbHNlIgogICAg
ICAgIHJvbGU9ImltZyIKICAgICAgICBhcmlhLWxhYmVsPSJBIHJlZCBjaXJjbGUiCiAgICAgID4K
ICAgICAgICA8dGl0bGU+QSByZWQgY2lyY2xlPC90aXRsZT4KICAgICAgICA8Y2lyY2xlIHI9IjIx
IiBjeD0iMjEiIGN5PSIyMSIgZmlsbD0icmVkIiAvPgogICAgICA8L3N2Zz4KICAgICAgd2l0aCBh
Y2NvbXBhbnlpbmcgdGV4dAogICAgPC9hPgogIDwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468763</attachid>
            <date>2023-11-27 00:46:56 -0800</date>
            <delta_ts>2023-11-27 00:46:56 -0800</delta_ts>
            <desc>Reduced test cases</desc>
            <filename>svg-title-issue.html</filename>
            <type>text/plain</type>
            <size>1890</size>
            <attacher name="beeps">beeps.grey</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04IiAvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRl
dmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIiAvPgogICAgPHRpdGxlPjwvdGl0bGU+CiAgPC9o
ZWFkPgogIDxib2R5PgogICAgPHA+U1ZHIHdpdGggPGNvZGU+Jmx0O3RpdGxlJmd0OzwvY29kZT48
L3A+CiAgICA8YSBocmVmPSIjIj4KICAgICAgPHN2ZwogICAgICAgIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyIKICAgICAgICB3aWR0aD0iNDIiCiAgICAgICAgaGVpZ2h0PSI0MiIK
ICAgICAgICB2aWV3Qm94PSIwIDAgNDIgNDIiCiAgICAgID4KICAgICAgICA8dGl0bGU+QSByZWQg
Y2lyY2xlPC90aXRsZT4KICAgICAgICA8Y2lyY2xlIHI9IjIxIiBjeD0iMjEiIGN5PSIyMSIgZmls
bD0icmVkIiAvPgogICAgICA8L3N2Zz4KICAgICAgd2l0aCBhY2NvbXBhbnlpbmcgdGV4dAogICAg
PC9hPgoKICAgIDxwPlNWRyB3aXRoIDxjb2RlPiZsdDt0aXRsZSZndDs8L2NvZGU+IGFuZCA8Y29k
ZT5yb2xlPSJpbWciPC9jb2RlPjwvcD4KICAgIDxhIGhyZWY9IiMiPgogICAgICA8c3ZnCiAgICAg
ICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICAgICAgIHdpZHRoPSI0MiIK
ICAgICAgICBoZWlnaHQ9IjQyIgogICAgICAgIHZpZXdCb3g9IjAgMCA0MiA0MiIKICAgICAgICBy
b2xlPSJpbWciCiAgICAgID4KICAgICAgICA8dGl0bGU+QSByZWQgY2lyY2xlPC90aXRsZT4KICAg
ICAgICA8Y2lyY2xlIHI9IjIxIiBjeD0iMjEiIGN5PSIyMSIgZmlsbD0icmVkIiAvPgogICAgICA8
L3N2Zz4KICAgICAgd2l0aCBhY2NvbXBhbnlpbmcgdGV4dAogICAgPC9hPgoKICAgIDxwPgogICAg
ICBTVkcgd2l0aCA8Y29kZT4mbHQ7dGl0bGUmZ3Q7PC9jb2RlPiwgPGNvZGU+cm9sZT0iaW1nIjwv
Y29kZT4gYW5kCiAgICAgIDxjb2RlPmZvY3VzYWJsZT0iZmFsc2UiPC9jb2RlPgogICAgPC9wPgog
ICAgPGEgaHJlZj0iIyI+CiAgICAgIDxzdmcKICAgICAgICB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciCiAgICAgICAgaGVpZ2h0PSI0MiIKICAgICAgICB3aWR0aD0iNDIiCiAgICAg
ICAgdmlld0JveD0iMCAwIDQyIDQyIgogICAgICAgIGZvY3VzYWJsZT0iZmFsc2UiCiAgICAgICAg
cm9sZT0iaW1nIgogICAgICA+CiAgICAgICAgPHRpdGxlPkEgcmVkIGNpcmNsZTwvdGl0bGU+CiAg
ICAgICAgPGNpcmNsZSByPSIyMSIgY3g9IjIxIiBjeT0iMjEiIGZpbGw9InJlZCIgLz4KICAgICAg
PC9zdmc+CiAgICAgIHdpdGggYWNjb21wYW55aW5nIHRleHQKICAgIDwvYT4KCiAgICA8cD4KICAg
ICAgU1ZHIHdpdGggPGNvZGU+Jmx0O3RpdGxlJmd0OzwvY29kZT4sIDxjb2RlPnJvbGU9ImltZyI8
L2NvZGU+LAogICAgICA8Y29kZT5mb2N1c2FibGU9ImZhbHNlIjwvY29kZT4gYW5kIDxjb2RlPmFy
aWEtbGFiZWw8L2NvZGU+CiAgICA8L3A+CiAgICA8YSBocmVmPSIjIj4KICAgICAgPHN2ZwogICAg
ICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgICAgICBoZWlnaHQ9IjQy
IgogICAgICAgIHdpZHRoPSI0MiIKICAgICAgICB2aWV3Qm94PSIwIDAgNDIgNDIiCiAgICAgICAg
Zm9jdXNhYmxlPSJmYWxzZSIKICAgICAgICByb2xlPSJpbWciCiAgICAgICAgYXJpYS1sYWJlbD0i
QSByZWQgY2lyY2xlIgogICAgICA+CiAgICAgICAgPHRpdGxlPkEgcmVkIGNpcmNsZTwvdGl0bGU+
CiAgICAgICAgPGNpcmNsZSByPSIyMSIgY3g9IjIxIiBjeT0iMjEiIGZpbGw9InJlZCIgLz4KICAg
ICAgPC9zdmc+CiAgICAgIHdpdGggYWNjb21wYW55aW5nIHRleHQKICAgIDwvYT4KICA8L2JvZHk+
CjwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>