generative-a11y

Compatibility

Check supported framework ranges, server behavior, and the limits of automated browser coverage.

Tested integration matrix

Use these ranges when choosing an adapter for an existing app. A checked version is the repository's pinned dependency, not a claim that every version in its range has been tested.

IntegrationDeclared peer rangeChecked version
React / React DOM^18.2.0 or ^19.0.019.2.8
AI SDKai >=7.0.0 <7.1.0 / @ai-sdk/react >=4.0.0 <4.1.07.0.77 / 4.0.80
assistant-ui@assistant-ui/core >=0.3.13 <0.4.00.3.15
AG-UI@ag-ui/client >=0.0.59 <0.0.600.0.59

All published packages require Node.js 22+. Host frameworks can have additional peers; the AI SDK guide lists its Zod requirements. Install instructions in each integration guide assume an existing working host app.

CopilotKit reuses the AG-UI adapter through its public v2 hook. This repository does not pin or typecheck a CopilotKit host version; validate its hook and resolved AG-UI dependency in your app. Retest these ranges when changing framework dependencies.

Browser and server support

LayerServer behaviorBrowser behavior
CoreRuns without browser globalsSchedules normalized events
DOMStays inactive when document is unavailableDelivers live-region updates
ReactRenders stable hidden regionsConnects runtime delivery after hydration
AdaptersImports do not require browser globalsObserve the host state or callbacks you supply

Keep providers and browser effects within a client boundary in React Server Components applications. Framework-neutral integrations should attach browser delivery when their surface mounts and dispose it when that surface unmounts.

Automated browser tests have limits

EngineAutomated coverageRequired manual evidence
ChromiumKeyboard, focus, structure, DOM deliveryNamed browser and screen-reader workflow
FirefoxKeyboard, focus, structure, DOM deliveryNamed browser and screen-reader workflow
WebKitKeyboard, focus, structure, DOM deliverySafari and platform screen-reader workflow

Browser output is not speech evidence

WebKit provides useful coverage, but it cannot replace Safari testing with a real screen reader. Browser transcripts record DOM delivery and deterministic tests record library behavior; neither proves what assistive technology speaks. Record hands-on browser and screen-reader results separately.

Development package compatibility

EntryDependency requirementPurpose
@generative-a11y/devtoolsCore dependency; package declares React / React DOM ^19.0.0 peersHeadless bounded diagnostic store
@generative-a11y/devtools/overlayReact / React DOM ^19.0.0Browser trace explorer
@generative-a11y/core/testingNo test-runner peer; pass your Vitest expect for matchersRecord, replay, and semantic assertions

The headless store uses public core contracts. React peers are declared at the package level, even when importing only the headless entry. The overlay's React requirement is narrower than the React accessibility provider's range. Testing helpers accept Vitest structurally and do not add a test-runner dependency to core.