Over one billion people worldwide live with some form of disability. In the United States alone, 26% of adults have a disability that affects how they interact with websites. If your Shopify store is not accessible, you are excluding a significant portion of potential customers — and exposing yourself to legal risk.
Web accessibility lawsuits against e-commerce businesses have grown steadily, with over 4,000 filed in 2025. The average settlement ranges from $5,000 to $150,000, and lawsuits often target businesses regardless of size. Accessibility is not optional — it is a legal requirement, a business opportunity, and the right thing to do.
This guide covers the specific WCAG 2.1 requirements that apply to Shopify stores and how to implement them.
What Is WCAG 2.1 and How Does It Apply to Shopify?
The Web Content Accessibility Guidelines (WCAG) 2.1 is the international standard for web accessibility, published by the W3C. It defines success criteria organized into three conformance levels:
| Level | Requirements | Legal Standard |
|---|---|---|
| A | Basic accessibility — text alternatives, keyboard access, no seizure risks | Minimum, insufficient alone |
| AA | Enhanced accessibility — color contrast, resizable text, consistent navigation | Required by most laws |
| AAA | Highest accessibility — sign language, extended audio description, no timing | Aspirational, not required |
WCAG 2.1 Level AA is the target for Shopify stores. It is referenced by the ADA (US), the European Accessibility Act (EU), AODA (Canada), and most other accessibility legislation.
The four principles of WCAG are: Perceivable (users can perceive the content), Operable (users can navigate and interact), Understandable (content is clear and predictable), and Robust (content works with assistive technologies).
How Do You Audit Your Shopify Store's Accessibility?
Before making changes, assess your current state:
Step 1: Automated testing. Run your homepage, a product page, and a collection page through these free tools:
- WAVE Web Accessibility Evaluator (wave.webaim.org)
- Google Lighthouse (built into Chrome DevTools)
- axe DevTools browser extension
Step 2: Keyboard testing. Unplug your mouse and navigate your store using only the keyboard. Can you reach every link, button, and form field? Can you complete a purchase?
Step 3: Screen reader testing. Use VoiceOver (Mac), NVDA (Windows), or TalkBack (Android) to browse your store. Listen to how product information is announced. Is it coherent?
Step 4: Color contrast check. Use a contrast checker tool to verify that all text meets the 4.5:1 ratio requirement against its background.
Document every issue found, categorize by WCAG criterion, and prioritize by impact and frequency.
How Do You Fix Alt Text Across Your Shopify Store?
Alt text is the most common accessibility failure on Shopify stores. Every image needs meaningful alternative text that describes its content and function.
Product images: Describe the product specifically. Not "product image" — instead, "Navy blue merino wool crew neck sweater, front view." Include color, material, and orientation when relevant.
Decorative images: Images that serve no informational purpose (background patterns, decorative dividers) should have empty alt text (alt=""), which tells screen readers to skip them.
Adding alt text in Shopify:
- Product images: Edit the product, click on each image, and enter alt text in the field
- Theme images: Most theme settings include alt text fields for banners, logos, and section images
- Blog images: Add alt text when inserting images in the blog post editor
- Via Liquid: Ensure your theme's image tags include the
altattribute:{{ image | image_url: width: 800 | image_tag: alt: image.alt }}
Bulk alt text: For stores with hundreds of products missing alt text, use Shopify's bulk editor or a CSV export/import to add alt text at scale. Some AI tools can generate initial alt text that you then review and refine.
How Do You Ensure Keyboard Navigation Works?
Every interactive element — links, buttons, form fields, dropdown menus, sliders, accordions, modals — must be usable with a keyboard alone.
Focus indicators. When a user tabs through your page, a visible outline should indicate which element is focused. Many Shopify themes remove the default focus outline for visual reasons, which breaks keyboard accessibility. Ensure your CSS includes visible focus styles:
*:focus-visible {
outline: 2px solid #005fcc;
outline-offset: 2px;
}
Tab order. Elements should receive focus in a logical order that matches the visual layout. Do not use tabindex values greater than 0, as they disrupt natural tab order. If your theme uses JavaScript to create custom interactive components, verify they manage focus correctly.
Common Shopify keyboard issues:
- Dropdown menus that only open on hover (need keyboard activation)
- Modal popups that trap focus incorrectly or cannot be closed with Escape
- Image carousels and sliders without keyboard controls
- Add-to-cart buttons that are not accessible after variant selection
- Mega menus that are impossible to navigate without a mouse
How Do You Meet Color Contrast Requirements?
WCAG 2.1 Level AA requires a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text (18px+ or 14px+ bold).
| Element | Common Issue | Fix |
|---|---|---|
| Body text | Light gray on white (#999 on #fff = 2.8:1) | Darken to #595959 or darker (7:1) |
| Link text | Light blue that fails contrast | Use #0056b3 or darker on white backgrounds |
| Button text | White on light-colored buttons | Ensure button background is dark enough |
| Placeholder text | Very light gray in form fields | Use #767676 minimum, or use labels instead |
| Sale/badge text | Red or green on white | Verify specific hex values meet 4.5:1 |
| Footer text | Light text on dark background | Verify specific combination meets ratio |
Testing: Use the WebAIM Contrast Checker (webaim.org/resources/contrastchecker) to verify specific color combinations. Input your foreground and background hex codes to get the exact ratio.
Do not rely on color alone. If you use color to indicate sale prices, in-stock status, or errors, also use text labels, icons, or patterns. A red "Sale" badge is fine, but a product that only shows a different price color without a "Sale" label fails accessibility.
How Do You Make Forms Accessible?
Checkout and account forms are critical accessibility touchpoints.
Labels: Every form field must have a visible <label> element associated with it via the for attribute. Placeholder text is not a substitute for labels — it disappears when the user starts typing.
<label for="email">Email address</label>
<input type="email" id="email" name="email" required aria-required="true">
Error messages: When form validation fails, error messages must be associated with the specific field, announced to screen readers, and visually clear. Use aria-describedby to link error messages to their fields.
Autocomplete: Add the autocomplete attribute to form fields (e.g., autocomplete="email", autocomplete="given-name") to help users with motor disabilities fill forms faster.
Shopify checkout: Shopify's hosted checkout is managed by Shopify and is generally accessible. Custom checkout sections added via Checkout Extensibility should be tested separately for accessibility.
How Do You Handle Dynamic Content Accessibly?
Shopify stores frequently use dynamic content — AJAX cart updates, quick-view modals, live search results, and dynamically loaded product options. These features can be invisible to screen readers if not implemented correctly.
ARIA live regions. When content updates dynamically (e.g., cart count changes after adding an item), use aria-live="polite" to announce the change to screen readers:
<div aria-live="polite" aria-atomic="true">
<span class="cart-count">{{ cart.item_count }} items in cart</span>
</div>
Modal focus management. When a modal opens, move focus to the modal. When it closes, return focus to the element that triggered it. Trap tab focus within the modal while it is open.
Loading states. When content is loading (AJAX product filtering, infinite scroll), announce the loading state with aria-busy="true" and announce when content is ready.
How Do You Structure Content for Screen Readers?
Heading hierarchy. Use heading levels (H1-H6) in logical order. Every page should have one H1 (the page title), followed by H2s for major sections, H3s for subsections, and so on. Do not skip levels (e.g., H1 to H3 without an H2).
Landmark regions. Use semantic HTML elements that define page regions: <header>, <nav>, <main>, <aside>, <footer>. Screen reader users navigate by landmarks to jump to the section they need.
Skip navigation link. Add a "Skip to main content" link as the first focusable element on every page. This lets keyboard and screen reader users bypass the navigation menu:
<a href="#main-content" class="skip-link">Skip to main content</a>
What Tools and Apps Help With Shopify Accessibility?
| Tool/App | Type | What It Does |
|---|---|---|
| WAVE | Free browser tool | Identifies accessibility errors and alerts |
| axe DevTools | Free browser extension | Automated accessibility testing |
| Lighthouse | Built into Chrome | Accessibility score and diagnostics |
| Accessible Theme (Dawn) | Shopify theme | Built with accessibility as a priority |
| accessiBe | Paid Shopify app | AI-powered accessibility widget (supplement, not substitute) |
| EqualWeb | Paid Shopify app | Accessibility monitoring and remediation |
Important caveat: Accessibility overlay widgets (accessiBe, UserWay, AudioEye) are controversial in the accessibility community. They can help with some issues but do not fix underlying code problems and have been rejected as sufficient by courts in multiple lawsuits. Use them as a supplement to proper coding, not a replacement.
What Are the Steps to Make Your Shopify Store Accessible?
- Run an automated audit using WAVE, Lighthouse, and axe DevTools on your key pages
- Test with keyboard only — navigate your entire purchase flow without a mouse
- Add alt text to all images — product images, banners, icons, and decorative images
- Fix color contrast issues — verify all text meets 4.5:1 ratio
- Ensure all forms have proper labels and error handling
- Add a skip navigation link to your theme
- Verify heading hierarchy on every page template
- Test with a screen reader — VoiceOver or NVDA through a complete purchase
- Fix dynamic content — ARIA live regions for cart updates, proper modal management
- Document your accessibility statement — publish it on your site describing your commitment and standards
- Schedule quarterly audits — accessibility requires ongoing maintenance as you update your store
Accessibility is not a feature — it is a quality standard that affects every element of your store. The investment pays returns in expanded customer reach, legal protection, improved SEO (search engines favor accessible sites), and AI system compatibility (AI agents rely on the same semantic HTML that screen readers use). Start with the highest-impact issues from your audit and work through systematically.