Founding price: $35, then $79.99 after 23:59 UTC on 4 November, then $79.99
Get ProAccessibility is a release gate, not a later pass. These are the rules every component is built to.
<button>, <a href>, <input>,
<select>. When a native element can't do the job, the component follows
the matching WAI-ARIA Authoring Practices
pattern (tabs, listbox, combobox, dialog, slider, menu).aria-expanded, aria-controls and dismiss behaviour.<label>, aria-label or
aria-labelledby. Icon-only buttons always carry a label.aria-hidden so they don't add noise to a screen reader.focus-visible rings drawn from
--ring, never outline: none on its own.prefers-reduced-motion. Under reduced
motion, looping effects stop and entrances become a simple fade or appear
at once.See Motion and reduced motion for how to keep this true in your own code.
eslint-plugin-jsx-a11y runs on every file in CI.The quality page summarises these checks, and the verified table shows, for every registry item, whether it has tests, docs and a demo.
Automated tools catch only part of the problem. A pass means axe and our tests found nothing, not that a screen reader user has tried every flow. The tests don't judge whether focus order makes sense in your page, whether your labels are meaningful, or whether your content is clear. After you change a component, the checks describe our version, not yours, so test the screens you ship with a keyboard and a screen reader.