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
  1. 01Your appYour app changes

    A response starts, a tool runs, or an error occurs

  2. 02AdapterAdapter sends an event

    It sends a standard event with a stable ID

  3. 03RuntimeCore prepares an update

    It chooses useful text and controls the timing

  4. 04BrowserDOM updates the page

    It uses ariaNotify or a live region

  5. 05Screen readerA screen reader may speak it

    Test this step with the screen readers you support

Automated tests can confirm that the library updated the page. Test with real screen readers to confirm what people hear.

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.