
Online shops · Directive (EU) 2019/882 · since 28 June 2025
The Accessibility Act for online shops: where the money actually leaks.
E-commerce is named explicitly in the Directive, which makes the legal question short and the practical one long. A shop is not one website: it is search, filters, a variant picker, a cart, a checkout split across four steps, a payment iframe from somebody else, an account area and a support channel. Each of those is a place where a customer using a keyboard or a screen reader can stop, and almost nobody hears about it when they do.
Seven days free, no card. Signed by Europe Services SE, Prague.
The purchase journey, step by step, and what breaks
| Step | Typical barrier | What the customer experiences |
|---|---|---|
| Search and filters | Results update silently after a filter change | A screen reader user hears nothing and assumes the site froze |
| Category listing | Infinite scroll with no keyboard route to the footer | Pagination and legal links become unreachable |
| Product page | Gallery operable only by swipe or hover | Images cannot be reviewed before buying |
| Variant picker | Colour or size as unlabelled swatches | The selection is made blind, or not at all |
| Cart | Quantity changes without announcement | The total is wrong and the customer does not know why |
| Checkout form | Placeholder instead of label, errors shown only in red | The order fails repeatedly with no explanation |
| Payment step | Third-party iframe with its own focus trap | The keyboard cannot leave or complete the payment |
| Confirmation | Success message not announced | The customer pays twice, or calls support |
Six of those eight are ordinary development work: labels, announcements, focus management. Two involve a supplier, and those are the ones worth raising with the supplier in writing, because you are not the only customer asking.


Platforms, themes and apps
Shop owners often ask whether their platform is compliant. It is the wrong question, because none of them ship a finished site. A modern shop is a base platform, a purchased theme, between five and thirty apps, and a set of customisations added over years by different people.
The theme
Decides headings, focus styles, contrast and the gallery. Most accessibility problems visible on a product page come from here.
The apps
Pop-ups, review widgets, size guides, chat, loyalty banners. Each injects markup nobody reviewed, often with its own focus behaviour.
The customisations
The quick fixes added for a campaign and never removed, which is where unlabelled buttons live.
The checkout
On some platforms partly locked down, which limits what you can change and makes documenting the limitation important.
This is why the audit tests your shop rather than your platform, and why the findings name the component responsible: you cannot brief an agency with a generic score.
What the statement says while you are still fixing
Very few shops pass a first audit cleanly, and the Directive does not expect them to. What it expects is a truthful description and a route for the customer. A statement published mid-remediation typically names three or four issues in plain language, gives the alternative available today, and a quarter for resolution.
The alternative matters more than shop owners expect. If the variant picker is not yet operable by keyboard, a phone line or an email address that can place the order is a real alternative, and saying so protects the customer and you. The annotated example shows exactly how that paragraph is written.


The commercial case, separate from the legal one
Set the Directive aside for a moment. A checkout that cannot be completed without a mouse fails for a wider group than people with registered disabilities: someone with a broken wrist, someone on a train using one hand, someone whose trackpad died, an older customer using keyboard navigation out of habit. None of them write to complain. They leave, and the analytics show an abandoned cart indistinguishable from a change of mind.
Accessibility work is unusual in that the same fix serves compliance and conversion. Labels reduce form errors for everyone. Announced totals reduce support calls. Visible focus reduces mis-clicks. The audit is priced as a compliance service because that is the deadline that gets it approved, but the return usually shows up in the funnel first.
What testing a shop actually involves
- A real basket. We buy something: search, filter, choose a variant, add, change the quantity, apply a code, reach payment. A test that stops at the product page misses everything that matters.
- Keyboard only. The same journey without touching the mouse, watching focus order, traps, skip links and the behaviour of every overlay and pop-up on the way.
- Screen reader. The journey again with assistive technology on desktop and on mobile, checking names, roles, states, announcements and error association.
- Stress conditions. Zoom to 400%, reflow at 320 pixels, increased text spacing, reduced motion, and the site in its dark mode if it has one.
- Support paths. Contact form, chat widget and help pages, because a barrier plus an unreachable support channel is a complaint waiting to happen.
The method is the one described on the audit page, applied to the flows where a shop earns money.


A realistic plan for a shop with three people and no accessibility budget
Week one: run the free scan, order the audit, answer the ten minutes of questions. Testing runs and the findings arrive with the signed statement, which goes online immediately listing what is open. Week two and three: your developer fixes the blocking items, which are usually two to four and usually small — a label, a focus style, an announcement on the cart. Week four: tell us, we re-test, the statement is reissued without those items.
From there it is maintenance. Each month the site is tested again; when the theme is updated or a new app is installed, you learn within weeks rather than at the next complaint. The cost stays at the annual plan price and the work stays inside the normal release rhythm, which is the only way this survives in a small team.
If you sell in Ontario as well, the same testing feeds the record described on the AODA page, and the plan that covers all three regions keeps one renewal date.
Five findings we see in almost every shop
None of what follows comes from a checklist of theoretical criteria. These are the items that appear, in some form, in nearly every first audit of a working shop, regardless of platform or budget.
The filter that updates silently. A customer selects a size, the grid refreshes, and nothing is announced. Sighted users see the change; everyone else waits. The fix is a live region and a short message stating how many products remain, and it takes a developer an hour.
The swatch without a name. Colour options rendered as coloured squares with no text. To a screen reader they are unlabelled buttons, so the customer chooses at random or abandons. Adding the colour name as accessible text costs nothing and also helps people who do not distinguish the shades visually.
The discount code error. The code is rejected, the message appears in small red text above the field, and it is neither announced nor linked to the input. The customer retypes the same code three times and leaves convinced the site is broken.
The pop-up that arrives on scroll. Newsletter overlays typically take focus without returning it, so keyboard users end up trapped behind a modal they cannot close. This is the single most common blocking issue we find, and it is usually installed by marketing rather than engineering.
The confirmation nobody hears. Payment succeeds, the page updates in place, and the success message is a visual banner with no announcement. Support then receives a call asking whether the order went through, which costs more per incident than the fix.

A sixth deserves its own line because it is invisible until someone tries: the session timer. Checkouts that expire a basket after a fixed period are common, and for a customer who types slowly, uses speech input or reads with a screen reader, a ten-minute window is not generous. The Directive does not ban timers; it asks that the user can extend them. A single control offering more time solves it, and it also rescues the sighted customer interrupted by a phone call.
Who owns this inside a shop
In practice three teams touch the same pages. Marketing installs apps and campaign banners, the agency owns the theme, and a platform vendor owns the checkout. When nobody owns accessibility, each change is safe in isolation and the sum is a barrier. The organisations that keep a clean result do one simple thing: the monthly test result goes to a named person who decides, every month, whether anything new needs a ticket. It takes ten minutes and it prevents the annual rediscovery of the same problems.
Questions from shop owners
Does the EAA apply to my online shop?
If you sell goods or services to consumers in the European Union through a website or an app, yes, unless you are a microenterprise providing services only.
What counts as a microenterprise?
Fewer than 10 people and annual turnover or balance sheet total not above 2 million euro. The relief covers services, not products placed on the market.
I sell from outside the EU. Am I covered?
Yes. The obligation follows the market you sell into, not where the company is registered.
Which parts of the shop are tested?
Everything a customer touches: search, category and product pages, variant pickers, cart, checkout, account creation, order tracking and the help channels.
Is the checkout really the critical part?
Yes. It concentrates forms, error handling, timers and payment iframes, which is where most blocking barriers are found.
What about a payment provider iframe?
It is part of your customer journey. If it is inaccessible, your customer cannot pay, and the finding is reported even though the code is the provider's.
Do marketplaces change anything?
Selling through a marketplace does not remove your own obligations for your own website and app.
Does Shopify or WooCommerce make me compliant?
No platform is compliant or non-compliant by itself. Themes, apps and customisations decide the result.
Are product images a problem?
Only when meaning is carried by the image alone: size charts, ingredient tables, care instructions as pictures.
What about video?
Product video needs captions when it carries information, and controls that work with a keyboard.
How long does the audit take?
Five business days from a complete order form.
What do I publish at the end?
An accessibility statement describing the tested state, the open barriers and the alternatives, with a feedback channel.
Can I be fined?
Penalties are set by each member state and vary. Orders to comply are the more common first step.
How much does this cost?
690 € a year for the EU, 1,290 € for three domains and six languages, 1,990 € including the UK and Canada.
Do you fix my theme?
No. We test, document and sign. Your developer or agency implements the changes from our prioritised list.
What if my shop is seasonal?
The monthly re-test matters more, not less: campaign pages and pop-ups are where new barriers appear.
Can I start before the fixes?
Yes. The statement can go online with the barriers listed and the alternatives, which is exactly what Annex V expects.
Where do I start?
The free scan, then the order form. Ten minutes of questions and testing starts the same day.