How it works
The short version: we read your theme's source, apply a set of rules that only fire when they can prove a problem from the code, and generate the replacement.
1. Reading the theme
When you install, Themeremedy reads the source of your published theme through Shopify's API — the Liquid templates, sections, snippets and CSS. It reads. It does not write. Shopify does not permit apps to write theme files without a protected-scope exemption, and we do not have one, which is a constraint we would rather explain than paper over.
2. Masking the Liquid
Liquid and HTML are interleaved in a Shopify theme, and a naive HTML parser mangles it. Before analysing anything we mask every Liquid construct so the markup can be parsed safely, then splice fixes back in at byte offsets so your Liquid comes back byte-for-byte identical.
This was verified against Shopify's own Dawn theme: 95 files, 8,117 Liquid constructs, lossless. The same exercise turned up a real accessibility bug in Dawn itself.
3. Deciding what counts
Twenty-one rules, covering the machine-detectable WCAG failures that matter most on a storefront — missing alternative text, unlabelled form fields and buttons, broken heading order, link text that says nothing, missing language and document structure, colour contrast, and more.
The important part is what we do not count. Where a value is supplied by Liquid and could legitimately be filled in at runtime, we mark the finding as needing review rather than recording a failure. Inflating a number is easy. A report you can act on without second-guessing it is the harder and more useful thing.
4. Generating the fix
For each fixable finding you get the current code, the replacement, and a deep link that opens that exact file in Shopify's theme editor. Every change is a single attribute added to an existing tag — we never restructure your markup and never touch your Liquid logic, which is what makes it safe to apply without a developer reviewing each one.
Findings whose fix depends on meaning only you know — what a particular product photo is actually conveying, say — are marked as needing a human decision. We do not invent alt text and present it as a fix.
5. Keeping it fixed
Themes drift. Apps inject markup, theme updates land, someone edits a section. Paid plans rescan on a schedule so the report is already current when you next open it, and show you what changed since last time.