Skip to content

Original research

German webshop accessibility, 2026

Since 28 June 2025 the BFSG has applied to many online shops that sell to consumers in Germany. We tested 9,614 shops on .de domains — homepage, category, product page and cart, not just the front page — and looked at what fails, where it fails and what fixes the most.

Data collected September 29, 2026 – October 13, 2026 · axe-core 4.13.0 · WCAG 2.2 A/AA rules

Key findings

97%

of shops had at least one barrier an automated test can find

63.6%

had a critical barrier — a button, form field or image with no accessible name

86.7%

of shops with three or more tested pages had no page free of serious or critical barriers

9,614

German webshops tested (31,646 pages)

Percentages are of 9,614 confirmed webshops on .de domains. The critical-barrier figure carries a 95% confidence interval of 62.6–64.5%.

The buying path: the product page is the weak spot

A shop can have a tidy homepage and still be hard to buy from. Among the shops where we tested both a product page and the cart, 55.9% had a critical barrier on the product page, against 33.7% in the cart. Product pages typically hold the most interactive parts — galleries, variant pickers, reviews; the cart is simpler.

Share of shops with at least one critical barrier, by page type
Page typeShops testedWith a critical barrier
Homepage9,61448.5%
Category page8,49245%
Product page6,95258.8%
Cart5,73933.2%

Counting pages that are free of serious and critical barriers: 86.7% of shops with three or more tested pages had no such page at all, and only 3.1% of all shops were clean on every page we tested.

Number of tested pages free of serious or critical barriers, per shop (shops with three or more tested pages)
Clean pagesShare of shops
None86.7%
One5.8%
Two3.7%
Three or more3.9%

Five fixes that clear most critical barriers

Critical barriers cluster around a few rules. If these five were fixed on the pages we tested, 79.7% of shops would have no critical barrier left. That is our calculation from the scan data, not a prediction for any one shop.

  • image-alt

    Images without a text alternative

    Give every informative image a short text alternative; mark purely decorative images as decorative.

    Found in 33.1% of shops

  • button-name

    Buttons without an accessible name

    Every button, including icon-only ones, needs text or a label that says what it does.

    Found in 21.8% of shops

  • aria-required-children

    Custom widgets missing the child elements their role expects

    Menus, tabs and lists built with ARIA roles must contain the child elements those roles expect — or use plain HTML instead.

    Found in 17.1% of shops

  • label

    Form fields without a label

    Every form field needs a label that is programmatically linked to it, not just placeholder text.

    Found in 16% of shops

  • select-name

    Dropdowns without a label

    A dropdown needs a label exactly like a text field does.

    Found in 14.1% of shops

The failures are just as concentrated overall: colour contrast alone accounts for 56.6% of all failing elements we counted, and the top three rules (color-contrast, link-name, target-size) for 76.9%. A short, focused clean-up goes a long way.

The most common failures

Share of shops with at least one failing element for each rule, with the WCAG success criterion it maps to.

Most common failing rules, as a share of shops, with WCAG criterion
RuleWCAG criterionShare of shops
color-contrast1.4.386.1%
link-name2.4.4, 4.1.260.1%
target-size2.5.838.6%
image-alt1.1.133.1%
button-name4.1.221.8%
link-in-text-block1.4.119.4%
aria-required-children1.3.117.1%
label4.1.216%

Platform fingerprints

Shops on different platforms fail in different ways. For each platform the table shows the share of shops with a critical barrier and the rule that is most over-represented there compared with German shops overall. WooCommerce shops had the fewest critical barriers in this sample.

By platform: shops with a critical barrier, signature problem, and share that would be clear of serious barriers after fixing the platform's three most common rules
PlatformShopsWith a critical barrierSignature problemClear after top-3 fixes
WooCommerce1,94746.7% (44.5–49)link-in-text-blockLinks inside text that are only distinguishable by colour27.3% of shops vs 19.4% overall29.2%
WordPress (other)15856.3% (48.5–63.8)link-in-text-blockLinks inside text that are only distinguishable by colour21.5% of shops vs 19.4% overall27.8%
Custom / other2,46760.8% (58.9–62.8)labelForm fields without a label19.5% of shops vs 16% overall21.4%
Shopify2,02269% (66.9–71)scrollable-region-focusableScrollable areas a keyboard user cannot reach26.1% of shops vs 9% overall12.1%
Shopware1,77273% (70.9–75)aria-required-childrenCustom widgets missing the child elements their role expects44.3% of shops vs 17.1% overall16.2%
Magento33073.6% (68.6–78.1)aria-required-parentWidget items outside the container their role expects19.7% of shops vs 7.3% overall13.9%
Gambio/xt:Commerce52274.7% (70.8–78.3)select-nameDropdowns without a label25.3% of shops vs 14.1% overall14.6%

This measures shops built on each platform, not the platforms themselves. A theme, a plugin or the agency that built the shop can account for what the scanner sees, and this data cannot separate those. Only platforms with at least 150 tested shops are shown.

Industry league table

Share of shops with a critical barrier, by the category the shop is listed under in the directory (categories with at least 40 shops; names as listed in the German directory). Finanzen & Versicherungen is lowest at 45.2%, Hobby, Sammeln & Freizeitartikel highest at 73.7%. The gaps are real but modest — no category is anywhere near clean.

Share of shops with a critical barrier, by industry category
CategoryShopsWith a critical barrier
Finanzen & Versicherungen18645.2%
Consulting28753%
Telekommunikation17353.2%
Edelmetalle12755.9%
Erotik9355.9%
Bücher47757%
Tickets16557%
Energie40257.5%
Optiker10858.3%
Reisen & Hotels28759.9%
Genussmittel54160.6%
Floristik26861.2%
Musik & Film34862.6%
Drogerieartikel & Kosmetik35263.1%
Koffer, Taschen & Lederwaren34463.1%
Medikamente44863.2%
Foto, Druck & Book-on-Demand41663.7%
Karneval & Kostüme13064.6%
Spielwaren, Baby & Kind37065.7%
Gartenbedarf37765.8%
Auto, Motorrad & Zubehör43766.6%
Schmuck & Uhren39766.8%
Tierbedarf48666.9%
Lebensmittel27467.2%
Büro, Schule & Beruf29267.8%
Bekleidung15869%
Sportartikel29269.2%
Schuhe30970.2%
Computer, Unterhaltungselektronik & Zubehör28870.5%
Haushaltswaren & Haushaltsgeräte21271.2%
Möbel & Dekorationsartikel25572.2%
Baumarkt20172.6%
Hobby, Sammeln & Freizeitartikel7673.7%

A yardstick: how many failing elements per page is normal?

Counting every failing element on each tested page, the typical German webshop has 17 per page. One shop in ten has 2 or fewer; one in ten has 56 or more. Use it as a rough yardstick for your own scan — a count is a guide, not a grade.

Share of shops by average number of failing elements per tested page
Failing elements per pageShare of shops
0–519.9%
6–1526.6%
16–3024.8%
31–6020.4%
61+8.4%

A published statement does not predict an accessible shop

701 shops had an accessibility statement we could open. They were no better off on critical barriers: 63.3% had one, against 63.6% of shops with no statement we could find. They were more likely to be free of serious barriers altogether (6% vs 2.9%), but still a small minority — a statement is a document about a service, not evidence that the service works. The count is a lower bound: we only opened a statement page when a shop had no checkout link.

Share of shops with a critical barrier, by whether an accessibility statement was found
GroupShops testedWith a critical barrier
Statement found70163.3%
No statement found8,91363.6%

Germany and the Netherlands

In September 2026 we ran the same scanner with the same rules on 7,122 Dutch webshops. Germany comes out lower on critical barriers (63.6% vs 69%), but the two shop lists are not comparable enough for a ranking of countries.

Germany and the Netherlands, same scanner and rules: share of shops
Share of shopsNetherlandsGermany
With at least one barrier99.2%97%
With a critical barrier69%63.6%
WooCommerce shops with a critical barrier53.6%46.7%
Shopify shops with a critical barrier68.1%69%
Low colour contrast93.4%86.1%
Form fields without a label25%16%

The shop lists differ — the Dutch one comes from a Dutch directory and association lists, the German one from the Trusted Shops directory, whose shops opted into a trust-seal programme. The scanner and the rule set are the same.

Read the Dutch study

How we did it

  • We started from 15,679 .de domains in the public Trusted Shops shop directory, visited each one once and kept whatever the site returned on a first visit — no cookie banners clicked, no logins, no purchases.
  • Up to five pages per shop: the homepage, a category page, a product page, the cart, and the accessibility statement or checkout page where one was linked. On average 3.29 pages were tested per shop.
  • Every page was tested with axe-core 4.13.0 against WCAG 2.2 A and AA rules. Best-practice rules, which are not part of the standard, were excluded.
  • 11,655 sites responded and loaded, and 9,614 of those were confirmed webshops — either by their platform or by a working product or cart page. Every percentage on this page is of those 9,614.
  • The scanner identifies itself as ClusesiaScan with a contact address, honours robots.txt and pauses between pages. Where a shop's protection blocked it, we stopped — we do not work around it.

What this does not show

  • Automated testing finds only part of what WCAG requires. Keyboard traps, screen-reader flow, focus order and whether a page actually makes sense all need a person to check them.
  • A shop with no findings here is not therefore accessible — it means an automated test found nothing on the pages we looked at.
  • We tested about three pages per shop, not whole shops. A barrier on a page we did not visit does not appear here.
  • The starting list is the Trusted Shops directory — shops that joined a trust-seal programme. It is not a register of every German webshop and may lean towards established shops.
  • 6.2% of the shops we tried blocked the scanner and 1.9% disallow scanners in robots.txt. We respected both, so shops with strong bot protection are missing and results may differ for them.
  • The headline covers .de domains only. German-language shops on other domains (.com, .eu, .shop and others) show a similar picture — 65.9% of 2,604 had a critical barrier — and are not part of the headline.

Download the data

The full aggregates — every percentage, count and confidence interval on this page — as a JSON file. Free to re-use with attribution. No shop is named in it.

Download JSON

Corrections

We do not publish individual shop names or results, and we will not. If you think something here is wrong, or you want to know what we found on your shop, write to [email protected]

See where your own shop stands

Run the same scan on your site, free. You get the barriers we find, each mapped to the WCAG criterion it breaks — no account needed.

Scan my shop — free
German webshop accessibility 2026: 9,614 .de shops tested — Cluesia research