Shopify accessibility remediation Shopify accessibility, fixed in your theme
- layout/
- theme.liquid KC-001KC-004KC-019
- sections/
- header.liquid KC-010KC-019
- slideshow.liquid KC-006KC-012
- main-product.liquid KC-016
- footer.liquid KC-019KC-020
- snippets/
- product-variant-picker.liquid KC-009KC-018
- cart-drawer.liquid KC-015KC-022
- card-product.liquid KC-008
- facets.liquid KC-017
- header-search.liquid KC-013
- assets/
- base.css KC-005KC-007
What we fix most on Shopify
| Component | How it usually fails | WCAG 2.2 SC | Where it lives | Fix guide |
|---|---|---|---|---|
| Cart drawer | Opens without moving focus; Tab escapes behind it; nothing announces the add | 2.1.1, 2.4.3, 4.1.2, 4.1.3 | snippets/cart-drawer.liquid | Cart drawer focus |
| Color and size swatches | <div>s with no role, name, state or tab stop | 2.1.1, 4.1.2, 1.4.1 | snippets/product-variant-picker.liquid | Accessible swatches |
| Header and mega-menu | Opens on hover only; no button, no expanded state | 2.1.1, 1.4.13 | sections/header.liquid | Common findings |
| Pop-ups and newsletter | Focus stays behind the overlay; close “×” is a <span> | 2.1.1, 2.4.3, 4.1.2 | App embed or theme section | Same dialog pattern |
| Product cards | Quick-add buttons with no name; focus invisible | 4.1.2, 2.4.7 | snippets/card-product.liquid | Common findings |
| Filters and sort | Custom checkboxes; result count not announced | 4.1.2, 4.1.3 | snippets/facets.liquid | Common findings |
| Review widgets | Star ratings read as images; low-contrast app styles | 1.1.1, 1.4.3 | Third-party app block | Common findings |
| Color tokens | Muted text and sale badges under 4.5:1 | 1.4.3 | assets/base.css, theme settings | Checklist |
A fix is a change to code, not a script on top
This is the actual change for issue KC-009 on our demo store: three clickable <div>s became a native radio group. Keyboard, screen readers and the visual checked state all come from the markup, so nothing has to run on top of the page.
<div class="swatches">- <div class="swatch selected" data-color="Forest" style="background:#2f4a3a"></div>- <div class="swatch" data-color="Slate" style="background:#4a5563"></div>- <div class="swatch" data-color="Ember" style="background:#b4532a"></div>+ <input type="radio" class="swatch-input visually-hidden" name="color" id="color-forest" value="Forest" checked>+ <label for="color-forest" class="swatch" style="background:#2f4a3a"><span class="visually-hidden">Forest</span></label>+ <input type="radio" class="swatch-input visually-hidden" name="color" id="color-slate" value="Slate">+ <label for="color-slate" class="swatch" style="background:#4a5563"><span class="visually-hidden">Slate</span></label>How access works
Who: You
Approve a collaborator request
Only the theme permissions the job needs.
Who: We
Duplicate your live theme
An unpublished copy, or a branch if you use Shopify’s GitHub integration.
Who: We
Fix and verify on the copy
Before/after scans, then keyboard, VoiceOver, NVDA and zoom.
Who: You
Preview it and read the report
You pay the balance only after you’ve seen the fixes.
Who: You
Publish
You publish, or we do on your written go-ahead.
Checkout and apps
- We fix it
Your theme
Layouts, sections, snippets, assets and theme settings: menus, product pages, cart drawers, pop-ups you control, forms and color tokens.
- Flagged with options
Third-party apps
Issues inside an app’s own code are flagged with options:
- change a setting
- swap the app
- file a ticket with the developer, with the details they need
- Shopify’s code
Checkout
Reported to Shopify on non-Plus plans. On Shopify Plus, custom checkout extensions can be in scope.
Checkout is Shopify-hosted on every plan. On non-Plus stores we report checkout issues to Shopify rather than fix them. On Shopify Plus, custom checkout extensions can be in scope.
Review + Fix packages
Starter
Price: $1,750
Quick Review (3 templates) plus up to 5 fixes
- Quick Review
- Up to 5 fixes on staging
- Verified before/after report
- 60-day fix window
Fixes delivered 5 business days after you approve the fix plan
Book Starter, Review + FixEssentials
Our recommendation for a typical small store
Price: $4,250
Essentials Review (6 templates) plus up to 15 fixes
- Essentials Review
- Up to 15 fixes on staging
- Verified before/after report with keyboard and screen reader recordings of key tasks
- 60-day fix window
Fixes delivered 10 business days after you approve the fix plan
Book Essentials, Review + FixStandard
Price: $7,750
Standard Review (12 templates) plus up to 30 fixes
- Standard Review
- Up to 30 fixes on staging
- Verified before/after report with recordings
- 60-day fix window
Fixes delivered 15 business days after you approve the fix plan
Book Standard, Review + Fix
Agencies: white-label at 20% below these prices (details). Auditors: you audit, we fix, your team retests, pay on pass (details).
How you can hold us to it
A verified report
For every issue ID: the file we changed, automated before/after results at desktop and mobile widths, and the manual keyboard and screen reader result.
Pay the balance after you’ve seen it
The last payment is due only after you’ve checked the fixes on staging.
A 60-day fix window
If anything we fixed stops working within 60 days, we fix it again at no charge.
A refund if a fix can’t pass
If an agreed fix doesn’t pass its agreed check and we can’t fix it within 10 business days, we refund that fix’s share of the price.
Questions store owners ask
Will you edit my live theme?
No. We work on an unpublished duplicate (or a branch in your repository). You preview the fixes and publish when you’re ready, or we publish on your written go-ahead.
Do you install an app or an accessibility widget?
No. We change the theme code that causes the problems. We don’t add overlays or toolbars.
What do you need from us?
Your store address, a collaborator request approval with theme permissions, and a contact who can answer questions about apps and content. Never a password.
Can you fix checkout?
Checkout is Shopify-hosted on every plan. On non-Plus stores we report checkout issues to Shopify rather than fix them. On Shopify Plus, custom checkout extensions can be in scope.
Do you promise legal compliance?
We fix the agreed issues to WCAG 2.2 AA and prove it with a before/after report. We don’t promise compliance with the ADA or any law, or any outcome of a demand letter or lawsuit, and this isn’t legal advice.
Book Review + Fix
Fixed price, fixes on a duplicate theme, verified report, 60-day fix window.