Choose an integration
Choose the adapter and delivery layer that connect your existing AI interface to generative-a11y.
Start with the framework your app uses
Choose the guide that matches the public state or callbacks your app exposes. Each guide starts with installation and a minimal integration for your existing UI.
| Your app | Guide | Accessibility packages for that example |
|---|---|---|
| Custom JavaScript | Dispatch your app's events | core + dom |
| React with app-owned events | Add a provider | react |
AI SDK useChat | Connect chat state and callbacks | react + ai-sdk |
| assistant-ui thread runtime | Observe the public thread | core + dom + assistant-ui |
| AG-UI agent | Subscribe to protocol callbacks | core + dom + ag-ui |
| CopilotKit agent | Connect the v2 agent hook | react + ag-ui |
Package names above use the @generative-a11y/ prefix. Your app supplies its
framework dependencies and backend. Check compatibility
before installing an adapter into an existing dependency tree.
Install only the layers you use
Core schedules events; DOM delivers them to browser live regions. React's
A11yProvider owns both. Adapters translate host state into events and borrow the
runtime you supply.
Install each package your own code imports. Core and DOM are transitive dependencies of the React package, so a provider-based integration does not need to declare them unless it imports them directly. Framework-neutral examples import core and DOM themselves and therefore list both in their install command.
Keep one delivery layer per runtime. Adapters preserve the host application's visible UI and do not supply message rendering, composer controls, or focus navigation.
Check which events the adapter can see
| Integration | Confirmed evidence | Limits to check |
|---|---|---|
| Custom / React | Events your app dispatches | Your callbacks must confirm each event |
| AI SDK | Response text, terminal callbacks, tools, approvals, sources | Retry and regenerate detection unavailable |
| assistant-ui | Thread messages, known final states, tools, approvals, sources | Run hierarchy, retry, and connection events unavailable |
| AG-UI / CopilotKit | Runs, subagents, text, tools, interrupts | Steps and hierarchy partial; retries unavailable |
Adapters do not infer lifecycle from rendered text, elapsed time, or private framework fields. Use explicit core events when your app has additional evidence, and keep IDs consistent with any adapter sharing that runtime.
Each adapter reference describes its evidence levels, including AG-UI fidelity. Browser transcripts verify delivery writes; real assistive-technology testing is still required to establish spoken behavior.