Curbcut research September 2026 59 storefronts

57 of 59 Shopify stores
have accessibility failures

We scanned 59 established Shopify storefronts against WCAG 2.2. Almost all of them fail — and the ones that fail worst are not the small ones.

Every store in this survey is a real, operating brand with a real budget. These are not hobby shops. If accessibility were something companies reliably got right once they could afford to, it would show up here. It does not.

We ran an automated WCAG 2.2 A and AA scan across up to five page types per store — home, collection, product, cart, and a content page — because failures differ by template. A product page's variant selector breaks differently from a collection page's filters. Scanning only a homepage, as most free tools do, misses the templates where merchants are most exposed.

97% had at least one WCAG violation — 57 of 59 stores
78% had a violation rated critical
2 stores came back completely clean
Scanned September 2026. Stores are not named — see the note on method below.

How bad, per store

Distinct issue types found, by share of stores

The typical store has five distinct kinds of problem affecting 42 elements. The worst had 12 distinct problems across 729 elements. Concentration matters more than the raw count: most stores cluster in a narrow band rather than splitting into “fine” and “catastrophic.”

Distinct issue types per store
none 2 stores
1–3 18 stores
4–6 30 stores
7–9 8 stores
10+ 1 store
Median 5 distinct issues, 42 failing elements, per store. Bar length is share of the 59 stores surveyed.

What actually breaks

Ranked by share of stores affected

The failures are strikingly consistent. This is not 59 stores with 59 different problems — it is the same handful of mistakes, repeated across the ecosystem, because they are baked into themes and the components merchants install on top of them.

What fails Stores affected Severity
Text contrast too low
Text that people with low vision cannot read against its background
serious
Links with no readable name
Icon links announced as just “link”
serious
Images with no alt text
Product photos a screen reader cannot describe
critical
Tap targets too small
Controls under 24×24px — hard to hit on a phone or with a motor impairment
serious
Buttons with no readable name
Cart, search and menu buttons announced as just “button”
critical
Broken list markup
Screen readers miscount or skip list contents
serious
Controls nested inside controls
A button inside a link — keyboard users get stuck or skip past
serious
Form fields with no label
Email and search inputs with nothing announced
critical
Misused ARIA attributes
Attributes on elements that do not support them, confusing assistive tech
critical
Hidden things that still take focus
Keyboard focus lands on elements the user cannot see or hear
serious
Percentages are the share of the 59 surveyed stores where the failure appeared at least once. Severity ratings follow the axe-core classification.

The number that should change how you feel about this

Why a 400-item audit is not 400 jobs

An accessibility report that says “729 failing elements” reads like a catastrophe, and that framing is why a lot of merchants close the tab. It is also misleading. Those elements are not independent. Hundreds of contrast failures are usually a handful of colour pairs used everywhere. A header button with no label appears on every page of the site but is one fix.

Counting the distinct decisions instead of the failing elements gives a very different picture of the work:

5,065failing elements
492distinct decisions
10.3×fewer things to do
Across all 59 stores. The median store needs 6 decisions, not 46 separate repairs.

Six decisions is a morning's work for a developer who knows the theme. That is the gap between how accessibility is usually sold — as an overwhelming, open-ended liability — and what it actually costs to fix most of it.

Two stores passed

Two storefronts in this survey returned zero detected violations. We are reporting that because it matters twice over. It shows a clean result is achievable on ordinary Shopify infrastructure by an ordinary commerce team. And it shows the scanner can return clean — a tool that finds problems on every site it touches is not measuring anything.

What we did not do

And why

  • We are not naming the stores. Accessibility lawsuits against ecommerce are at record levels, and plaintiff firms actively look for targets. A ranked list of failing storefronts would be a target list. Publishing one to sell a product that helps with lawsuits would be indefensible.
  • We are not claiming this is a complete audit. Automated testing reliably catches a large share of WCAG failures but not all of them. Some criteria — whether alt text is meaningful, whether a focus order makes sense — can only be judged by a person. The real numbers are higher than what is reported here, not lower.
  • We are not saying any of these stores is breaking the law. A WCAG violation is not a legal finding. We are reporting what an automated conformance scan measured, nothing more.

Method

So you can judge the numbers

Sample
59 established Shopify storefronts across apparel, food and drink, beauty, homeware and footwear. One further store was excluded because it could not be loaded — an unreachable store is an inconclusive result, not a clean one.
Sample bias
These are not typical Shopify stores. 58 of the 59 run custom-built themes. Across Shopify as a whole, roughly 55% of stores use free themes, 28% paid themes and only 18% custom ones — so this sample is drawn almost entirely from the well-resourced end of the market. Read it as evidence about large brands, not about small merchants. We are measuring the stock themes separately for exactly this reason.
Pages
Up to five templates per store (home, collection, product, cart, content page), 4.7 on average.
Engine
axe-core 4.13 driven by headless Chromium, run against the normative WCAG 2.0, 2.1 and 2.2 A and AA rulesets.
Excluded
axe's “best practice” rules. They are useful advice but are not WCAG failures, and counting them would inflate every number on this page.
Date
September 2026. Storefronts change constantly; any individual store's result may already be different.
Revision
These figures were corrected on 12 September 2026. Our first run measured elements while they were still hidden behind scroll-reveal animations and counted them as contrast failures. Every store was rescanned after the fix. The headline moved from 58 of 59 to 57 of 59, and the leverage figure fell from 14.2× to 10.3× — partly from removing those false positives, partly because we also raised an internal sampling cap that had been under-counting distinct fixes. The corrected number is less flattering to us, which is the reason to publish it.

Check your own store

Curbcut runs the same scan on your storefront and returns the same thing this survey measures: not a list of failing elements, but the short list of decisions behind them, with the fix for each one already written.

It is free, and it will tell you honestly when it cannot reach something or when a problem needs a human rather than a tool.

Scan your store →