Pattern #29 · Accessibility

Design streaming AI responses for screen readers, not just for the eye

A live region full of tokens is a stutter, not an answer.

Track Aaccessibilityscreen-readersstreamingaria-livechatbotsconversational-ui

Do

Let the text render silently while it streams, announce a short generating status once, then announce the completed response through a single polite live region.

Don't

Point aria-live at the element receiving tokens. Every partial update becomes an announcement, which is a stutter with a word count.

The rule. Stream the text visually if you like, but announce it to assistive technology in completed units: the live region gets the finished response (or finished chunks), never the token stream.

Why. ARIA live regions announce dynamic content changes, and the polite setting is intended for updates that are "not so rapid as to be annoying"; by default only the changed part of a region is announced, and with aria-atomic set to true the entire region is re-announced on every update (Mozilla Developer Network, 2026). Point either configuration at a container that changes with every token and the listener gets context-free fragments or an ever-growing re-read. Guidance for conversational interfaces frames announcements at the message level: MITRE's playbook recommends alerting users to new messages, with ARIA live tags announcing messages, not keystrokes of output (The MITRE Corporation, 2021). W3C's accessibility user requirements for natural language interfaces add the after-the-stream duties: output available as text, speech, or braille, and a conversation history the user can review in full (W3C, 2022).

Seen in the wild. A March 2026 NVDA audit of claude.ai logged the inverse failure, completion never announced at all, and classed it as the most consequential barrier in routine use (Wiscer, 2026).

References

  1. 01

    Mozilla Developer Network. (2026, September 11). ARIA live regions. MDN Web Docs. https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Guides/Live_regions

    https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Guides/Live_regions
  2. 02

    The MITRE Corporation. (2021). Chatbot accessibility playbook. https://mitre.github.io/chatbot-accessibility-playbook/

    https://mitre.github.io/chatbot-accessibility-playbook/
  3. 03

    W3C. (2022, September 3). Natural language interface accessibility user requirements (Group Draft Note). https://www.w3.org/TR/naur/

    https://www.w3.org/TR/naur/
  4. 04

    Wiscer. (2026, March 4). Screen reader experience analysis on claude.ai. DEV Community. https://dev.to/wiscer/screen-reader-experience-analysis-on-claudeai-433a

    https://dev.to/wiscer/screen-reader-experience-analysis-on-claudeai-433a