Accessibility moved from good practice to legal obligation for a large set of businesses selling into the European Union. If you sell to EU consumers, this applies whether or not you are based there. Not legal advice; get some if you are unsure whether you are in scope.
Who is covered
Broadly, consumer-facing digital products and services sold in the EU: e-commerce, banking, transport ticketing, e-books, and telecoms among others. Microenterprises providing services have an exemption in most cases, and "we are not based in the EU" is not one of the exemptions.
What compliance actually means
In practice it means meeting WCAG 2.1 or 2.2 at level AA. That standard is long, but the bulk of real-world failures come from a short list.
- 01Keyboard access. Everything usable without a mouse, with a visible focus indicator. Custom dropdowns, modals and carousels are where this usually breaks.
- 02Colour contrast. Text against its background at 4.5:1 for normal sizes. Light grey placeholder text fails almost everywhere.
- 03Text alternatives. Meaningful alt text on images that carry information, and empty alt on decorative ones.
- 04Form labels. Programmatically associated, not just visually adjacent. Placeholder text is not a label.
- 05Error identification. Errors described in text, not conveyed by colour alone.
- 06Structure. Real headings in order, real lists, real buttons. A div with a click handler is not a button.
Where sites fail most often
| Area | Typical failure |
|---|---|
| Checkout | Custom selects and date pickers unusable by keyboard |
| Modals | Focus not trapped, Escape does nothing, focus lost on close |
| Product filters | State changes not announced to screen readers |
| Images | Alt text that repeats the filename or the product title verbatim |
| Third-party widgets | Review, chat and consent tools that are inaccessible and not yours to fix |
That last row is the one to check early. If a bought-in widget fails, your options are to pressure the vendor, replace it, or build your own, and all three take longer than a code fix.
Where to start
- 01Run an automated scan. It will find perhaps a third of issues, and that third is real and cheap to fix.
- 02Try your own checkout with the keyboard only. No mouse, no trackpad. This finds more than any tool.
- 03Check contrast across the design system rather than page by page. It is usually one or two token values.
- 04Audit third-party components, because they have the longest lead time.
- 05Get a manual audit if you are in scope. Automated tools cannot assess whether alt text is meaningful.
The part worth saying plainly
Retrofitting accessibility costs several times what building it in costs, and the expensive parts are structural: how components are built, how state changes are announced. If you have a build coming, this is the cheapest moment it will ever be.
Working on something like this?
We build websites, stores and custom applications, and we will tell you honestly if the thing you are describing does not need one.