We checked 27 Nordic webshops. None of them were clean.
We loaded one page from each of thirty Danish and Swedish e-commerce sites in a real browser and ran an accessibility audit. Twenty-seven responded; three failed for technical reasons and are excluded rather than counted as passes. One page each, read-only, several seconds apart. It is the same thing any visitor's browser does.
We are not naming them. The point is not to embarrass twenty-seven companies; it is to show what the baseline actually looks like nine months after the European Accessibility Act became enforceable.
What we found
| Sites audited | 27 |
|---|---|
| Sites with zero issues | 0 |
| Total issues found | 407 |
| Median issues per site | 7 |
| Range | 1 – 74 |
| Sites with a control a keyboard user cannot operate | 4 (15%) |
| Sites with no skip-to-content link | 23 (85%) |
The spread is the interesting part. The best site had a single issue. The worst had seventy-four. Both are large, well-funded retailers with competent engineering teams. This is not a story about who cares and who doesn't. It is a story about what gets measured.
The honest part, which cuts against us
We built an audit engine, and we have written before about what axe-core, the engine behind almost every free accessibility checker, cannot see. So here is the number that matters, including the part that is inconvenient for us:
| On these 13 real sites | Issues | Share |
|---|---|---|
| Found by axe-core | 376 | 92% |
| Found only by our engine | 31 | 8% |
On real sites, a standard scanner finds the overwhelming majority of issues by count. If you are not running one, run one. axe-core is free, it is good, and it found 92% of what we found.
We have published a test on a deliberately broken page where our engine found 64 issues to axe's 13. That result is real, but it came from a fixture built to contain the failure classes axe misses. On twenty-seven sites nobody built for us, the ratio is 92/8. Both numbers are true; only one of them describes your website. We would rather publish the second one ourselves than have someone else point it out.
So why does the 7% matter?
Because 25 of 27 sites had at least one issue in it, and because of what lives there.
Most striking: four sites, roughly one in seven, had a control that a keyboard user simply cannot operate. Not "harder to use". Cannot operate.
On one major Nordic fashion retailer, this element:
<div class="store-select">Sendes til: Danmark</div>
It is the delivery-country selector, at the top of the page. It responds to a click. It is not in the tab order and it does not respond to Enter or Space.
A keyboard-only or screen-reader user cannot change their delivery country. On a cross-border retailer. Whether that stops the sale depends on what the default is and how the rest of the flow behaves. We tested one page, not a purchase, and we will not tell you we measured something we did not. But it is a control a customer needs and cannot reach.
axe-core reported that page as passing its keyboard checks, because detecting this requires comparing computed styles, event handlers and focusability together rather than inspecting the accessibility tree. It is not a flaw in axe; it is outside what a rules engine over that tree does.
That is the shape of the 7%: a small number of issues, over-represented among the ones that stop a purchase.
Three caveats we are not going to bury
- One page per site. Homepages, not checkouts. Checkout is where both money and regulators concentrate, and we did not test it. Testing someone's checkout without asking is not something we will do.
- Automated testing finds a minority of all WCAG issues. Common estimates are 25 to 50 percent. Everything above is the machine-detectable layer. The rest needs manual keyboard and screen-reader testing, and testing with disabled people.
- Twenty-seven sites is still a small sample. It shows a baseline, not a national statistic. We will not extrapolate it into a percentage of Danish e-commerce, and you should distrust anyone who does.
- Three sites could not be audited. Two had protocol errors and one had a DNS failure. They are excluded, not counted as passes. A site we could not load is not a site we found clean.
The test worth thirty seconds
Open your own site and try to complete a purchase using only Tab, Enter and Space. No mouse, no trackpad.
You do not need us or any tool to do that. Most people who try it find something.
Test one customer flow yourself
The automated checker used for this study is retired. The current free guide gives you a practical 90-minute method for testing one signup, onboarding, checkout, booking, upgrade, or invitation flow.
Use the free checklistIf you want an independent browser check, the current EUR 49 bug hunt covers one authorized flow and returns reproduced findings, exact steps, severity, and browser evidence.