Skip to content
WCAally

The most common Shopify accessibility issues, from 167 real stores

Published

Across 167 Shopify stores I scanned in September 2026, the most common accessibility issue was low colour contrast, failing on 77% of stores. Links with no readable text came second (50%) and images without alt text third (43%). 96% of stores had at least one WCAG 2.1 AA failure, and 75% had at least one that axe-core rates critical. The good news is in the shape of the problem: the median store had 35 flagged elements, but those traced back to a median of just 4 separate fixes.

How these numbers were collected

Every figure here comes from my own scan database, not from a survey or a vendor estimate. The short version:

  • 167 stores, each confirmed as Shopify because its product pages were found through Shopify’s own product feed.
  • Three pages per store: the home page, a collection page and a product page (492 pages in total; 161 stores had all three scanned successfully).
  • One engine: axe-core 4.13, WCAG 2.0/2.1 A and AA rules, run in a real Chromium browser after the page finished rendering.
  • One window: every store was scanned between 18 September and 20 September 2026, with no changes to the scanner code during that time.
  • Anonymous: no store is named here, and the published data file contains only totals.

One limit up front: these are stores I chose to scan while reaching out to merchants, mostly established direct-to-consumer brands. That is not a random sample of Shopify, and the percentages describe this group, not every store on the platform. The limits section below covers the rest.

The 10 most common Shopify accessibility issues

Ranked by how many stores failed the check at least once. “Median elements” is how many elements failed on a typical affected store, across its three pages.

  1. Text with too little colour contrast77%
  2. Links with no readable text50%
  3. Images with no alt text43%
  4. Lists built with invalid markup23%
  5. Buttons with no readable name23%
  6. ARIA labels on elements that can’t carry them22%
  7. Scrolling areas a keyboard can’t reach20%
  8. Hidden elements that still take keyboard focus18%
  9. Form fields with no label18%
  10. Clickable controls nested inside other controls16%
Share of 167 Shopify stores with at least one failure of each check. Source: WCAally scan data, September 2026.
The ten most frequent WCAG 2.1 AA failures across 167 Shopify stores.
IssueStores affectedMedian elementsWCAG criterion
Text with too little colour contrast129 (77%)121.4.3
Links with no readable text84 (50%)42.4.4, 4.1.2
Images with no alt text71 (43%)31.1.1
Lists built with invalid markup39 (23%)31.3.1
Buttons with no readable name39 (23%)24.1.2
ARIA labels on elements that can’t carry them36 (22%)34.1.2
Scrolling areas a keyboard can’t reach33 (20%)12.1.1, 2.1.3
Hidden elements that still take keyboard focus30 (18%)44.1.2
Form fields with no label30 (18%)2.54.1.2
Clickable controls nested inside other controls27 (16%)54.1.2

1. Low colour contrast (77% of stores)

Contrast leads by a wide margin. It hit 129 of 167 stores, a typical affected store had 12 failing elements, and it alone made up 43% of every flagged element in the dataset. WCAG 1.4.3 asks for a ratio of at least 4.5:1 for normal text and 3:1 for large text.

A high element count doesn’t mean a lot of work. The failing colours are often a few values set once in the theme (a text grey, a brand accent, a button style) and reused across templates, so changing the value fixes every element that uses it. For each contrast failure, the full report from the free WCAG checker works out the nearest shade that passes while keeping your hue.

84 stores had links a screen reader can only announce as “link”. In the failing markup, the same few patterns keep coming back: colour-swatch links on product cards, image tiles and slideshow slides wrapped in an empty link, a logo link whose image has no alt text, and icon-only links such as the cart. The fix is an accessible name: visually hidden text inside the link, or an aria-label such as “Cart” or “Black, view colour”.

3. Images with no alt text (43%)

71 stores had at least one image with no alt attribute at all, with a median of 3 per affected store. In the failing examples I reviewed, product photos were not the main problem. Much of it was the images around them: preview thumbnails for product videos, small badge and flag icons, “sold out” overlays, and banners placed with a page builder. An image that carries no information still needs alt="" so screen readers skip it; an informative one needs a short description.

4. Invalid list markup (23%)

39 stores had <ul> or <ol> elements containing something other than list items. Carousel scripts (Slick, Swiper, Splide, Flickity) are a common source, because they inject their own wrappers between the list and its items; navigation menus and breadcrumbs are another. The failure usually lives in one component, so it is one fix even when it repeats on every page.

5. Buttons with no name (23%)

39 stores had buttons with nothing a screen reader can announce. The examples are mostly icon-only buttons: close buttons on pop-ups and drawers, carousel arrows, quantity steppers, image-zoom buttons and colour swatches. When the unnamed button is a quantity control or a swatch, a screen reader user can’t tell what it does, and that can stop a purchase.

Form labels: less common than the wider web

Missing form labels showed up on 18% of these stores (30 stores). That is well below the web-wide figure in the next section. Where it did appear, the most common case by far was the quantity box on product or cart pages, which about half of the affected stores had shipped without a label. Newsletter sign-up and app forms made up a smaller share.

Most stores have a few causes, not dozens of problems

Raw issue counts make accessibility look bigger than it is. The median store here had 35 flagged elements (the middle half ranged from 10 to 68). Grouping those elements by the rule and the theme component that produced them brought the median down to 4 fixes (middle half: 2 to 6).

Theme code is shared, and the data shows it: 34% of all issue groups appeared on all three page types at once, the home page, the collection page and the product page. A problem in a shared header, footer or product card is flagged on every template that uses it, and it is fixed in one place.

How Shopify stores compare with the WebAIM Million

The best-known benchmark is the WebAIM Million, an annual automated scan of the home pages of the top one million websites. Its 2026 edition found low contrast text on 83.9% of home pages, missing alt text on 53.1%, missing form labels on 51%, empty links on 46.3% and empty buttons on 30.6%.

The order is almost the same here: contrast first, then empty links and missing alt text. The big gap is form labels (18% here against 51%). I would not read too much into the exact differences: WebAIM uses a different tool (WAVE), scans only home pages, and covers the whole web rather than one platform.

What this data can’t tell you

  • Automated testing finds a subset of WCAG failures. It can check that a button has a name; it can’t check that the name makes sense, or that checkout works with a screen reader from start to finish.
  • Three pages aren’t a whole store. Cart, checkout, account and content pages weren’t scanned.
  • The sample isn’t random. These are established brands I picked for outreach. Smaller stores on stock themes may look different.
  • “Needs review” items aren’t counted. Where axe-core couldn’t decide (contrast over a background image, for example), the result was set aside for a human and left out of every figure above.
  • It’s one point in time. Stores change weekly, and several of these issues come and go with app installs and theme updates.

Check your own store

The same scanner is available as a free WCAG checker. Paste in one page, and in about fifteen seconds you’ll see how many issues it found and the top five to fix. No signup. To get a whole store scanned and fixed, get in touch.

Frequently asked questions

Low colour contrast. It failed on 77% of the 167 Shopify stores I scanned, and it accounted for 43% of every flagged element.

Across home page, a collection page and a product page, the median store had 35 flagged elements. Grouped by the rule and component that caused them, those came down to a median of 4 separate fixes.

No. Automated tools like axe-core catch a subset of WCAG failures, mostly the mechanical ones. Whether a checkout can be completed with a screen reader, or whether alt text describes the right thing, needs a person to test. No tool can certify compliance.

Yes. The free WCAG checker on this site scans one page with the same engine used for this data, with no signup, and shows a summary of what it found.