<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - AX: Voice Over focus issue ignoring <object> elements"
href="https://bugs.webkit.org/show_bug.cgi?id=158390#c2">Comment # 2</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - AX: Voice Over focus issue ignoring <object> elements"
href="https://bugs.webkit.org/show_bug.cgi?id=158390">bug 158390</a>
from <span class="vcard"><a class="email" href="mailto:bruno@hexanet.net" title="hexalys <bruno@hexanet.net>"> <span class="fn">hexalys</span></a>
</span></b>
<pre>To be clear, what I was trying to achieve is the following cross-compatible external SVG logo:
<a id="logo" href="/" aria-label="Homepage" title="Company Name">
<object type="image/svg+xml" data="logo.svg">
<img href="logo.png" width="300" height="104" alt="Company Name">
</object>
</a>
The reason for my choice of <object> as fallback is that if images are disabled in Safari, Dolphin or Vivaldi Browser (where it is an explicit user feature). I still want the site's main SVG logo to show. The <svg><image> fallback solutions fail at that (except for Opera Mini which considers an svg <image> as SVG despite images turned off).
Using role="img" on the object happens to be a work-around making the link focus work in iOS VO, and fits well with my use case. So this works in iOS and addresses the bug:
<a id="logo" href="/" aria-label="Homepage" title="Company Name">
<object role="img" type="image/svg+xml" data="logo.svg">
<img href="logo.png" width="300" height="104" alt="Company Name">
</object>
</a>
Of course, it require a z-index method such as the one described at <a href="http://stackoverflow.com/a/12732030/1647538">http://stackoverflow.com/a/12732030/1647538</a> to make that link hover-able and clickable in all browsers.
The issue here that an <object> inside a link should still receive focus without the ARIA role.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>