Services · By journey
Design System Audit: Fix It Once, Fix It Everywhere
For the product org with a component library, where one accessible button fixes a thousand screens and one broken one breaks them all. Scope is counted in components rather than URLs, and we agree the list before anything is charged.
What We Keep Finding
Design systems multiply accessibility in both directions. Every component ships its behavior to every product that adopts it, the good, the bad, and the untested. A modal with focus handled properly is a gift that keeps arriving. A select that cannot be operated by keyboard is a defect with a distribution network.
Auditing the system beats auditing its outputs, and the reason is written into the standard. Conformance is defined for a web page, and a component is not one, so a library can never be declared conformant on its own terms. What it can be is correct, which is the thing that decides whether the pages built from it stand a chance. Auditing 20 components covers more ground than auditing 200 pages, and the fixes land at the source.
There is a measured argument for auditing the ARIA specifically. In a sweep of a million home pages, the ones using ARIA averaged 59.1 detected errors against 42 for the ones without. That is a correlation on real pages rather than proof that ARIA causes harm, and the reading that survives is the obvious one. ARIA is what teams reach for when they build custom components, and custom components are where things break.
One thing to know before your team writes tickets from W3C's reference patterns. There are 30 of them, and five components a modern library almost always contains are not among them, so no pagination, no drag and drop, no site search, no toast, no date picker. Every example page also carries a note that its code is not meant for production and deliberately does not work around gaps in assistive technology support. For those five, there is no canonical answer to copy, and we would rather tell you that than send you to a page that does not exist.
What We Check
- Test each core component, so buttons, inputs, selects, modals, tabs, menus
- Verify names, roles, states, and keyboard paths per component
- Check composition, meaning components working together rather than only alone
- Watch for the double announcement, where a component that moves focus sits inside a live region
- Audit tokens for contrast, so text, borders, and focus indicators
- Measure target-size tokens against 24 by 24, spacing exception included
- Deliver per-component tickets your maintainers can ship directly
What You Get
Every service on this site runs the same three-pass engine: an automated scan, an expert review of all 55 WCAG 2.2 A and AA rules, and a hands-on session with a professional blind screen-reader user. You get one report with every finding screenshotted, ranked by user impact, and linked to its fix. Your team fixes, we verify: the re-audit is half price within 3 months.
The format is not a mystery either. Read the sample report before you spend anything.
The Honest Limit
One honest limit, and the arithmetic to go with it. A clean system does not guarantee clean products, because teams can still assemble accessible parts into an inaccessible page. Focus order across a whole page is exactly the kind of thing no single component can fix. The system audit removes the excuse and shrinks the problem. A follow-up product audit confirms the assembly. On scope, 20 components is more than a Rapid Audit's 10 slots and fits inside a Standard's 25. And if your library lives in a Storybook on an internal host, the free scan cannot reach it at all, so send us the address when we confirm scope.
What It Costs
Rapid Audit: $499, up to 10 pages you pick, report in 5 business days. Standard Audit: $1,499, up to 25 pages in 10 business days. Flat rates, no discovery calls, and a real blind screen-reader user on every engagement. Pick your pages. We bring the humans.
Worth Reading Next
Related on this site
Guides, checklists, tools, and terms that go with this service.