Shopify WCAG 2.1 AA Compliance Checklist: 50+ Action Items for Accessible Ecommerce
Over 1.3 billion people worldwide live with some form of disability, representing $13 trillion in annual spending power. WCAG 2.1 AA is the internationally recognized standard for web accessibility. For Shopify store owners, meeting this standard is both a legal safeguard and a revenue opportunity — accessible stores convert more visitors into customers.
Understanding WCAG 2.1 for Shopify
The Web Content Accessibility Guidelines (WCAG) 2.1 are organized around four principles, often remembered by the acronym POUR: Perceivable, Operable, Understandable, and Robust. Each principle contains guidelines, and each guideline has testable success criteria at three levels: A (minimum), AA (target for most sites), and AAA (enhanced).
For Shopify stores, Level AA compliance is the standard you should aim for. It is the level referenced by most accessibility laws, including the Americans with Disabilities Act (ADA) as interpreted by US courts, the European Accessibility Act (EAA), and Canada's Accessible Canada Act.
This checklist covers every WCAG 2.1 AA success criterion as it applies specifically to Shopify stores, organized by the four POUR principles.
Principle 1: Perceivable (17 Items)
Content must be presentable to users in ways they can perceive, regardless of which senses they use.
1.1 Text Alternatives
- Add alt text to all product images. Every product image must have descriptive alt text that conveys the product's appearance, color, and key features. In Shopify admin, fill in the "Alt text" field for each image.
- Add alt text to all collection and banner images. Hero banners, collection images, and promotional graphics need alt text that describes the visual content or the promotional message.
- Use empty alt attributes for decorative images. Images that are purely decorative (background textures, dividers, decorative icons) should have
alt=""so screen readers skip them. - Provide text alternatives for icons. If you use icon fonts or SVG icons for navigation (cart, search, account), they need accessible labels via
aria-labelor visually hidden text. - Add alt text to app-generated images. Check that any images generated by installed apps (review photos, Instagram feeds, badges) have appropriate alt text.
1.2 Time-Based Media
- Add captions to product videos. All pre-recorded videos with spoken content need synchronized captions. Use YouTube or Vimeo's captioning tools if you embed from those platforms.
- Provide transcripts for audio content. Podcasts, audio descriptions, or any audio-only content needs a text transcript available on the same page or linked prominently.
- Add audio descriptions for video-only content. If a product video demonstrates features without narration, provide an audio description track or a detailed text description.
1.3 Adaptable Content
- Use proper heading hierarchy. Every page should have one H1, followed by H2s for major sections, H3s for subsections, and so on. Never skip heading levels (e.g., H1 to H3).
- Use semantic HTML elements. Use
<nav>for navigation,<main>for primary content,<footer>for footer,<button>for interactive controls, and<table>for tabular data. - Mark up lists properly. Product feature lists, navigation menus, and bullet points should use
<ul>,<ol>, or<dl>elements, not styled<div>elements. - Label form fields correctly. Every form input needs a visible
<label>element associated via theforattribute. This applies to email signup forms, contact forms, search bars, and quantity selectors. - Ensure content is not orientation-locked. Your store must work in both portrait and landscape orientations on mobile devices.
- Support autocomplete on appropriate fields. Add
autocompleteattributes to checkout and account form fields (name, email, address, phone) to help users with motor disabilities fill forms faster.
1.4 Distinguishable Content
- Meet color contrast ratios. Normal text must have a contrast ratio of at least 4.5:1 against its background. Large text (18px bold or 24px regular) needs at least 3:1. Use the WebAIM contrast checker to verify.
- Do not use color alone to convey information. If a sale price is shown in red, also include a "Sale" label or strikethrough on the original price. Size selectors should not rely solely on color to indicate availability.
- Ensure text can be resized to 200% without loss. Users must be able to zoom text to 200% without content being clipped, truncated, or overlapping. Test by zooming your browser to 200%.
Automated tools catch only 30–40% of WCAG issues. Tools like WAVE and axe DevTools are essential for finding missing alt text, contrast failures, and missing labels. But keyboard navigation, reading order, and content comprehension require manual testing with screen readers like NVDA (Windows) or VoiceOver (Mac/iOS).
Principle 2: Operable (16 Items)
Users must be able to operate the interface using whatever input method they have available — keyboard, mouse, voice, switch, or assistive device.
2.1 Keyboard Accessible
- All functionality available via keyboard. Every interactive element — links, buttons, menus, dropdowns, modals, carousels, accordions — must be operable using only a keyboard (Tab, Enter, Space, Arrow keys, Escape).
- No keyboard traps. Users must be able to navigate into and out of every component using only the keyboard. Test that modal dialogs, mega-menus, and filter panels can be closed with Escape and that focus returns to the triggering element.
- Implement visible focus indicators. Every focusable element must have a clearly visible focus outline when navigated to via keyboard. Never use
outline: nonewithout providing an alternative focus style. - Add a skip navigation link. Include a "Skip to main content" link as the first focusable element on every page. This lets keyboard users bypass repetitive navigation.
- Ensure cart drawer is keyboard accessible. If your theme uses a slide-out cart drawer, focus must move into the drawer when it opens and trap within it until closed. The Escape key should close the drawer.
2.2 Enough Time
- Allow users to extend time limits. If your store uses countdown timers for sales or cart reservations, provide a way to extend the time or warn users before expiration.
- Provide pause controls for auto-updating content. Slideshow carousels, rotating testimonials, and auto-scrolling banners must have pause, stop, or hide controls.
- Allow pausing of animations. Any animation that starts automatically and lasts more than 5 seconds must be pausable. This includes animated background videos and product showcase animations.
2.3 Seizures and Physical Reactions
- Avoid flashing content. No content should flash more than three times per second. This includes animated GIFs, video content, and JavaScript-driven animations. Flashing content can trigger seizures in people with photosensitive epilepsy.
- Provide motion reduction options. Respect the
prefers-reduced-motionmedia query. When enabled, disable parallax scrolling, auto-playing videos, and complex CSS animations.
2.4 Navigable
- Use descriptive page titles. Each page needs a unique, descriptive
<title>that identifies the page content and the site name. - Use meaningful link text. Links should describe their destination. Avoid "Click here" or "Read more" — instead use "View product details" or "Read our return policy."
- Implement breadcrumb navigation. Breadcrumbs help users understand where they are in your site hierarchy and navigate back to parent categories.
- Ensure logical focus order. When tabbing through a page, focus should move in a logical order that follows the visual layout: header, navigation, main content, sidebar, footer.
- Provide multiple ways to find pages. Offer at least two ways to locate content: navigation menus, search, sitemap, or related links.
- Use descriptive headings and labels. Headings and labels should describe the topic or purpose of the content that follows them. "Our Products" is better than "Section 2."
2.5 Input Modalities
- Support pointer cancellation. For actions triggered by mouse/touch, the action should complete on the "up" event (mouseup/touchend) so users can cancel by moving away.
- Match accessible names with visible labels. If a button shows "Add to Cart" visually, its accessible name (aria-label or text content) must also contain "Add to Cart."
- Do not require complex gestures. Any action that requires multi-point or path-based gestures (pinch, swipe) must also be achievable with a single pointer click or tap.
Principle 3: Understandable (9 Items)
Content and interface operation must be understandable to all users.
3.1 Readable
- Set the page language. Add
lang="en"(or appropriate language code) to the<html>element so screen readers use the correct pronunciation. - Mark language changes within content. If product descriptions include words or phrases in another language, wrap them in a
spanwith the appropriatelangattribute.
3.2 Predictable
- Consistent navigation across pages. The main navigation menu should appear in the same location and order on every page of your store.
- Consistent identification of components. Elements that serve the same function should look the same and have the same labels across all pages. The "Add to Cart" button should not become "Buy Now" on some pages unless it genuinely serves a different function.
- No unexpected context changes on input. Changing a form field value (like selecting a product variant) should not automatically submit the form, navigate to a new page, or open a modal without warning.
3.3 Input Assistance
- Identify input errors clearly. When a form submission fails, identify which fields have errors and describe the error in text. Do not rely solely on red borders or color changes.
- Provide visible labels for all inputs. Every form field must have a visible label. Placeholder text alone is not sufficient because it disappears when the user starts typing.
- Provide input instructions. For fields with specific format requirements (phone number, postal code), provide instructions or examples before the user fills them in.
- Offer error correction suggestions. When a user enters an invalid email format or misses a required field, suggest how to fix the error: "Please enter a valid email address (e.g., name@example.com)."
- Provide error prevention for financial transactions. For checkout submissions and account changes, allow users to review, confirm, and correct information before finalizing.
Principle 4: Robust (6 Items)
Content must be robust enough to be interpreted by a wide variety of user agents, including assistive technologies.
- Validate HTML. Use the W3C HTML Validator to check for parsing errors. Duplicate IDs, unclosed tags, and invalid nesting can break assistive technology interpretation.
- Use ARIA roles and properties correctly. If you use ARIA attributes, ensure they follow the WAI-ARIA specification. Incorrect ARIA is worse than no ARIA — it actively misleads screen reader users.
- Provide name, role, and value for custom controls. Custom-built elements like star ratings, quantity steppers, and color swatches need proper ARIA roles, states, and properties so assistive technologies can interpret them.
- Ensure status messages are announced. When adding to cart, submitting a form, or applying a discount code, use
aria-liveregions to announce the result to screen reader users without moving focus. - Test with multiple assistive technologies. Validate your store with at least two screen readers (NVDA + VoiceOver), keyboard navigation, and browser zoom at 200%.
- Monitor third-party app accessibility. Installed apps inject their own HTML and JavaScript. Audit each app's output for accessibility issues — review widgets, popups, chat buttons, and embedded forms are common problem areas.
Shopify-Specific Accessibility Considerations
Theme Selection
Your theme is the foundation of your store's accessibility. Shopify's free Online Store 2.0 themes (Dawn, Sense, Craft, Ride, Taste, etc.) are built with accessibility as a priority and generally meet most WCAG 2.1 AA criteria at the structural level. Third-party themes vary widely — before purchasing, test the theme demo with keyboard navigation and a screen reader.
Checkout Accessibility
Shopify controls the checkout experience for most stores. Shopify's checkout is generally accessible, but Shopify Plus merchants who customize checkout should verify that customizations maintain accessibility. Test every step of the checkout flow with keyboard navigation and screen readers.
Using EA Accessibility for Automated Fixes
While full WCAG compliance requires both automated and manual effort, apps like EA Accessibility can handle many of the technical requirements automatically. The app provides skip navigation links, enhanced focus indicators, text resizing controls, contrast adjustments, and ARIA improvements — addressing dozens of checklist items without code changes. This lets you focus your manual effort on content-level items like writing quality alt text and structuring headings.
Testing Tools and Resources
| Tool | Type | What It Tests | Cost |
|---|---|---|---|
| WAVE | Automated | Alt text, contrast, labels, ARIA, structure | Free |
| axe DevTools | Automated | WCAG violations with code-level detail | Free (basic) |
| Lighthouse | Automated | Accessibility score with pass/fail criteria | Free (Chrome) |
| NVDA | Screen reader | Full screen reader testing on Windows | Free |
| VoiceOver | Screen reader | Full screen reader testing on Mac/iOS | Built-in |
| Colour Contrast Analyser | Manual | Precise contrast ratio measurement | Free |
| Keyboard only | Manual | Focus order, traps, operability | Free |
Compliance Priority Matrix
Not all WCAG criteria have equal impact. Prioritize fixes based on severity and frequency of impact:
| Priority | Items | Impact |
|---|---|---|
| Critical | Keyboard access, focus indicators, skip nav, form labels, alt text | Blocks entire user groups from using your store |
| High | Color contrast, heading hierarchy, error identification, link text | Makes store very difficult to use for many users |
| Medium | Video captions, ARIA roles, autocomplete, language attributes | Degrades experience for specific user groups |
| Lower | Orientation lock, motion reduction, pointer cancellation | Affects smaller populations but still legally required |
Related Guides
- Accessible Forms for Shopify Stores
- Shopify Store Accessibility Guide
- Shopify Accessibility Checklist
- How to Add Accessibility to Shopify
- Case Study: Accessibility Compliance
Frequently Asked Questions
Is WCAG compliance legally required for Shopify stores?
While WCAG itself is a set of guidelines rather than law, many jurisdictions reference it in accessibility legislation. In the US, the ADA has been interpreted by courts to apply to commercial websites, and the DOJ has referenced WCAG 2.1 AA as the standard. The European Accessibility Act requires compliance by June 2025. Shopify stores selling to customers in these regions should treat WCAG 2.1 AA as a practical legal requirement.
What is the difference between WCAG A, AA, and AAA?
WCAG has three conformance levels. Level A covers the most basic accessibility requirements (25 criteria). Level AA adds 13 more criteria including color contrast minimums and consistent navigation — it is the standard most laws reference. Level AAA adds 23 additional criteria that are often impractical for commercial sites. Target AA for your Shopify store.
How do I test my Shopify store for WCAG compliance?
Use a combination of automated and manual testing. Automated tools like WAVE, axe DevTools, and Lighthouse catch about 30–40% of issues including missing alt text, contrast failures, and missing form labels. Manual testing must cover keyboard navigation, screen reader compatibility, focus order, and content comprehension. Test with actual assistive technology like NVDA or VoiceOver for complete coverage.
Do Shopify themes come WCAG compliant?
Shopify's free themes (Dawn, Sense, Craft, etc.) are built with accessibility in mind and generally meet many WCAG 2.1 AA criteria out of the box. However, no theme is fully compliant by default because compliance also depends on the content you add — product images need alt text, videos need captions, and custom sections need proper heading hierarchy. Third-party themes vary significantly.
Can an app make my Shopify store WCAG compliant?
An accessibility app like EA Accessibility can automate many fixes including skip navigation links, focus indicators, text resizing controls, contrast enhancements, and ARIA improvements. However, no single tool achieves 100% compliance because content-level issues (writing alt text, structuring headings, captioning videos) require human judgment. Use an app for the technical layer and invest manual effort in the content layer.
Automate WCAG Compliance on Your Shopify Store
EA Accessibility adds skip navigation, focus indicators, text resizing, contrast controls, and ARIA fixes — covering dozens of WCAG criteria automatically.
Install Free on Shopify