Almost every accessibility conversation starts with the law, and that is a mistake — not because the legal exposure is not real, but because it frames the whole thing as a cost of avoiding punishment. Framed that way, accessibility competes with every other item on the roadmap and loses, right up until a demand letter arrives.
The commercial framing is stronger and considerably harder to argue with. An interface somebody cannot operate is an interface they cannot buy from. That is not a compliance issue. That is a conversion issue, and it is already showing up in your numbers — you simply cannot see it, because the people it affects do not file a support ticket. They leave.
The size of the audience
Roughly one in four adults in the United States reports a disability. Not all of those affect web use, but the ones that do are extremely common: low vision, colour vision deficiency, motor impairments that make precise pointing difficult, and the cognitive load differences that make a cluttered checkout genuinely hard to complete.
Then add the far larger group nobody counts — the temporary and situational cases. A cracked screen. Bright sunlight. One hand on a phone and one on a steering wheel. A noisy room where captions are the only way video works. Every fix aimed at permanent disability catches all of those too.
Accessibility work is the rare intervention that improves the experience for people who were never going to notice it.
The failures are boring and they are everywhere
Accessibility sounds specialised, which makes people assume the problems are exotic. They are not. In audit after audit, the same handful of issues account for most of the damage.
Text nobody can read
Low-contrast text is the single most common finding, and it is almost always the result of a designer choosing a muted grey that looked elegant on a good monitor in a dark room. The standard asks for a contrast ratio of 4.5:1 for body text. Plenty of shipped designs sit around 3:1 and nobody measured, because measuring requires knowing that you should.
We recently ran this measurement across our own site and found body copy sitting at 3.3:1. It had been reviewed by people who care about this. It still shipped. That is how quiet this failure is.
Things that only respond to a mouse
A div with a click handler is invisible to a keyboard. It cannot be tabbed to, it does not respond to Enter, and a screen reader announces nothing useful. Accordions, custom dropdowns, modals, and image carousels are the usual offenders, and the content behind them is simply unreachable for anyone not using a pointer.
Focus you cannot see
Someone at some point decided the browser's focus outline was ugly and wrote outline: none. Now a keyboard user is navigating a page with no indication of where they are. This is a two-line fix and it is one of the most disabling things a stylesheet can do.
Motion that erases the page
Scroll-triggered entrance animations usually start elements at zero opacity and fade them in. If the animation does not run — because the visitor asked for reduced motion, or the scroll library was configured slightly wrong — the content stays invisible. The page is not slow or ugly. It is blank, and it is blank specifically for people with vestibular conditions who turned motion off for medical reasons.
Forms that do not say what went wrong
A field outlined in red communicates nothing to a screen reader and nothing at all to someone with a colour vision deficiency. Errors need text, the text needs to be associated with the field programmatically, and it needs to say what to do rather than that something is invalid.
Where the revenue actually leaks
Not evenly across the site. The damage concentrates precisely where money changes hands:
- Checkout and enquiry forms. The highest-intent moment on the site is also the most interaction-dense, so it fails hardest.
- Filtering and search. Custom controls are the most likely thing on a page to be keyboard-inaccessible, and someone who cannot filter cannot find the product.
- Anything behind a modal. Focus trapping is easy to get wrong, and getting it wrong means a user can tab out of the dialog into a page they cannot see.
- Content revealed on hover. There is no hover on touch and no hover on a keyboard. If the content matters, that is content you have hidden from a large group of people.
None of this generates complaints. A blocked user leaves and buys from a competitor whose checkout worked, and your analytics records an ordinary abandonment.
What it costs to fix
Far less than people expect on a well-built site, and considerably more on a badly built one — which is itself diagnostic. Accessibility problems are usually symptoms of the same underlying thing that causes the performance and maintenance problems: markup that describes appearance rather than meaning.
Built in from the start, WCAG 2.1 AA adds very little to a project. Semantic HTML, real buttons, labelled inputs, measured contrast, and honouring the reduced-motion preference are not exotic techniques; they are what careful development already looks like. Retrofitted onto a site made of nested divs and hover states, it is a genuine project — and occasionally the honest answer is that rebuilding costs less than remediating.
Where to start
Three things you can check this afternoon, without buying anything:
- Put the mouse down. Tab through your homepage and your checkout. Can you see where focus is at every step? Can you reach and operate everything? Most sites fail inside thirty seconds.
- Measure your body text contrast. One ratio, one calculator. If it is under 4.5:1, that is the highest-leverage fix available to you and it is a colour value.
- Turn on reduced motion in your operating system and reload. If sections of the page are now blank, your entrance animations are load-bearing and that is a serious bug.
That is not an audit — it will not find semantics or form-error problems — but it finds the failures that block the most people, and it costs an afternoon. If you would rather have the full picture, our accessibility remediation work covers audit and fix, and a URL is enough to start — you get the findings within 24 hours either way.