How AccessComply Fixes Accessibility Issues in Your Shopify Theme

Author avatarVijaygopal Balasa
8 min read

AccessComply fixes accessibility issues by changing your Shopify theme’s own code, the markup and styles that browsers and screen readers actually read, after you approve each change. Its rule based fixes cover low text contrast, form fields without a label, a missing skip link, the page language, headings that skip a level and keyboard focus that disappears under a sticky header. On Shield and Citadel it also drafts image descriptions and names for icon buttons and links with AI, for you to review. It saves the original first and scans the page again afterwards. What it cannot change safely, such as tap target size, captions and other apps’ widgets, it lists with the change to make.

Fixes go into the theme code, not a layer on top

An overlay widget adds a script or a toolbar on top of a store and leaves the theme as it was, so the problem is still in the code every visitor’s browser and screen reader receives. AccessComply edits the theme itself: the label is in the form’s markup, the contrast rule is in the stylesheet, the language is on the page’s html tag. Remove the app and the fixes stay, because they are part of your theme. Overlays versus source code fixes compares the two approaches in detail.

What the app fixes, finding by finding

The scan runs automated checks against the WCAG 2.1 and 2.2 Level AA rules on each page it reaches, at a desktop and a phone width. These are the findings it can fix, and how.

FindingWhat the app changesPlan
Text too faint to readA style rule inside the theme section where the text was measured, moving the text colour just far enough to reach 4.5 to 1 (3 to 1 for large text)Every plan
Form field with no labelA label for the field. Where the theme already names the field through its own label text, the field is pointed at that text, so nothing it announced is lostEvery plan
No way to skip to the contentA “Skip to main content” link at the top of the layout, hidden until a keyboard user reaches itEvery plan
Missing or invalid page languageThe lang attribute on the page, from your store’s own localeEvery plan
Headings that skip a level, a missing H1, an empty headingHeading levels in the templateEvery plan
Keyboard focus hidden under a sticky header or barScroll padding sized from the header and bars the scan measured, so a focused control scrolls clear of themEvery plan
Duplicate IDs, frames without titles, table header problems, zoom blockedThe attribute the rule asks for, in the templateEvery plan
Image with no descriptionA description written by AI from the image and the product it shows, for you to reviewShield and Citadel
Icon button or link with no nameA name taken from the icon’s own markup (a cart, a search, a close button), or written by AI where the markup does not sayShield and Citadel

“Every plan” means every paid plan without limit, and Free for its 3 fixes every 30 days. Descriptions and names written by AI need the Shield or Citadel plan, because they cost a model call and deserve a human read.

Where a change goes, and when the app will not guess

A finding describes an element as the browser rendered it; the fix has to go into the Liquid code that produced it. The scan records which theme section each finding sits in. When it fixes one, the app searches only the files that render that section, and the snippets they include, for the one tag that could have produced the element, then adds just the attributes the fix needs beside the theme’s own Liquid. Everything else in the tag stays as it was.

If two places could have rendered the element, for example a quantity box that appears both in the product page section and in a featured product section on the home page, and the finding does not say which, the app hands the finding to you rather than guess. A fix in the wrong file does nothing for the page you scanned and may change one you did not.

Contrast is measured once the page has settled. Many themes fade sections in as you scroll; text caught part way through that animation is nearly invisible for a moment, and the scan does not count it as a failure or write a colour for it.

Before anything is written

  1. You choose what to fix. A scan never changes your store by itself.
  2. The approval is narrow. It covers the findings you reviewed, in the theme you reviewed, for a short time.
  3. The file is checked first. The app confirms each file still matches the version it read, so an edit you made since the scan is not overwritten.
  4. A backup comes first. A copy of the whole theme is saved before the first write.

After the change: the page is checked again

Once Shopify serves the updated theme, the app scans the changed pages again. A finding the recheck no longer sees is marked fixed; one it still sees is marked not fixed and stays on your list. A later full scan checks the rest of the store. If something did not hold, you can restore the saved original from the app, and a restore always asks you first.

What stays with you

Some findings need a decision or content that only you can supply, and the app says which:

  • Tap targets smaller than 24 by 24 pixels. The scan measures them and gives the change to make. It does not enlarge them, because a larger target that replaces a theme’s own padding can stretch slider dots and swatches or show something the theme hides.
  • A brand colour no small change can fix. Cream text on a bright pink cannot reach the ratio by lightening it: even white on that pink is about 2.3 to 1. Passing needs dark text or a darker background, which is a design choice.
  • Captions, transcripts and accessible PDFs. These are files you produce.
  • Another app’s widget. A review form, a chat button or a popup belongs to the app that renders it; the scan names the app so you know whom to ask.
  • Anything that needs judgment. Whether an image description is right, whether the reading order makes sense, whether checkout works with a keyboard. Automated checks find part of what WCAG covers, and the W3C says no tool alone can determine whether a site meets accessibility standards.

What each plan covers

Free includes 3 scans a month and 3 fixes every 30 days. Starter, at $29 a month, covers every rule based fix without limit, a monthly scheduled scan and a rescan when your theme changes. Shield, at $79, adds the descriptions and names written by AI and a weekly scan. Citadel, at $199, adds a daily scan and a verified rescan with an evidence PDF each month. Every paid plan starts with a 14 day free trial, billed through Shopify. See pricing for the full comparison, and the accessibility topic for guides to each barrier.

Sources

Find the storefront issues holding back growth

Scan SEO, speed, accessibility and AI shopping readiness by page. Review supported fixes before they run, keep saved originals, and verify the live result afterward.

Free checkers: Shopify accessibility checker · Website accessibility checker · Products not showing in ChatGPT

Vijaygopal Balasa, Founder, AccessComply
Written by

Vijaygopal Balasa

Founder, AccessComply

Founder of AccessComply. Builds tools that find and fix supported Shopify accessibility issues in theme code—not through overlays. Focused on practical WCAG 2.2 AA improvements for merchants.

Keep improving after this fix.

Get concise, practical updates on Shopify SEO, speed, accessibility, and safer storefront changes. No daily noise; unsubscribe anytime.

More on Accessibility

All Accessibility posts →