Concepts
Accessibility model and architecture
See how an event from your app becomes a clear, well-timed screen-reader update.
From an app event to a screen-reader update
AI framework → standard events → core runtime → browser delivery → screen reader.
An adapter reads events from your framework. Core chooses useful updates, removes repeats, and controls timing. DOM adds each update without changing your visible interface.
How an app update becomes a screen-reader updateRead left to right
- 01Your appYour app changes
A response starts, a tool runs, or an error occurs
- 02AdapterAdapter sends an event
It sends a standard event with a stable ID
- 03RuntimeCore prepares an update
It chooses useful text and controls the timing
- 04BrowserDOM updates the page
It uses ariaNotify or a live region
- 05Screen readerA screen reader may speak it
Test this step with the screen readers you support
Report only what the app knows
generative-a11y turns confirmed app events into screen-reader updates. It records each update added to the page. Test with real screen readers to confirm what they speak.
- Core does not use the DOM.
- Adapters do not run framework actions or control your interface.
- Streaming and status changes do not move focus.
- generative-a11y does not copy backend errors or tool results into announcements.