Key findings
- 89.5% of the 497 tested web shops (445 shops) have at least one level A or AA WCAG error on the home page that axe-core detects automatically. In 445 of those 445 shops, at least one of the errors is rated serious or critical by axe-core.
- On average we found 2.7 different types of error per web shop (median 2), spread over an average of 25.6 elements (median 10).
- The most common error: links without discernible text, in 69.6% of the shops. Next come buttons without a name (37.6%) and images without alternative text (27.8%).
- 80.3% have no link on the home page to an accessibility statement or any other page about accessibility.
- 1.4% do not declare the language of the page in the HTML (no
langattribute). - 52 web shops (10.5%) had no automatically detected error. That does not mean those shops are accessible: automated tests only find part of the problems (see the limitations).
The most common errors explained
The errors we found most often are not exotic edge cases. They are basic problems that directly affect screen reader and voice control users, and they usually live in a theme or template. One change in the code then fixes them on every page at once.
Links without discernible text (69.6%). A link that consists only of an icon or image, with no text, aria-label or alternative text. Think of the cart icon, the logo, social media icons or a product image that links to the product page. A screen reader then announces just "link" or the URL. Success criteria 2.4.4 and 4.1.2, level A.
Buttons without a name (37.6%). The same problem for buttons: a search button with only a magnifying glass, a hamburger menu button, slider arrows. Success criterion 4.1.2, level A.
Images without alternative text (27.8%). An <img> without an alt attribute. In a web shop that often means product photos and banners with text in them. A decorative image gets an empty alt=""; an informative image gets a short description. Success criterion 1.1.1, level A.
Broken lists (22.7% and 9.5%). A <ul> or <ol> with elements other than <li> directly inside, or an <li> outside a list. Assistive technology then announces the wrong number of items or no list at all. This is common in menus and product carousels. Success criterion 1.3.1, level A.
Zoom disabled (17.5%). A meta viewport with user-scalable=no or a low maximum-scale, so visitors on a phone cannot zoom in. Success criterion 1.4.4, level AA.
Form fields without a label (14.7%). Usually the search field or the newsletter sign-up field, with only a placeholder. Success criterion 4.1.2, level A.
89.5% of the web shops have at least one error on a criterion that is already part of WCAG 2.1, the version the current EN 301 549 refers to. More examples and the fix for each error are in the article on the most common accessibility errors.
Accessibility statement and language
A web shop covered by the European Accessibility Act has to provide information on how its service meets the accessibility requirements. In practice that means an accessibility statement. We checked whether the home page contains a link with "accessibility" or the Dutch "toegankelijkheid" in the link text or address. 98 web shops (19.7%) had one, 399 (80.3%) did not.
This is a simple measurement: we did not assess the statement itself, and a statement may sit elsewhere on the site, for example in the customer service section. Still, the home page footer is where visitors and regulators look first. How to write one is covered in the article on the accessibility statement.
The lang attribute was missing in 7 web shops (1.4%). Without it, a screen reader picks a pronunciation itself, which makes Dutch text read by an English voice unintelligible (success criterion 3.1.1).
What does this mean for the EAA?
Since 28 June 2025, web shops selling to consumers in the EU have to be accessible under the European Accessibility Act. Microenterprises (fewer than 10 employees and an annual turnover or balance sheet total of at most 2 million euros) are exempt for services. In the Netherlands, the ACM (Authority for Consumers and Markets) supervises e-commerce services.
Through the European standard EN 301 549, the EAA refers to WCAG level A and AA. The errors we found are exactly the kind of errors a web shop has to fix under the EAA. 89.5% of the tested web shops have automatically detected WCAG errors that must be fixed under the EAA (EN 301 549), insofar as the shop is covered by the law.
What this study does not say: which shops do or do not meet the EAA. That takes a full evaluation, including manual testing of the checkout, keyboard operation and colour contrast. We also do not know which shops are microenterprises. And the other way round: a shop without automatically detected errors can still be inaccessible.
Do you also sell to customers in the United States? There the ADA applies, with its own lawsuits and a different legal basis. See the article on ADA compliance for European businesses.
Method
Selection. We took the Tranco list PYK6J (2026-09-30 – 2026-10-29), a research list of popular domains, and went through the domains ending in .nl in rank order. For each domain we fetched the home page. A site counted as a web shop if its HTML contains a cart or checkout link to its own site, plus at least one other signal: Product or Offer schema, a known shop platform in the source code, an add-to-cart button, or at least three prices in euros. We stopped at 500 web shops. To get there we checked 5,198 domains; 636 of them (12.2%) returned no usable page, for example because they block automated requests.
Test. Only the home page of each web shop, fetched with the user agent FlowproofResearch/1.0 (+https://flowproof.nl/methode), with a timeout and at most six requests at a time. On the HTML we ran Deque's axe-core 4.14.0 with the rules for WCAG 2.0, 2.1 and 2.2 level A and AA. These are exactly the checks of the free WCAG checker and the accessibility part of the Flowproof scan. For 3 web shops the test did not finish in time; they are not counted.
What counts as an error. A web shop counts as "with an error" if axe-core finds at least one violation of a rule mapped to a WCAG success criterion at level A or AA. Results that need human review ("incomplete" in axe-core) do not count.
Privacy. We do not name individual web shops. We do not publish per-domain results.
Limitations
- Automated tests find part of the problems. No tool can tell whether alt text is accurate, whether the checkout works with a keyboard alone or whether error messages make sense. The real number of problems is therefore higher. Read more about accessibility testing.
- No colour contrast. Contrast needs a real browser with all CSS and fonts. That check is off, so a common error is missing from these figures.
- Server HTML only. We do not run JavaScript or load external stylesheets. Content that only appears through JavaScript is not tested. Elements hidden only by an external stylesheet are tested even though a visitor does not see them, which can add the odd error too many.
- Home page only. Product pages, filters, the cart and the checkout were not tested, while that is often where the hardest problems are.
- Selection. The Tranco list measures popularity, not revenue. Web shops that block automated requests or only show the cart through JavaScript fall outside the selection. Our filter may also include a site that is not a classic web shop.
- Snapshot. Sites change daily. The figures apply to 30 October 2026.
Test it yourself
Want to know how your web shop does on the same checks? The free WCAG checker tests any page in a few seconds, without an account. Start with the home page, a product page and the cart. How to continue with manual testing is covered in the guide to accessibility testing.