SVG content not heard in screen readers.
Categories
(Core :: Disability Access APIs, defect, P3)
Tracking
()
People
(Reporter: stommepoes, Unassigned)
References
(Blocks 1 open bug, )
Details
Comment 1•8 years ago
|
||
Reporter | ||
Comment 2•8 years ago
|
||
Comment 3•8 years ago
|
||
Reporter | ||
Comment 4•8 years ago
|
||
Updated•7 years ago
|
Updated•2 years ago
|
I just stumbled upon this due to a stack overflow question.
Apparently, the <title>
contents are correctly used as the element’s name in Firefox’ accessibility tree, but it is not read by NVDA 2023.1.
According to https://github.com/nvaccess/nvda/issues/13863 this is related to Firefox’ choice of default role for SVG.
In my case it works:
- Not for a simple SVG
- Logically neither as the accessible name for an input or button
Using aria-labelledby
does not change the situation, only <svg aria-label="…
does.
Changing the SVG’s role to role=img seemed to help in one case, but not another, weird.
Comment 7•9 months ago
|
||
I've done some work on accessible naming in Gecko, and, after retesting these cases in latest Nightly, Firefox passes the test cases here. I'm not 100% sure, but I suspect it was due to my work for Bug 1865582.
Comment 8•9 months ago
|
||
(In reply to Nathan LaPré from comment #7)
I've done some work on accessible naming in Gecko, and, after retesting these cases in latest Nightly, Firefox passes the test cases here.
How did you test these? For me, the first test case isn't read by NVDA at all, though the version within the button now is.
Updated•9 months ago
|
Comment 9•9 months ago
|
||
Ugh, sorry - I missed that the first example isn't read out. I just tested the button examples in Comment 1 and 3. NVDA does read out the first SVG test case on the Comment 1 test page if you object navigate to it, but it's not included in the readout of the entire paragraph. NVDA does read it out as part of the paragraph in Chrome.
So, I'm reopening this with the caveat that this is now the only failing test case:
<p>1. The way SVGs could work but so far not everywhere:
<svg focusable="false">
<title>Remove</title>
<use xlink:href="#remove"></use>
</svg> (you should hear "remove" according to spec).
</p>
Description
•