Skip to content

Research · 30 October 2026

How accessible are Dutch web shops? A study of 497 shops

On 30 October 2026 we fetched the home pages of 500 Dutch web shops and tested them with axe-core against the rules for WCAG 2.2 level A and AA, the same checks as our free WCAG checker. 497 home pages could be tested completely. Below are the totals, the most common errors, the method and the limitations.

497 web shops with a .nl domain from Tranco list PYK6J · home page · axe-core 4.14.0, WCAG 2.2 A and AA

have at least one automatically detected WCAG A/AA error on the home page
89.5%
have links without discernible text, the most common error
69.6%
different types of error per web shop, on average
2.7
have no link to an accessibility statement on the home page
80.3%
Go to the free WCAG checker

The same checks as in this study, for any page. Free and without an account.

The most common errors

Share of the 497 tested web shops with at least one error of this type on the home page, with the WCAG success criterion and level.

The most common errors
Error (axe rule)Success criterionWeb shops
Links must have discernible text link-name2.4.4 Link Purpose (In Context); 4.1.2 Name, Role, Value (A)69.6%
Buttons must have discernible text button-name4.1.2 Name, Role, Value (A)37.6%
Images must have alternative text image-alt1.1.1 Non-text Content (A)27.8%
<ul> and <ol> must only directly contain <li>, <script> or <template> elements list1.3.1 Info and Relationships (A)22.7%
Zooming and scaling must not be disabled meta-viewport1.4.4 Resize Text (AA)17.5%
Form elements must have labels label4.1.2 Name, Role, Value (A)14.7%
<li> elements must be contained in a <ul> or <ol> listitem1.3.1 Info and Relationships (A)9.5%
Frames must have an accessible name frame-title4.1.2 Name, Role, Value (A)8.7%
Certain ARIA roles must contain particular children aria-required-children1.3.1 Info and Relationships (A)8.5%
Elements must only use supported ARIA attributes aria-allowed-attr4.1.2 Name, Role, Value (A)7%

Colour contrast is not in the table: it can only be measured in a real browser and we did not test it. An error counts once per web shop, however many elements are affected.

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 lang attribute).
  • 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.

Study: accessibility of 497 Dutch web shops (WCAG)