During some recent JAWS testing, I encountered a “Call us” heading awkwardly pronounced as “Call U.S.”
The heading had been rendered with CSS text-transform: uppercase, and I was surprised to confirm that this presentational transformation had bled into the accessibility tree.
The CSS spec’s documentation for text-transform states:
This property transforms text for styling purposes. It has no effect on the underlying content, and must not affect the content of a plain text copy & paste operation.
Authors must not rely on text-transform for semantic purposes; rather the correct casing and semantics should be encoded in the source document text and markup.
In the spirit of that specification, I propose adding a note to the accname spec (possibly to the Name from Content section) to clarify that the computed name must remain unaffected by text-transform so that the author’s semantic casing decisions will be faithfully passed along to assistive technology.
I’ve submitted a few WPT subtests to accompany this issue. As it turns out, all 3 major browsers engines let text-transform affect the computed name. 😅 If the working group agrees, I’ll draft an update to the accname spec and also create implementation bugs (or boost existing ones, such as this Chromium issue).
During some recent JAWS testing, I encountered a “Call us” heading awkwardly pronounced as “Call U.S.”
The heading had been rendered with CSS
text-transform: uppercase, and I was surprised to confirm that this presentational transformation had bled into the accessibility tree.The CSS spec’s documentation for
text-transformstates:In the spirit of that specification, I propose adding a note to the accname spec (possibly to the Name from Content section) to clarify that the computed name must remain unaffected by
text-transformso that the author’s semantic casing decisions will be faithfully passed along to assistive technology.I’ve submitted a few WPT subtests to accompany this issue. As it turns out, all 3 major browsers engines let
text-transformaffect the computed name. 😅 If the working group agrees, I’ll draft an update to the accname spec and also create implementation bugs (or boost existing ones, such as this Chromium issue).