Your Shopify store looks great. Your conversion rate is decent. Your ads are running.
And you might be one demand letter away from a lawsuit.
Accessibility compliance isn't a nice-to-have anymore. In the United States alone, over 4,000 ADA-related digital accessibility lawsuits were filed in 2024 — a number that has been climbing every year since 2018. The UAE introduced Federal Decree No. 29 of 2021, mandating digital accessibility for government and commercial services. The European Accessibility Act comes into full effect in June 2025.
If you sell online, this applies to you. And if you're on Shopify, the good news is that fixing it is entirely within reach — if you know what to look for.
As a Shopify Partner agency based in India, we've audited dozens of stores across India, Dubai, Singapore, and KSA. The pattern is almost always the same: founders don't know their store is non-compliant until someone tells them. This post is that someone telling you.
What WCAG 2.1 AA Actually Requires
WCAG (Web Content Accessibility Guidelines) is the international standard for web accessibility. Level AA is the benchmark most legal frameworks reference. It's not vague — it's a specific set of technical criteria.
Here's what matters for Shopify stores:
Perceivable
- Text alternatives for all non-text content (alt text on every product image, banner, and icon)
- Color contrast ratio of at least 4.5:1 for normal text and 3:1 for large text
- Content must be presentable in different ways without losing meaning (proper heading hierarchy, not just visual sizing)
- No information conveyed through colour alone (sale badges that only use red, for example)
Operable
- All functionality must be accessible via keyboard (Tab, Enter, Escape, arrow keys)
- Focus indicators must be visible — users need to see where they are on the page
- No keyboard traps — if a user tabs into a modal or dropdown, they must be able to tab out
- Skip navigation links so screen reader users can bypass repetitive menus
Understandable
- Form inputs need visible labels (not just placeholder text)
- Error messages must be descriptive and associated with the field that caused them
- Language of the page must be declared in the HTML
langattribute
Robust
- Valid HTML structure
- ARIA roles and attributes used correctly (or not at all — incorrect ARIA is worse than none)
- Content must work with assistive technologies like screen readers, magnifiers, and voice control
This isn't optional decoration. Each of these criteria has a corresponding success criterion number in the WCAG spec. When an accessibility lawyer audits your site, they check against this exact list.
How Shopify's Default Themes Actually Score
Shopify's Dawn theme — the default for Online Store 2.0 — is genuinely better than older themes like Debut, Brooklyn, or Minimal. Shopify's theme team has invested in accessibility, and it shows.
But "better" doesn't mean "compliant."
When we run a Lighthouse accessibility audit on a default Dawn installation, it typically scores between 85 and 92. That sounds good until you realise that Lighthouse only catches about 30% of WCAG issues. The remaining 70% require manual testing — keyboard navigation, screen reader testing, cognitive load assessment.
Here's where Dawn still has gaps:
- The mobile hamburger menu doesn't always trap focus correctly
- Quick-view modals on collection pages can create keyboard traps
- Sale badges often fail colour contrast requirements
- The default search overlay doesn't announce itself to screen readers
- Accordion sections on product pages sometimes lack proper ARIA expanded states
Older Shopify themes are significantly worse. If you're still running Debut or a pre-2.0 theme, your accessibility score is almost certainly below 70 — and the manual audit findings will be even more concerning.
The 5 Most Common Shopify Accessibility Failures (With Fixes)
These are the failures we see in almost every Shopify audit we run. Each one includes a Liquid code fix you can implement today.
1. Missing Alt Text on Product Images
This is the single most common accessibility failure on Shopify stores. Product images without alt text are invisible to screen readers, which means visually impaired users can't understand what you're selling.
The Fix:
Shopify's image object has a built-in alt property. Use it:
<img
src="{{ image | image_url: width: 600 }}"
alt="{{ image.alt | escape }}"
loading="lazy"
width="{{ image.width }}"
height="{{ image.height }}"
>
The key: go into your Shopify admin, navigate to each product, and actually write descriptive alt text for every image. "Blue cotton t-shirt front view" is good. "IMG_4321" is useless. "T-shirt" is barely better.
For programmatic alt text on collection pages where manual entry isn't feasible:
{% assign alt_text = image.alt | default: product.title | append: ' - ' | append: product.type %}
<img src="{{ image | image_url: width: 400 }}" alt="{{ alt_text | escape }}">
This creates fallback alt text like "Premium Cotton Tee - T-Shirts" when no manual alt text exists.
2. Non-Descriptive Button Labels
Shopify's default "Add to Cart" button works. But many themes and apps add buttons with labels like "Buy" or just a cart icon with no text alternative.
The bigger problem: when you have a collection page with 12 products, each with an "Add to Cart" button, a screen reader user hears "Add to Cart" 12 times with no context about which product each button refers to.
The Fix:
<button
type="submit"
class="btn product-form__submit"
aria-label="Add {{ product.title }} to cart — {{ product.selected_or_first_available_variant.price | money }}"
>
Add to Cart
</button>
The aria-label provides context to screen readers while keeping the visual button text clean.
3. Colour Contrast Failures in Sale Badges
Red text on a dark background. White text on a yellow badge. Light grey text on a white card. These are everywhere on Shopify stores, and they all fail WCAG's 4.5:1 contrast ratio requirement.
The Fix:
Use a contrast checker (WebAIM's contrast checker is free) and ensure every text element meets the 4.5:1 ratio. For Shopify theme settings, update your settings_schema.json to enforce accessible defaults:
{% style %}
.badge--sale {
background-color: #c41e3a;
color: #ffffff;
/* Contrast ratio: 5.9:1 — passes AA */
}
{% endstyle %}
Avoid relying on colour alone to convey sale status. Add text like "SALE" or a percentage discount — don't just change the price colour to red.
4. Modal Traps (Quick View, Cart Drawer, Popups)
When a user opens a quick-view modal, the cart drawer, or a promotional popup, focus should move into that modal and stay trapped there until the user explicitly closes it. Most Shopify themes and third-party apps get this wrong.
The result: keyboard users get stuck inside modals they can't escape, or worse, they tab behind the modal and interact with content they can't see.
The Fix:
Add focus trapping to all modals:
function trapFocus(element) {
const focusableElements = element.querySelectorAll(
'a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex="-1"])'
)
const firstFocusable = focusableElements[0]
const lastFocusable = focusableElements[focusableElements.length - 1]
element.addEventListener('keydown', function(e) {
if (e.key === 'Tab') {
if (e.shiftKey) {
if (document.activeElement === firstFocusable) {
lastFocusable.focus()
e.preventDefault()
}
} else {
if (document.activeElement === lastFocusable) {
firstFocusable.focus()
e.preventDefault()
}
}
}
if (e.key === 'Escape') {
closeModal(element)
}
})
firstFocusable.focus()
}
Also add role="dialog" and aria-modal="true" to your modal container, and aria-label describing what the modal contains.
5. Missing Skip Navigation
Screen reader users and keyboard navigators have to tab through your entire header, logo, navigation menu, and announcement bar on every single page before reaching the main content. On a Shopify store with a mega menu, that can be 40+ tab stops.
The Fix:
Add a skip navigation link as the very first focusable element in your theme.liquid:
<a class="skip-to-content-link" href="#MainContent">
Skip to content
</a>
<style>
.skip-to-content-link {
position: absolute;
top: -100px;
left: 0;
background: #000;
color: #fff;
padding: 8px 16px;
z-index: 9999;
transition: top 0.2s;
}
.skip-to-content-link:focus {
top: 0;
}
</style>
Then ensure your main content area has the corresponding ID:
<main id="MainContent" role="main" tabindex="-1">
{{ content_for_layout }}
</main>
Dawn includes a skip link by default, but many custom themes and heavily modified stores have removed it.
How to Audit Your Shopify Store for Accessibility
You don't need to hire an expensive accessibility consultant to start. Here's a practical audit workflow:
Automated Testing (Catches ~30% of Issues)
- Run a Lighthouse audit in Chrome DevTools (Audits tab → Accessibility)
- Install the axe DevTools browser extension and run it on your homepage, a collection page, a product page, and your cart page
- Use WebAIM's WAVE tool for a visual overlay of issues
Manual Testing (Catches the Other ~70%)
- Unplug your mouse. Navigate your entire purchase flow using only keyboard (Tab, Enter, Escape, arrow keys)
- Can you reach every interactive element? Can you see where focus is? Can you complete a purchase?
- Turn on VoiceOver (Mac) or NVDA (Windows) and listen to your homepage. Does it make sense?
- Resize your browser to 200% zoom. Does content reflow without horizontal scrolling?
Priority Pages to Audit:
- Homepage
- One collection page
- One product page (with variants)
- Cart and checkout (Shopify's checkout is largely accessible by default — focus on your cart page)
- Contact or FAQ page
The Legal Landscape: Why This Matters Now
In the US, ADA Title III has been interpreted by courts to apply to websites. The Department of Justice issued final rules in 2024 requiring state and local government websites to meet WCAG 2.1 AA — and private sector lawsuits continue to use WCAG as the de facto standard.
In the UAE, Federal Decree No. 29 of 2021 established rights for people of determination, including digital accessibility requirements for commercial services. If you're selling to customers in Dubai, Abu Dhabi, or across the Emirates, this directly applies to your ecommerce store.
The European Accessibility Act (EAA) applies to ecommerce services selling to EU customers from June 2025 onward, regardless of where the business is based.
Ignoring accessibility isn't just an ethical failure — it's a legal and commercial risk.
What We Do Differently
At Innovatrix Infotech, we build Shopify stores with accessibility baked in from day one — not bolted on as an afterthought. That means proper heading hierarchies, keyboard navigation testing during development, alt text workflows built into our content handoff process, and automated accessibility testing in our QA pipeline.
As a DPIIT-recognised startup and Official Shopify Partner, we work with D2C brands across India, Dubai, Singapore, and Saudi Arabia who want stores that are both beautiful and compliant.
If you're not sure where your store stands, book a discovery call and we'll walk you through a quick accessibility assessment.
Key Takeaways
Accessibility isn't a checkbox — it's a continuous practice. But you can start today:
- Run a Lighthouse + axe DevTools audit on your four key pages
- Fix your alt text across all product images
- Test keyboard navigation through your entire purchase flow
- Check colour contrast on every badge, button, and text element
- Add skip navigation if your theme doesn't have it
Every fix you make isn't just about compliance. It's about making your store usable for the estimated 16% of the world's population living with a disability. That's over a billion potential customers.
Your Shopify store images need alt text anyway for SEO — accessibility and search performance are two sides of the same coin.
The stores that get this right don't just avoid lawsuits. They build trust, expand their addressable market, and create better experiences for everyone.
Start with the audit. Fix the low-hanging fruit. Build the habit. The rest follows.
Written by

Founder & CEO
Rishabh Sethia is the founder and CEO of Innovatrix Infotech, a Kolkata-based digital engineering agency. He leads a team that delivers web development, mobile apps, Shopify stores, and AI automation for startups and SMBs across India and beyond.
Connect on LinkedIn