Skip to main content

React accessibility guide

Components compile to HTML. Tests in CI help, but the shipped DOM is what assistive tech receives.

Run a free scan

Scan a staging or production URL after each meaningful UI change.

Names and roles

Prefer native elements. When you must use divs, wire aria-* carefully and validate in the accessibility tree.

Focus and modals

Move focus into dialogs, trap it while open, and restore on close. Announce async updates with live regions when needed.

Common issues

Empty icon buttons, custom selects without keyboard support, and route changes that do not move focus.

Fixes

Extract accessible primitives, add Storybook a11y checks, and keep a short keyboard script for releases.

Questions people ask

jsx-a11y?
Keep it; scans still add a real-page safety net.
RSC?
Server output is still scanned as HTML.

Keep reading