Headings within legends are not exposed correctly in JAWS
See original GitHub issueReported by an external audit.
There is an issue with heading elements inside legends in the following assistive technologies.
Heading elements inside legends are associated and read out with the relevant fieldset, but are not surfaced as headings themselves on the page.
For example: when navigating via headings (pressing the ‘h’ key on a page), you would expect the heading to be announced (for example “heading level 1, What is your nationality?”. We instead hear “there are no headings on this page”.
JAWS (observed in JAWS 18+)
- Reads ‘there are no headings on this page’
- Not reading in context as a heading only a legend
- Using ins F6 it is reading ‘no headings found’
- Results are the same with CSS turned off
NVDA
Note: the same issue was originally raised against NVDA too, saying that NVDA read out ‘no next heading’ when navigating via headings. However, in Hanna’s investigation in 2019 and my own today (10/11/2021) we were both unable to replicate.
ZoomText
ZoomText’s own audio feedback also does not read the heading when placed within the <legend>
Issue Analytics
- State:
- Created 4 years ago
- Comments:32 (30 by maintainers)
Top GitHub Comments
I’ve had a chat with @davidc-gds about the double heading announcement, and we agree that it’s difficult to know whether it’s an issue for anyone. We confirmed it shows up as an issue in NVDA too, so it’s not specific to JAWS.
We’re pretty confident that the HTML we’ve got now is the best approach: it’s tested well, it’s valid HTML and generally seems the best performing option.
Given that this issue has already had quite a lot of community involvement and there doesn’t seem to be any obvious alternatives that work better for all screenreaders, I’m going to close this issue as fixed. If we hear reports of the double heading announcement causing issues, we can explore it as a new issue.
Update: We’ve had an update from Freedom Scientific which suggests that this bug will be looked at as part of their 2022 cycle (i.e: released as an update at some point to version 2022). Unfortunately the update was quite vague, so they weren’t able to give us any timescales on this, but it at least gives us some idea of when to start chasing again if we don’t hear/see anything in the near future.