Semantic support (not just style support) for del and ins on web pages #4920
Description
Reported by paulbohman on 2015-02-13 22:50
I know that it's possible to have NVDA read the style attributes of strikethrough and underlined text (preferences > document formatting > report font attributes), which is how and are styled by default in browsers, but NVDA is not conveying the proper semantics this way. I would like NVDA to treat and semantically, rather than just stylistically, and I'd like this meaning to be conveyed by default, not just by turning on a setting in the preferences.
There are a few problems with relying on styles to convey meaning, as NVDA is doing here:
- NVDA doesn't say "deleted" or "inserted" as it should. It just says "strikethrough" and "underlined" which isn't the same thing. There may be multiple instances of underlined text on the same page, and some of it may not be inserted text. It could be a heading or even a regular link, for example. NVDA will say "underlined" in all these cases. Users can't tell the difference between underlined text and inserted text. The style is not guaranteed to convey that particular meaning.
- Web designers may choose to override the default styles of the browser using CSS. The designer could choose to make deleted text grayed out, for example, and could choose to make inserted text red. I'm not saying that's a good idea. I'm just saying that if you're relying on styles alone, it's possible someone could choose different styles, which ruins NVDA's ability to derive any meaning at all.
- The fact that the option is currently not turned on by default means that web developers can't rely on del and ins to convey any meaning, even though both of them are semantic elements that in fact convey a lot of meaning, and it's important meaning, especially in legal documents and such.
Here is a test file: https://dequeuniversity.com/testsuite/text/strikethrough
Hoped-for result: The screen reader will say "begin deleted text," "end deleted text," "begin inserted text," "end inserted text" (or similar).
Actual result: NVDA dos not announce anything at all in default mode. With "report font attributes" turned on it does announce the style features, but does not announce any of the semantic meaning, especially when the styles are altered by the web developer.
Recommendation: Read the tags themselves, rather than the styles, announce the meaning (deleted and inserted), and turn on this meaning by default.