
Themes, apps, checkout limits and what the merchant owes
An accessibility statement for a Shopify store, written from a real test.
Merchants ask whether the platform is compliant. The honest answer is that the question does not apply: what a customer meets is a theme somebody chose, a set of apps somebody installed, a checkout partly outside your control, and a few years of small changes. This page describes what that means for the statement you have to publish, which parts you can fix, which you can only document, and how the two are written down.
No app to install. We test what your customers get.
Four layers, four different owners
Before any finding makes sense, it helps to see the store as the customer's browser sees it: not one product but four, assembled at load time, each maintained by somebody different.
The platform
Provides the base markup and the checkout. You cannot change most of it, so where it limits you, the statement records the limitation.
The theme
Yours to change, and the source of most visible findings: contrast, focus, heading order, the product gallery and form markup.
The apps
Installed by whoever needed a feature that week. Each adds markup and behaviour after load, and pop-ups in particular tend to break keyboard flow.
Your edits
Liquid snippets and custom sections added for campaigns. Small, useful, and frequently the place an unlabelled button lives.
The findings name the layer, because the fix is a different conversation in each case: a ticket for your developer, a setting change, an app removed, or a documented limitation.


The findings that come up on most stores
| Where | What we find | Layer | Effort |
|---|---|---|---|
| Product gallery | Slides reachable only by swipe or arrows without labels | Theme | Small |
| Variant swatches | Colour squares with no accessible name | Theme | Small |
| Quantity control | Plus and minus buttons without names, total not announced | Theme | Small |
| Newsletter pop-up | Takes focus, does not return it, cannot be closed by keyboard | App | Setting or removal |
| Cookie banner | Buttons ordered illogically, traps the keyboard | App | Configuration |
| Search suggestions | Results appear with no announcement | Theme or app | Medium |
| Checkout fields | Placeholder used as label, error text not associated | Platform | Documented or plan-dependent |
| Size guide | Table provided only as an image | Your content | Small |
Six of the eight are inside your control and most are an hour of work each. That is the practical shape of a first remediation on a Shopify store.
What goes in the statement when part of the stack is not yours
This is the part merchants find hardest to write, and it is straightforward once the principle is clear: describe the limitation, name the alternative, give a date if you have one. A sentence stating that the payment step is provided by the platform, that a specific behaviour there is not fully accessible, and that orders can be completed by phone or email meanwhile is honest, useful to the customer, and exactly what Annex V asks for.
What must not happen is silence. A statement claiming full conformance while the checkout has a known problem is a claim contradicted by two minutes of testing, and the annotated example shows how the honest version reads instead.


Apps: the recurring cost nobody budgets
The app ecosystem is the reason a store that passed in March fails in June. Each installation is a decision made quickly, often by someone in marketing, and each adds code that runs on every page. Nothing in the install flow asks whether the widget manages focus correctly or announces its own state, so the answer is usually no.
Two habits prevent most of it. First, test after installing rather than after the quarter: a two-minute keyboard pass on the page where the app appears catches the focus traps immediately. Second, keep the number of apps down; every one removed is a set of findings that never occurs. The monthly re-test exists precisely because this layer changes constantly and nobody remembers to re-check it.
What we deliver to a Shopify merchant
An audit of your actual store, run as a customer with a real basket and a real card. A findings report naming the layer responsible for each item, with severity and remedy. The accessibility statement written from those findings, signed by Europe Services SE for the European Union, with a public code anyone can verify. A hosted feedback channel so the route the law requires actually reaches you. Monthly re-testing for the year and five years of records.
No app is installed on your store, no script is added to your theme, and nothing about the way your shop works changes because you bought the audit. What changes is that you know, in writing, what your customers meet, and you have a document that describes it truthfully.


If you also sell outside the European Union
Many stores do, and the documents differ by market rather than by store. For the United Kingdom the reference in tenders and disputes is WCAG 2.2 AA with a report signed by a British company, described on the UK page. For Ontario the requirement is WCAG 2.0 AA under the provincial regulation, with a compliance report filed by the organisation, set out on the Ontario requirements page.
The testing is the same in all three cases; only the document changes. That is why the global plan exists: one audit, three signatures, one renewal date, 1,990 € a year rather than three separate arrangements with three suppliers and three calendars to remember.
Choosing a theme with accessibility in mind
Most merchants meet accessibility after the theme is already bought, which is the expensive order. If you are about to choose or rebuild, twenty minutes of testing in the demo store will tell you more than any marketing claim on the listing page. Open the demo, put the mouse aside and try four things: move through the header menu with the keyboard and see whether submenus open and close predictably; open the product gallery and try to reach the second image; add an item to the cart and watch whether anything announces that it worked; open the search and see whether the suggestions are reachable.
A theme that survives those four is not guaranteed compliant, but it is built by people who thought about it, and that difference is worth more than any badge in the listing. A theme that fails all four will cost you a developer's week later, every time it is updated.
The same logic applies to the apps you install on day one. Each one that manages its own overlay — pop-ups, quick view, cart drawers, cookie consent — is a candidate for a focus problem, and it is far easier to reject it now than to unpick it from a live store during a remediation sprint.

Documents and media you uploaded yourself
Every store accumulates them: a sizing chart saved as a picture, a care leaflet as an untagged file, a campaign video with burned-in text and no captions, an ingredients table screenshotted from a supplier email. They are invisible in any automated report because a machine sees an image and moves on, and they are among the easiest findings to fix once someone points at them. A size chart retyped as an HTML table takes fifteen minutes and removes a barrier that stops a purchase outright for anyone who cannot see the picture. We list these separately in the findings, because they are usually the fastest wins available and they do not require a developer at all.
The migration moment
Replatforming is the cheapest time to get this right and the moment it is most often forgotten. During a migration somebody is already touching every template, the content is being reviewed, and the forms are being rebuilt: adding proper labels, a visible focus style and a sane heading order costs almost nothing while that work is happening, and costs a separate project afterwards. If a migration is on your roadmap this year, run the audit on the old store first. The findings become the specification for the new one, and you launch with a statement that is true on day one instead of a promise to look at it later.
Working with your agency
Most stores are maintained by an agency or a freelancer, and the findings report is written so it can be handed over without translation. Each item names the page, the component, what a user cannot do, the change to make and a severity. That format matters commercially: a developer quoting from a list of concrete changes gives you a price, while a developer quoting from a machine-generated score gives you a project.
It also protects you in the other direction. When the agency says something is impossible on your plan, the finding is precise enough to check, and the statement can record the limitation honestly instead of pretending it does not exist. Either way you end up with a document that matches the store, which is the only version worth publishing.
Questions from Shopify merchants
Is Shopify accessible out of the box?
No platform is. Shopify ships a base that can be used well or badly; the theme, the apps and your customisations decide what a customer meets.
Whose responsibility is compliance?
The merchant's. You are the operator of the service the consumer buys from, and the obligation follows that relationship.
Can I edit the checkout?
Editing is limited on most plans, which is why the statement documents any limitation and the alternative you offer.
Which apps cause problems?
Pop-ups, review widgets, size guides, currency selectors, cookie banners and chat. Anything that injects markup after load.
Does the theme matter more than the platform?
Yes. Headings, focus styles, contrast, gallery behaviour and form markup all come from the theme.
Do I need a statement if I only sell within one country?
If that country is in the EU, yes. The Act applies to the market, not to the size of the catalogue.
Where do I publish it?
At a stable page linked from the footer, so it survives theme changes and can be cited.
Can I use an app that generates a statement?
It writes text. It does not test your shop, so the text describes nothing and the two most important paragraphs will be wrong.
What does the audit cover?
Search, collection pages, product pages, variant pickers, cart, the full checkout, account area and support channels.
Will you install anything on my shop?
No. We test as a customer does. For areas behind a login we ask for a test account.
How long does it take?
Five business days from a complete order form.
Do you fix the theme?
No. We give your developer the prioritised list. Most blocking fixes are small and local.
What if the theme vendor is the problem?
We name it in the findings so you can raise it with them, and we describe the workaround meanwhile.
How do I keep it current after a theme update?
The monthly re-test compares with the previous run and tells you what changed.
Does this help conversion?
Labels, announcements and visible focus reduce errors for every customer, not only for those using assistive technology.
What does it cost?
690 € a year for the EU, 1,290 € for three domains and six languages, 1,990 € including the UK and Canada.
Can I start before fixing anything?
Yes. The statement lists the open barriers and the alternatives, which is what the law expects during remediation.
Where do I start?
The free scan, then the order form.