generative-a11y

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 appGuideAccessibility packages for that example
Custom JavaScriptDispatch your app's eventscore + dom
React with app-owned eventsAdd a providerreact
AI SDK useChatConnect chat state and callbacksreact + ai-sdk
assistant-ui thread runtimeObserve the public threadcore + dom + assistant-ui
AG-UI agentSubscribe to protocol callbackscore + dom + ag-ui
CopilotKit agentConnect the v2 agent hookreact + 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

IntegrationConfirmed evidenceLimits to check
Custom / ReactEvents your app dispatchesYour callbacks must confirm each event
AI SDKResponse text, terminal callbacks, tools, approvals, sourcesRetry and regenerate detection unavailable
assistant-uiThread messages, known final states, tools, approvals, sourcesRun hierarchy, retry, and connection events unavailable
AG-UI / CopilotKitRuns, subagents, text, tools, interruptsSteps 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.