How to Conduct a Shopify ADA Accessibility Audit—and Fix the Issues You Find
A Complete Guide to Auditing Shopify Themes, Product Pages, Navigation, Forms, Checkout Journeys, Apps, Images, Videos, and Custom Code for Accessibility Barriers

01117 Tickets, and No Idea Where to Start

A Shopify merchant receives an accessibility report. It contains 117 tickets spread across the homepage, product cards, product pages, variant selectors, the cart drawer, search, collection filters, forms, popups, videos, and a handful of third-party apps. The merchant knows this needs attention. What they don't know is which tickets actually affect the most customers, which ones can be fixed in the theme editor this afternoon, which ones require real Liquid or JavaScript development, which ones the business can't fix at all because an app vendor owns that code, how to actually verify a fix worked, or how to keep the same issues from quietly reappearing after the next theme update.
Accessibility remediation is not installing a plugin. It's a structured technical and operational project, and treating it as anything smaller is exactly how a business ends up with a widget installed, a clear conscience, and the same real barriers still sitting underneath it.
This guide is the complete, implementation-oriented reference for conducting a Shopify ADA accessibility audit, and for actually fixing what that audit finds. The full system: Accessibility Requirements, into a Storefront and Theme Audit, into Automated and Manual Testing, into a Remediation Backlog, into Shopify Theme Development, into App and Content Corrections, into Quality Assurance, into Accessibility Documentation, into Continuous Maintenance. This isn't a list of scanning tools. It's how to combine automated testing, manual review, keyboard testing, screen-reader testing, mobile testing, theme-code inspection, app testing, customer-journey testing, issue prioritization, development remediation, regression testing, documentation, and ongoing governance into one real process.
02Section 1: What Is a Shopify Accessibility Audit?
An audit reviews whether customers with disabilities can navigate the store, understand its content, find products, select variants, add products to cart, complete forms, review errors, access media, use search and filters, reach checkout, understand status changes, and complete purchases. It's worth distinguishing several related but genuinely different things: an accessibility scan, a preliminary review, a technical audit, a WCAG conformance evaluation, a remediation project, and a legal review. W3C describes accessibility evaluation as encompassing assessment, audit, and testing, and provides separate guidance for an initial, lighter check versus a more complete conformance evaluation.
03Section 2: Understand WCAG
WCAG is organized around four principles. Perceivable means customers must be able to perceive the information presented. Operable means customers must be able to operate controls and navigation. Understandable means content and interactions must be genuinely understandable. Robust means content must work reliably with browsers and assistive technologies.
Within that structure, WCAG defines Level A, Level AA, and Level AAA conformance, built from individual success criteria, documented techniques for meeting them, and documented common failures. WCAG 2.2, the current W3C standard, added nine success criteria beyond WCAG 2.1. This guide uses WCAG 2.2 as the technical reference point throughout, while being direct that the specific conformance target a given merchant should aim for can differ based on contracts, legal advice, organizational policy, or a specific accessibility partner's own requirements.
04Section 3: Understand Shopify's Role
Shopify provides theme architecture, theme-editor settings, Liquid templates, sections and blocks, product and collection templates, app integrations, and checkout functionality subject to the merchant's specific plan and available checkout extensibility. Shopify publishes its own accessibility guidance for merchants and theme developers, covering accessible links and buttons, alternative text, keyboard focus, screen-reader announcements for dynamic changes, and recommended testing tools including Lighthouse, WAVE, and Accessibility Insights.
None of that makes a store automatically accessible. Merchant content can introduce barriers. Theme customizations can introduce barriers. Third-party apps can introduce barriers. Custom JavaScript can quietly break an interaction pattern that was accessible before it was touched. The platform provides the tools; the merchant remains responsible for reviewing the actual, final customer experience.
05Section 4: Create the Storefront Inventory
Before any testing starts, identify every important template and journey: the homepage, collection pages, product pages, search results, the cart page, the cart drawer, customer login, account pages, the contact page, the blog, article pages, landing pages, gift cards, the password page, subscription pages, a quiz or product finder, the localization selector, a wish list, reviews, a loyalty program, popups, chat, and every checkout entry point.
Build this into a real spreadsheet or ticketing structure tracking URL, template, component, the app involved where relevant, test status, issue count, severity, owner, fix status, and retest status. This inventory is the backbone the entire rest of the audit gets organized around.
06Section 5: Choose a Representative Audit Sample
A large Shopify store may have thousands of individual URLs but a far smaller number of reusable templates and components underneath them. Select representative examples covering each product template, each collection template, different product types, products with variants, sold-out products, subscription products, discounted products, products with video, products with 3D media, different form types, different navigation states, logged-in and logged-out experiences, and both mobile and desktop.
Testing only the homepage tells you almost nothing about whether a customer can actually complete a purchase. The templates that carry real revenue, product pages, cart, checkout entry, forms, deserve the deepest testing regardless of how much traffic the homepage itself receives.
07Section 6: Run Automated Accessibility Tests
Relevant tools include Lighthouse, WAVE, Accessibility Insights, axe-based testing, browser accessibility inspectors, and CI-based accessibility testing integrated into a development pipeline. Shopify itself recommends several of these as part of theme accessibility testing. Automated checks are genuinely good at catching missing form labels, missing image alternatives, insufficient color contrast, duplicate IDs, invalid ARIA, a missing document language attribute, heading structure problems, empty buttons, empty links, and some landmark issues.
What they can't do is determine accessibility on their own. W3C is explicit that automated tools assist evaluation but can miss real issues and can also produce misleading results; human judgment is required for a genuine audit, not just a supplementary nice-to-have.
08Section 7: Conduct Keyboard-Only Testing
Test the entire store without touching a mouse. Verify every interactive control can actually receive focus, that focus order is logical, that focus is visibly indicated, that dropdown navigation can be opened and closed, that modals trap focus appropriately, that focus returns to the triggering control once a dialog closes, that product variants can genuinely be selected, that quantity controls work, that collection filters work, that the cart drawer is usable, that search suggestions are operable, that Escape closes the appropriate overlay, that no keyboard traps exist anywhere, and that hidden elements never remain reachable in the focus order.
Shopify's own accessibility guidance emphasizes keyboard-operable controls and visible focus states specifically, including for interactive product media, which is exactly the kind of component that tends to be built with a mouse-first interaction model and never properly tested against a keyboard afterward.
09Section 8: Conduct Screen-Reader Testing
Test with combinations appropriate to the store's actual customer base: NVDA paired with Firefox or Chrome, VoiceOver paired with Safari, TalkBack on Android, and any other combination genuinely relevant. Review page titles, headings, landmarks, navigation, link names, button names, product prices, sale prices, variant changes, inventory messages, cart updates, errors, modal names, form instructions, search suggestions, and dynamic content generally.
Shopify's guidance specifically recommends that dynamic product price and availability changes be communicated to screen-reader users, including through appropriate live-region behavior, since a sighted user sees a price update visually the instant it happens, while a screen-reader user gets nothing unless that change is explicitly announced.
10Section 9: Audit Page Structure
Review whether each page has one meaningful primary heading where appropriate, a logical heading hierarchy, navigation landmarks, a main content landmark, a footer landmark, real lists used for actual list content, tables used only for genuinely tabular data, sensible semantic section structure, proper page titles, and a correctly declared page language.
Visual styling doesn't create semantic meaning for assistive technology. Text that looks like a heading because it's large and bold, but isn't actually marked up as a heading, is invisible as a heading to a screen reader; the visual design and the underlying structure are two entirely separate things, and only the second one matters here.
11Section 10: Audit Navigation and Menus
Test desktop navigation, mobile navigation, dropdown menus, mega menus, submenus, breadcrumbs, skip links, search, account links, cart controls, and localization selectors. Check correct element type, expanded and collapsed states, accessible names, focus movement, Escape behavior, touch-target size, hover-only interactions, and screen-reader announcement.
Shopify notes that accessible dropdown headers are commonly implemented as buttons rather than links, since a button communicates its actual interactive role, toggling something open or closed, more clearly to assistive technology than a link, which implies navigation to a different location.
12Section 11: Audit Images and Alternative Text
Review product images, collection images, hero banners, icons, logos, promotional graphics, lifestyle images, infographics, images containing text, and genuinely decorative imagery. Understand the difference between informative alt text, decorative empty alt attributes, functional image labels, redundant descriptions, and missing descriptions entirely.
Shopify provides native ways to add alt text to theme and product images, but the platform can't write meaningful descriptions on the merchant's behalf; writing alt text that actually reflects each image's real purpose remains genuinely manual, human work.
13Section 12: Audit Color and Visual Presentation
Review text contrast, button contrast, link contrast, placeholder contrast, focus indicators, error states, disabled controls, sale pricing, badges, text placed over images, and any color-only status indicator. Color should never be the only way a store communicates errors, sale status, product availability, a selected variant, a required field, or a success state; anyone who can't reliably distinguish the specific colors involved needs a second, non-color signal to rely on instead.
14Section 13: Audit Product Cards
Check the product title link, the product-image link, whether those two links are unnecessarily repeated for the same destination, sale price announcement, compare-at price, product badges, the quick-add button, a wishlist button, variant information, sold-out status, accessible button labels, and focus order across the whole card.
Product grids can become genuinely noisy and repetitive for a screen-reader user specifically, since a card with a duplicated title link, an image link, a quick-add button, and a wishlist button can force someone navigating by keyboard or screen reader to tab through four or five stops just to reach the next actual product.
15Section 14: Audit Product Pages
Test the product title, price, sale price, product media, variant selector, quantity selector, subscription selector, add-to-cart button, dynamic availability, error handling, the product description, accordion content, reviews, shipping information, pickup availability, and any sticky purchase controls.
Pay particular attention to dynamic state changes. When a shopper selects a different variant, the store may update price, inventory, SKU, the displayed image, delivery information, and purchase eligibility, all at once. Every one of those changes needs to be genuinely understandable to someone using assistive technology, not just visible to someone who happens to be looking at the screen at that exact moment.
16Section 15: Audit Product Media
Review image gallery controls, thumbnails, videos, captions, transcripts, autoplay behavior, audio controls, 3D models, zoom controls, and carousel announcements. Shopify's own media guidance recommends genuine keyboard support, accessible controls, real alternatives for visual content, and testing with multiple assistive technologies rather than assuming one screen reader's behavior represents them all.
17Section 16: Audit Forms
Test contact forms, newsletter forms, registration, login, search, gift-card forms, product personalization, address forms, discount forms, back-in-stock forms, and any app-generated forms. Review visible labels, programmatic labels, required-field indicators, instructions, error identification, error summaries, focus movement on error, autocomplete attributes, declared input purpose, success confirmation, and general keyboard usability.
Never rely on a placeholder as a field's only label. A placeholder disappears the moment someone starts typing, and it isn't reliably exposed to assistive technology as a label in the first place; a form that only ever had placeholder text has, functionally, no real label at all.
18Section 17: Audit Error Messages
Confirm errors identify the specific affected field, explain what actually went wrong, explain how to correct it, are announced to screen readers, don't rely only on color to signal the problem, move focus appropriately where that genuinely helps, preserve whatever the customer already entered, and remain visible long enough to actually be read and understood.
Test this against real scenarios: an invalid email, a missing required field, an invalid discount code, an unavailable variant, a quantity limit exceeded, a failed login, and an address error. A generic "something went wrong" message fails every one of these tests at once, regardless of how it's styled.
19Section 18: Audit Search and Predictive Search
Review the search field's label, the search button, a clear button, suggested results, keyboard movement through those suggestions, result count, the no-results state, highlighted matching terms, focus management, screen-reader announcements, and the loading state itself. Autocomplete widgets specifically require careful ARIA and keyboard behavior, since a list of suggestions that appears and disappears dynamically, outside the normal page flow, is exactly the kind of pattern that breaks silently if it wasn't built with assistive technology in mind from the start.
20Section 19: Audit Collection Filters and Sorting
Test the filter drawer, filter groups, checkbox controls, range sliders, applied filters, a clear-all control, product-count updates, sorting, mobile behavior, focus restoration, and dynamic announcements. Common problems here include custom divs used in place of native form inputs, missing labels on filter controls, hidden controls that remain focusable anyway, results that change with no announcement to a screen-reader user, and focus that jumps unpredictably once a filter is applied.
21Section 20: Audit the Cart
Review the cart page, the cart drawer, quantity updates, remove buttons, discount forms, subtotals, error messages, inventory changes, the checkout link, the empty-cart state, dynamic updates generally, and focus behavior throughout. Cart drawers and modals are consistently among the most frequent sources of real accessibility defects on Shopify stores specifically, since they combine dynamic content, focus management, and keyboard interaction, three of the hardest things to get right, all in one small, heavily-used component.
22Section 21: Audit Checkout-Related Journeys
What a merchant can actually test and modify here depends on their current Shopify plan and available checkout extensibility. Test the transition into checkout, accessible names throughout, form controls, address fields, error handling, payment options, discount codes, express checkout buttons, any post-purchase experience, and checkout apps or extensions.
Draw a clear line between theme-controlled storefront code the merchant genuinely controls, Shopify-controlled checkout functionality that sits outside the theme entirely, app-controlled checkout extensions owned by a third party, and merchant-configurable content within whatever boundaries the platform allows. Not every checkout defect can be corrected through theme code, and claiming otherwise sets an expectation the platform itself may not support.
23Section 22: Audit Modals, Popups, and Drawers
Review the newsletter popup, an age gate, a cookie banner, a promotion popup, the cart drawer, a size chart, quick view, a chat widget, and any localization modal. Verify each has a proper accessible name, that focus genuinely enters the dialog when it opens, that focus stays within the dialog where that's appropriate, that Escape closes it, that the close control is itself accessible, that background content isn't still reachable while the dialog is open, that focus correctly returns to whatever triggered it once closed, and that a popup doesn't interrupt the customer immediately with no clear reason for doing so.
24Section 23: Audit Third-Party Apps
Build a genuine app inventory: reviews, loyalty, subscriptions, upsells, bundles, wish lists, chat, search, filters, popups, quizzes, personalization, back-in-stock alerts, and social galleries. For each one, record the vendor, which storefront components it actually controls, its specific accessibility issues, whether merchant-side code can fix them at all, whether vendor support is genuinely required instead, replacement options if it can't be fixed, its real business impact, and who owns following up on it.
Some issues genuinely can't be safely corrected through merchant CSS alone, because the app owns the underlying markup and behavior directly; a CSS patch layered on top of code the merchant doesn't control is a workaround, not a fix, and it can break again the next time the app updates itself.
25Section 24: Audit Content, Not Only Code
Review link wording, heading wording, product descriptions, image descriptions, video captions, instructions, tables, PDF documents, blog content, promotional graphics, all-caps text, ambiguous calls to action, and text embedded directly inside images. Weak, repeated link text like "click here," "learn more," or "read more," gives a screen-reader user navigating by a list of links on the page absolutely no way to tell one link from another; the surrounding visual context that makes the link obvious to a sighted user simply isn't there for someone navigating that way.
26Section 25: Audit Mobile Accessibility
Test portrait and landscape orientation, zoom, text reflow, touch-target size, sticky controls, mobile menus, filter drawers, product galleries, forms, the virtual keyboard, error messages, screen-reader gestures specifically, and any content that gets hidden at a particular breakpoint. Responsive design is not automatically accessible design; a layout that reflows cleanly can still have touch targets too small to reliably tap, or content that's technically present but effectively unreachable through mobile screen-reader gestures.
27Section 26: Test Zoom and Text Reflow
Review the store at increased zoom and increased text size specifically. Check for content clipping, overlapping text, hidden controls, unwanted horizontal scrolling, fixed headers that eat up screen space, sticky add-to-cart bars that cover content underneath them, modal content, navigation, forms, product pricing, and cart controls, all at meaningfully larger zoom levels than a typical desktop testing session would ever use by default.
28Section 27: Build the Accessibility Issue Backlog
Every issue in the backlog should carry a ticket ID, the page or component affected, its URL, the relevant WCAG criterion, severity, real user impact, steps to reproduce it, expected behavior, actual behavior, the browser used, the assistive technology used, a screenshot or recording, the code owner, the app owner where relevant, a recommended fix, and its eventual retest result.
A vague ticket like "button not accessible" creates rework almost by design; whoever picks it up has to reconstruct the actual problem from scratch before they can even start fixing it, and there's a real risk they fix a different, adjacent issue than the one originally found.
29Section 28: Prioritize Issues
Use practical severity categories. Critical issues block purchasing or core navigation entirely: checkout can't be reached by keyboard, add-to-cart is genuinely inaccessible, a modal creates a real keyboard trap, a form simply can't be completed. High issues create a major barrier but may have a workaround. Medium issues create genuine friction or a real loss of information without fully blocking the task. Low issues are improvement opportunities with limited immediate impact.
Prioritize further by whether an issue lives in a reusable component, how frequently it actually occurs, whether it sits in a genuine revenue journey, how many templates it affects, real user impact, any specific legal advice the business has received, and development risk. Fixing one shared component correctly can resolve dozens of individual tickets at once, which is exactly why root-cause grouping, covered next, matters as much as it does.
30Section 29: Group 100+ Tickets into Root Causes

A report listing over a hundred tickets may actually represent a far smaller number of genuinely distinct underlying defects. A representative example: 27 separate tickets citing missing accessible names on icon buttons often trace back to one shared icon-button snippet used across the theme. Nineteen tickets citing variant updates never being announced often trace back to one product-form JavaScript component handling that update everywhere it happens.
Group tickets by theme snippet, section, JavaScript component, CSS pattern, app, content process, template, or merchant setting. This is what turns a report that looks impossibly large into a manageable list of real, fixable root causes, and it's also what prevents inconsistent fixes, the same underlying bug patched five slightly different ways in five different places.
31Section 30: Decide Who Owns Each Fix
Assign issues by category. The merchant's content team owns alt text, heading content, link wording, captions, and product descriptions. A Shopify theme developer owns Liquid markup, semantic HTML, keyboard behavior, focus management, ARIA states, dynamic announcements, theme JavaScript, and CSS contrast and focus styling. The app vendor owns app-controlled widgets, embedded forms, review components, loyalty interfaces, and subscription controls. An accessibility specialist owns audit interpretation, WCAG mapping, assistive-technology testing, and retesting. Legal counsel owns actual legal obligations, risk decisions, claims, settlement requirements, and any public statements the business makes about its compliance status.
32Section 31: Fix Issues Through the Theme Editor
Some issues can genuinely be corrected without touching code: alt text, color settings, content hierarchy, button text, link text, image selection, video configuration, section order, and theme language settings. Merchants should still test the actual result rather than assuming a settings change is automatically safe; a theme setting adjusted to improve one component's contrast can quietly reduce contrast somewhere else on the same page.
33Section 32: Fix Theme-Code Issues
Common development-level corrections touch Liquid, semantic HTML, CSS, JavaScript, native buttons, native links, form labels, ARIA attributes, live regions, focus management, modal behavior, keyboard events, visually hidden text used for screen-reader-only content, and error messaging. Shopify themes are genuinely built through Liquid templates, sections, blocks, CSS, and JavaScript, which is exactly why real accessibility remediation, past the theme editor's own settings, generally requires direct theme-development work.
34Section 33: Use Native HTML Before ARIA
The core rule: use a real button element for actions, a real link element for navigation, real headings for headings, real labels for form controls, and native inputs wherever they're available at all. Add ARIA only once native semantics genuinely aren't sufficient on their own.
Incorrect ARIA can make an interface less accessible than no ARIA at all, since it can tell assistive technology something false about an element's role or state. Shopify's own theme guidance specifically distinguishes links used for navigation from buttons used for on-screen actions, precisely because conflating the two is one of the most common accessibility mistakes in ecommerce theme code.
35Section 34: Fix Focus Management
This covers modal opening, modal closing, the cart drawer, mobile navigation, the search overlay, the filter drawer, quick view, validation errors, and dynamic page changes generally. Visual visibility and keyboard focus are genuinely separate concepts; something can be perfectly visible on screen while keyboard focus has quietly landed somewhere else entirely, leaving a keyboard user with no idea where they actually are on the page.
36Section 35: Fix Dynamic Announcements
Use appropriate live regions or status messages for events like an item added to cart, a cart quantity updated, a variant becoming unavailable, a price change, search results updating, filter results updating, a form being submitted, a validation error appearing, and loading completing.
Don't announce every minor visual change indiscriminately. Over-announcement can make a site genuinely unusable for a screen-reader user, burying the announcement that actually matters, cart updated, under a flood of minor status noise nobody needed to hear about.
37Section 36: Fix Color Contrast and Focus Indicators
Update theme color tokens where that's genuinely possible, rather than patching every individual element independently one at a time. Preserve brand identity while still meeting real accessibility needs, create genuinely visible focus styles, and test hover, focus, active, disabled, and error states individually, since a color combination that passes contrast in its default state can fail once it's hovered, focused, or disabled. Check text placed over images and gradients specifically, since that's exactly the kind of combination that looks fine in a design mockup and fails in the browser once a real, varied photo sits behind it.
38Section 37: Fix Images and Media
Remediation here typically includes meaningful alt text, empty alt text specifically for decorative imagery, captions, transcripts, pausing autoplay by default, real audio controls, accessible gallery controls, descriptions for genuinely complex graphics, and keyboard-operable controls for any 3D product view.
39Section 38: Fix Third-Party App Issues
Realistic responses, roughly in order of preference: configure the app correctly using whatever settings it already exposes, contact the vendor directly about the specific defect, apply a documented, genuinely safe integration fix, replace the specific storefront widget while keeping the rest of the app, replace the app entirely, disable the inaccessible feature if it's not essential, or build a custom accessible alternative from scratch.
Hiding a visible defect with CSS is not necessarily a real fix; visually hiding something broken doesn't fix the underlying markup or keyboard behavior a screen-reader or keyboard user is still stuck with.
40Section 39: Do Not Rely Solely on Accessibility Overlays
An overlay or widget may offer certain user-facing controls. It does not automatically correct every underlying markup, keyboard, focus, app, or content issue sitting beneath it. It shouldn't replace real auditing, manual testing, and actual code remediation. Merchants should evaluate any accessibility tool carefully on its own specific merits and avoid any claim of guaranteed compliance, whether that claim comes from a vendor or from the business's own marketing.
41Section 40: Hire a Shopify Accessibility Developer
This is one of the main legitimate remediation paths, particularly once a report runs into real volume. A qualified developer can review the accessibility partner's own tickets, group them by shared root cause, map issues to the specific theme files and app components responsible, build fixes inside a duplicated development theme rather than the live one, modify Liquid, CSS, and JavaScript directly, correct keyboard interaction, implement genuine focus management, add accessible names and states where they're missing, correct forms and their error handling, coordinate directly with app vendors where needed, run real regression testing, document every change made, and prepare the finished work for retesting by whoever produced the original audit.
This is especially appropriate when a report contains anywhere from 50 to 200 or more tickets, when the theme has been heavily customized, when revenue-critical components are involved, when JavaScript behavior genuinely needs to change, when multiple apps are involved simultaneously, when internal staff simply don't have Shopify development experience, or when the business needs a controlled, tested deployment process rather than ad hoc live-theme edits.
42Section 41: How to Choose a Shopify Accessibility Developer
Ask for real evidence of Shopify theme-development experience specifically, comfort with Liquid, HTML, CSS, and JavaScript, actual WCAG remediation work, genuine keyboard and screen-reader testing experience, product-form experience, cart-drawer experience, app-troubleshooting experience, a real Git or version-control workflow, an actual staging and QA process, documentation practices, and experience collaborating directly with an external accessibility auditor rather than working in isolation.
Require them to explain, specifically, how tickets will be grouped, how fixes will actually be tested, how regressions will be prevented, how app-owned issues will be handled when the developer doesn't control that code, and how future theme updates will affect the remediation work already done. Avoid hiring anyone based solely on a promise of an automated "100% compliant" solution; that promise itself is a warning sign, not a credential.
43Section 42: Create a Safe Development Workflow
The sequence: Live Theme, into a Duplicate Development Theme, into Version Control or a Controlled Backup, into Accessibility Fixes, into Automated Testing, into Manual Testing, into an Accessibility Partner Retest, into Merchant Approval, into Production Deployment, into Post-Launch Verification. Never make a hundred or more untested changes directly to a live theme; a duplicated development environment, tested thoroughly before anything reaches real customers, is what actually makes a large remediation project safe to execute.
44Section 43: Retest Every Fix
For every individual ticket: reproduce the original problem first, apply the fix, test it using the original method that originally found the issue, test keyboard behavior, test screen-reader behavior where relevant, test mobile, test whatever adjacent functionality might have been touched, confirm no new regression was introduced, record real evidence of the fix, and mark it ready for independent verification.
"Code changed" is not the same claim as "issue resolved." A change that looks correct in the editor can still fail in the browser, fail on mobile, or fail with a specific screen reader the original fix was never actually tested against.
45Section 44: Run Regression Testing
After remediation, retest navigation, search, product pages, variant selectors, add to cart, the cart drawer, forms, collection filters, checkout entry, account pages, apps, mobile, screen readers, and full keyboard-only journeys. Accessibility fixes can genuinely affect design, layout, analytics, app behavior, conversion tracking, and site performance; a fix scoped narrowly to "the accessibility issue" can still ripple outward into something nobody was specifically testing for.
46Section 45: Reconcile the Audit Report
Maintain a real remediation matrix tracking, for every ticket: its root cause, its owner, fix status, retest status, and the actual evidence supporting that status. Useful status values: New, Reproduced, In Development, Blocked by Vendor, Ready for QA, Passed Internal QA, Sent for External Retest, Closed, Accepted Risk, and Not Reproducible. This is what lets a business, and whoever originally produced the audit, actually see where 117 tickets currently stand without reconstructing that picture from memory every time someone asks.
47Section 46: Publish an Accessibility Statement Carefully
A reasonable statement can include the business's accessibility commitment, the standards or goals it's working toward, known current limitations, a contact method for accessibility concerns, a feedback process, available assistance options, and the date of its last review.
Avoid unsupported statements like "fully ADA compliant," "100% accessible," or "guaranteed WCAG compliant." No audit, developer, or ongoing process can honestly promise total, permanent compliance across every page, every app, and every future update; the statement should be reviewed by the business's own appropriate accessibility and legal stakeholders before it's published anywhere public.
48Section 47: Establish an Accessibility Feedback Process
Customers should have a clear, genuinely usable way to report a barrier, request assistance, identify the specific affected page, describe the problem they ran into, receive a real response, and obtain an alternative way to access the goods or services in question if the original path is currently blocked for them.
Internally, this needs its own defined process: ticket assignment, severity, a response target, real investigation, an actual fix, follow-up with the customer who reported it, and documentation of the whole exchange, treated with the same seriousness as any other customer-facing support process the business already runs.
49Section 48: Build Accessibility into Content Operations
Create real rules for product-image alt text, heading order, link wording, video captions, PDF review, campaign landing pages, blog posts, promotional graphics, new app approval, and new theme sections. Accessibility shouldn't depend entirely on the developer; a content team can quietly reintroduce issues after a full remediation project, a new hero banner with no alt text, a new product description written entirely in ALL CAPS, if nobody's given them a defined process to follow.
50Section 49: Build Accessibility into Development
Add explicit accessibility acceptance criteria to how new features get scoped, real component standards, code review that actually checks for accessibility, automated tests where feasible, keyboard checks, screen-reader checks, design review, app procurement review before a new app goes live, regression test cases, and release checklists.
Shopify's Theme Store requirements include accessibility scoring expectations, but a high Lighthouse score should still be treated as one useful signal among several, not complete proof that a theme is genuinely accessible in practice.
51Section 50: Audit After Theme and App Changes
Retest specifically after a theme upgrade, a full theme replacement, a navigation redesign, a new product template, a new subscription app, a new search app, a cart redesign, checkout extension changes, new popups, seasonal landing pages, and major merchandising updates. Accessibility isn't a project with a finish line; it's an ongoing operational responsibility that has to be revisited every time the storefront itself genuinely changes.
52Section 51: Build an Ongoing Audit Schedule
A reasonable, risk-based cadence: test changed components with every release, run automated scans on key templates monthly, perform manual customer-journey checks quarterly, and conduct a broader expert review annually or after any major redesign. The right specific schedule depends on the store's complexity, how often it actually changes, its overall risk profile, and any legal advice the business has received, so treat this cadence as a starting point to adapt rather than a fixed universal rule.
53Section 52: Measure Progress
Track open issues, critical issues specifically, issues broken down by component, issues broken down by app, average remediation time, the regression rate, tickets that were closed and later reopened, customer-reported barriers, templates actually tested, components actually covered, and staff training completion.
Don't use a single accessibility score as the only performance measure. A rising Lighthouse score alongside a rising count of real customer-reported barriers is telling you something the score alone can't, and the second signal deserves at least as much attention as the first.
54Section 53: Common Mistakes
Testing only the homepage, running only Lighthouse and calling it an audit, treating any automated scan as a complete evaluation, installing an overlay and considering remediation finished, skipping keyboard testing, skipping screen-reader testing, testing only on desktop, and forgetting third-party apps entirely are among the most common and most consequential mistakes on this list.
Fixing tickets individually without ever finding their real root cause, editing the live theme directly instead of a development copy, reaching for ARIA before trying native HTML, hiding focus outlines because they "look bad," writing poor or absent alt text, treating every image as equally informative, forgetting dynamic state announcements, closing tickets without actually retesting them, failing to document which issues genuinely depend on an app vendor, claiming guaranteed ADA compliance, and treating accessibility as a one-time project rather than an ongoing responsibility round out the most common and most avoidable failures.
55Section 54: Complete Shopify Accessibility Audit Checklist
Structure
Titles, headings, landmarks, and declared language.
Navigation
Skip link, menus, breadcrumbs, and search.
Keyboard
Focus order, focus visibility, no keyboard traps, and correct dialog behavior.
Product Experience
Cards, pricing, variants, media, and add to cart.
Forms
Labels, instructions, errors, and success messages.
Cart and Checkout
Quantity controls, dynamic updates, the checkout path, and app extensions.
Content
Alt text, captions, link names, tables, and PDFs.
Mobile
Reflow, zoom, touch targets, and screen readers.
Apps
Reviews, loyalty, search, subscriptions, popups, and chat.
56Section 55: Implementation Roadmap
Phase 1 covers scope and risk review: identifying store templates, revenue journeys, apps in use, any legal or contractual requirements, and any existing audit reports already in hand. Phase 2 runs automated testing: template scans, component scans, contrast checks, and code checks. Phase 3 completes manual testing: keyboard review, screen-reader review, mobile review, zoom and reflow testing, and dynamic-component testing.
Phase 4 builds the backlog: documenting every issue, its WCAG mapping, severity, root cause, owner, and recommended fix. Phase 5 implements remediation: content changes, theme-editor changes, Liquid fixes, CSS fixes, JavaScript fixes, and app-vendor fixes. Phase 6 completes quality assurance: ticket retesting, regression testing, device testing, and assistive-technology testing. Phase 7 sends the completed work for external verification, whether that's the original accessibility partner, an independent auditor, or an internal accessibility lead. Phase 8 establishes governance: an accessibility statement, a feedback process, a release checklist, a monitoring schedule, staff training, and real documentation.
57From 117 Tickets to a Store That Actually Works Better
Merchants with a large audit report in hand usually don't need another automated scan. They need someone who can actually translate the findings into safe, tested Shopify theme and app changes, without breaking the parts of the store that already work.
A Shopify Accessibility Audit Remediation and Development engagement typically includes review of an existing audit report, ticket triage, root-cause grouping, a full Shopify theme audit, automated testing, keyboard testing, screen-reader testing, Liquid remediation, HTML and ARIA corrections, CSS contrast and focus fixes, JavaScript interaction fixes, product-page remediation, cart and navigation remediation, form and validation fixes, app-vendor coordination, development-theme implementation, regression testing, support through external-auditor verification, remediation documentation, and an ongoing accessibility maintenance plan.
The result: fewer real accessibility barriers, better keyboard usability, better screen-reader support, more genuinely inclusive shopping journeys, a controlled and understood remediation backlog, safer theme updates going forward, stronger internal accessibility practices, less dependence on a single one-time scan, and a more maintainable Shopify storefront overall.
58How We Help
New Motion IT works with Shopify merchants who've received an accessibility audit and don't have the internal capacity to safely modify Liquid, HTML, CSS, JavaScript, ARIA behavior, theme components, app integrations, and dynamic storefront interactions on their own. Have you received an accessibility audit with dozens or hundreds of unresolved tickets? Our Shopify developers can review the report, group related defects by root cause, implement theme and app-level fixes inside a properly tested development environment, and prepare the finished work for verification by your accessibility partner.
A Shopify Accessibility Audit and Remediation Review covers your current theme, any existing accessibility report and its open tickets, product and cart journeys, third-party apps, keyboard and screen-reader barriers specifically, development priorities, testing requirements, and long-term maintenance. This review does not promise legal compliance or the elimination of legal risk; no audit, theme, app, widget, overlay, or development project can honestly make that promise, and any vendor claiming otherwise should be treated with real skepticism.
Sources
- Evaluating Web Accessibility Overview
- WCAG 2.2
- Selecting Web Accessibility Evaluation Tools
- Guidance on Web Accessibility and the ADA
- State and Local Governments: First Steps Toward Complying with the ADA Title II Web and Mobile Application Accessibility Rule
- Accessible Design
- Shopify Theme Store Requirements
