Assistive technology must still receive the untruncated string
Aliases: screen reader ellipsis · accessible name versus visible text · AT full string
What it is
The ellipsis on screen and the name in assistive technology are two different objects. Paint may hide the second half; if the accessible name follows the visible stub, a screen reader speaks Project prop… as if that were the title. Someone who cannot see the display has no leftover-guessing strategy. They need the source string. The visual layer may compress. Name computation must still be handed the unclipped value.
Why it happens
Platforms compute “glyphs drawn” and “name in the accessibility tree” on separate paths. Some native labels still expose the full string when a line-break mode truncates drawing. On the web, mutating a node’s text into a short ellipsized sentence destroys the source. Overflow ellipsis that clips drawing without rewriting the text node usually leaves name computation intact — unless aria-label is set to the visible stub, or a virtualized list mounts only the on-screen substring. Glyphs stroked onto a canvas are worse: the tree often has no string at all. Hover bubbles are not a reclaim path for reader users, because focus never enters the bubble. “Clipped on screen, complete in the name” therefore has to be an explicit data flow, not a hope that paint will stay in sync.
Where it stops holding
If the backend only shipped twenty characters, assistive technology cannot invent the rest — that is data truncation, not paint truncation. Passwords, identity numbers, and redacted fields must not be spoken in full. A thousand-word description dumped into speech is a burden; a short name plus an expand control the reader can activate is the workable shape. Drawing the ellipsis in a pseudo-element while the text node stays whole is usually already enough. The real failures cluster on rewritten strings, canvas text, and accessible names set to the stub.
Applying it
- Keep ellipsis in the paint path. Do not write
…into the model string, and do not overwrite the accessible name with the stub. - In an accessibility inspector, line up three columns: source, visible text, computed name. The name must equal the source, not the ellipsized visible text.
- Walk every ellipsized row with one screen reader. If it speaks the word “ellipsis” or a stub, the paint layer has leaked into the name.
Related
- Same group: F4.10.1 Where a string is cut decides whether the leftover is still usable · F4.10.2 Middle ellipsis keeps the distinctive start and end · F4.10.3 Truncated copy still needs a path to the full string · F4.10.4 Decision-critical text such as prices and warnings must not be truncated · F4.10.6 CJK characters pack more meaning per glyph, so the same character budget loses more · F4.10.7 Multiline clamp must recast with type size, not a fixed pixel height
- Nearby: J5.10 Name, role, and state · J5.01 Screen readers
- Search terms:
untruncated accessible name·ellipsis screen reader·accessible name computation
Cards in the same group
- F4.10.1Where a string is cut decides whether the leftover is still usable
- F4.10.2Middle ellipsis keeps the distinctive start and end
- F4.10.3Truncated copy still needs a path to the full string
- F4.10.4Decision-critical text such as prices and warnings must not be truncated
- F4.10.6CJK characters pack more meaning per glyph, so the same character budget loses more
- F4.10.7Multiline clamp must recast with type size, not a fixed pixel height