Is the Wonder Shopify theme accessible?
3 different failures in Wonder's own code, including on the product page (10 occurrences across three pages), checked against WCAG 2.1 Level A and AA.
Rank 38 of 49 in our Shopify theme accessibility ranking. Wonder is a paid theme.
On the product page: a control the keyboard reaches but screen readers are told to ignore, a form field with no label. That is the page where a shopper chooses a size and adds to cart.
Every shop that runs Wonder without changes to its code has the same failures, so the theme is the cheapest place to fix them.
What fails in Wonder's own code
A form field with no label
A screen reader user reaches the field and hears only its type ("edit text", "checkbox") with no idea what to enter or choose. This one is on the product page, where people decide to buy.
Example from the demo store's product page:
<input id="NewsletterForm--template--18197911568584__newsletter_aeUHyD" type="email" name="contact[email]" class="wt-newsletter__field" value="" aria-required=…
What the check found: No label, aria-label, aria-labelledby or title. It has a placeholder ("Email") but a placeholder is not a label — it disappears the moment the user types.
How to fix it: Give every field a label element tied to it with for and id. It can be visually hidden if the design has no room for it, but it has to be there.
A control the keyboard reaches but screen readers are told to ignore
Something inside an aria-hidden="true" area can still take keyboard focus. A keyboard user lands on it and a screen reader announces nothing at all. Off-screen carousel slides are the usual cause. This one is on the product page, where people decide to buy.
Example from the demo store's product page:
<a href="#" class="wt-localization-drawer__tab__trigger wt-localization-drawer__tab__trigger--active" data-tab-target="country">
What the check found: This control is focusable but sits inside aria-hidden="true" (set on an ancestor <localization-drawer>).
How to fix it: Content that is hidden from screen readers must be out of reach of the keyboard too. Add the inert attribute to the hidden area (it removes it from both at once), or stop hiding content people can reach.
No main heading on the page
The page has no level-1 heading, so screen reader users have no quick way to the start of the main content or to confirm which page they are on.
What the check found: No <h1> element found on the page.
How to fix it: Make the page's main title a level-1 heading: the product name on a product page, the collection name on a collection page.
Found in the demo's content, which yours replaces
These come from the images and words the theme's developer put in the demo store, not from the theme's code, so they do not count against Wonder. They are worth knowing because the same mistakes are easy to make when you add your own content.
- Video or slides that play by themselves (home page (10×), collection page (1×), product page (1×)). Moving content that starts on its own and cannot be paused distracts people with attention difficulties. Turn autoplay off in the section settings, or make sure a pause control shows.
- Images with no description (product page (5×)). When you add your own images, write a short description for each one in the Shopify admin (open the image, then "Add alt text"). Decorative images can stay empty.
- Image descriptions that are file names (product page (12×)). Descriptions like "IMG_2041.jpg" or "banner-final" tell a screen reader user nothing. Replace them with a few words about what the image shows.
Checked, not counted
- Duplicate ids (home page (23×), collection page (25×), product page (25×)). Two elements share an id. WCAG 2.2 removed this criterion, and it only harms when a label or an ARIA reference points at the duplicated id, so it is not counted. Most come from hidden copies of menus and drawers.
What this does not tell you
- Automated checks find roughly a third of accessibility barriers. A clean result here still needs a keyboard and screen-reader test of your checkout. A failure here is certain.
- We tested what loads first. Menus, the cart drawer and pop-ups that open on a click were not opened, so the real totals can only be higher.
- Your shop is not the demo. Apps, sections, settings and your own content change the result, in both directions.
- Themes get updated. These results are for the version the demo store ran on 10 October 2026.
Check your own shop
Run the free check on your shop's pages. It needs no account and lists every confirmed failure with its WCAG criterion, including the ones your apps and content add. If you want every occurrence with the exact Shopify code to fix it, that is what the Fix Pack is for: $99, once.
How Wonder compares
2 other paid themes had no confirmed failure in its own code: Halftone, Prestige.
Next to it in the ranking: Vessel (rank 37, 3 failures) · Mono (rank 39, 3 failures).
All 49 themes, ranked, with the method and its limits.
How we tested
We opened three pages of the official Wonder demo store in Chromium and let its scripts run. Anything the browser did not show was removed, so the theme is never marked down for something no visitor meets. Then each page went through the same engine as our free check. The pages tested:
This is the developer's own demo store; no merchant's shop was measured. If you make Wonder and have fixed something here, write to hello@limen.ae and we will re-test it.