BLOG · SHOPIFY · EAA

Shopify Accessibility:
Getting Your Store EAA-Compliant

A practical compliance guide for Shopify merchants and agencies — what the EAA requires, where Shopify stores typically fail, and which fixes you can do without touching code.

Updated August 2026 · Reading time: 7 minutes

why-shopify-and-eaa

Every Shopify store selling to EU consumers is in scope of the European Accessibility Act, which has applied since 28 June 2025. That includes dropshipping stores, print-on-demand shops and D2C brands — micro-enterprises providing services are covered too. The technical benchmark is EN 301 549 / WCAG 2.1 level AA, and enforcement is national: market surveillance authorities can require remediation, suspend non-compliant services and issue fines that vary by member state. For a store owner the practical risk is more immediate than regulators: accessible stores convert better, rank better, and are increasingly demanded by procurement teams and marketplaces.

⚖️ Legal Scope

E-commerce of consumer goods and services is explicitly named in the EAA. Selling into the EU from anywhere triggers it — no EU establishment required.

📈 Conversion

Accessibility fixes overlap heavily with conversion optimisation: readable text, visible focus, working keyboard flows, clear error messages.

🛡️ Litigation Risk

US-style ADA demand letters increasingly cite WCAG regardless of platform. An EAA-compliant store is also far safer in that context.

where-shopify-stores-fail

Most accessibility defects on Shopify stores come from four sources: theme quality, apps, merchant content, and the checkout you cannot fully control.

🎨 Themes

Older or heavily customised themes carry contrast failures (light grey sale badges), icon-only buttons without labels, and missing focus styles. Free default themes like Dawn are far better baselines than most paid themes.

🔌 Apps

Each installed app injects its own widgets — review pop-ups, upsell sliders, chat bubbles. These routinely ship duplicate IDs, unlabelled controls and keyboard traps. Every app needs its own accessibility check.

✍️ Merchant Content

Product images without alt text, "shop now" link spam, headings used for styling rather than structure. This is the largest volume category on most stores.

🛒 Checkout

Shopify's hosted checkout is largely outside your control. It meets baseline standards reasonably well; your obligation is to configure branding legibly (no low-contrast custom colours) and ensure cart/drawer flows in your theme are accessible.

theme-settings-fixes

Modern Online Store 2.0 themes expose most mechanical fixes as settings — no developer needed:

🔤 Typography & Colour

In theme settings, raise body text size and darken text colour until contrast clears 4.5:1 against every background it appears on. Check announcement bar, sale badges and footers separately — they usually have their own colour pairs.

🖼️ Alt Text at Scale

Fill alt text on product images in the admin (each variant inherits). For decorative lifestyle imagery in sections, empty alt="" is correct — the distinction matters.

⌨️ Focus & Motion

Enable/keep focus outlines in theme CSS via :focus-visible. Disable autoplaying carousels or provide pause controls — motion is an EAA-relevant barrier for many users.

🧭 Navigation

Ensure the mobile menu opens on tap and closes with keyboard escape, breadcrumbs use real nav elements, and skip-to-content exists in the header.liquid.

developer-fixes-liquid

If you edit Liquid templates, work through this checklist once per theme:

Form labels: newsletter blocks and search fields often render placeholder-only inputs. Add real <label> elements tied via for/id — WCAG 3.3.2 and one of the most common scanner findings.

Icon buttons: cart toggles, quantity steppers, close icons need aria-label attributes. A button that renders nothing but an SVG is invisible to assistive technology.

Duplicate IDs: section rendering in loops often repeats id="Section-..." across instances. Duplicate IDs break label association and screen-reader navigation.

Heading hierarchy: one h1 (product title on product pages, blog title on articles). Section components should not hardcode h2 when nested inside another component already emitting one.

Announcement bars & modals: dismissible, reachable by keyboard, focus trapped correctly while open and returned on close.

app-audit-and-checkout

Two Shopify-specific steps most guides skip:

App audit: list every installed app that renders customer-facing UI. Remove ones you do not actively use (they still load scripts and often still inject widgets). For each remaining one, tab through its widget on a live page: if you reach something with no visible focus or no label, either reconfigure or replace the app. Avoid overlay/"accessibility widget" apps as a compliance strategy — they do not make a store conformant and several EU consumer bodies have publicly criticised them.

Checkout configuration: in checkout branding settings, choose logo/colour combinations that pass contrast, write meaningful page titles, and test the full journey (cart → checkout → confirmation) with keyboard only. Third-party checkout extensibility widgets follow the same rule as apps: audit each one.

Document: publish an accessibility statement covering conformance status, known limitations (e.g. specific app), and a contact channel. Under the EAA this is expected, not optional.

verification-workflow

A realistic verification loop for a Shopify store takes half a day:

Step 1 — automated scan of home, a collection page, a product page, search results, and the cart drawer. Expect 5-20 mechanical findings on the first run.

Step 2 — fix and re-scan theme settings and Liquid issues until automated findings clear.

Step 3 — keyboard walkthrough of browse → add to cart → checkout start. Anything mouse-only is a failure under WCAG 2.1.2.

Step 4 — screen reader spot-check of one product flow with VoiceOver or NVDA, listening for unlabelled controls.

Step 5 — re-run after every theme update and new app. Regressions arrive silently with updates.

Going Deeper

Run the free scanner on your storefront first — it catches contrast, alt-text, label and heading issues in seconds, so your expert time goes on the judgement calls.

Scan Your Shopify Store Free → →    EAA Checklist Blog → →

Frequently Asked Questions

Does the EAA apply to small Shopify stores?

Yes for e-commerce of consumer services, including micro-enterprises — unlike some other EAA categories there is no general small-business exemption for online shops. Practical burden scales with size, but the obligations exist.

Is Shopify itself responsible for accessibility?

The platform provides compliant infrastructure and decent default themes, but the merchant is responsible for their configured theme, content and apps. Legally, responsibility sits with whoever provides the service to the consumer.

Do accessibility widget apps make my store compliant?

No. Overlays modify the DOM after load and cannot fix contrast in images, broken flows or content problems. Several European consumer authorities have warned against marketing them as compliance. Fix root causes instead.

What about my Shopify app reviews and popups?

They count as part of your service. Audit each app's customer-facing UI the same way as your theme, and replace apps whose vendors will not fix accessibility defects.

How long does a typical store take?

A store on a maintained OS 2.0 theme: 1-3 days for settings, alt text backfill, Liquid fixes and testing. Stores on old vintage themes usually need a theme migration, which is the bigger project.

Scan Your Shopify Store Free → →    EAA Checklist Blog → →