Is the Impulse Shopify theme accessible?
5 different failures in Impulse's own code, including on the product page (8 occurrences across three pages), checked against WCAG 2.1 Level A and AA.
Rank 47 of 49 in our Shopify theme accessibility ranking. Impulse is a paid theme.
On the product page: a button with no name. That is the page where a shopper chooses a size and adds to cart.
Every shop that runs Impulse without changes to its code has the same failures, so the theme is the cheapest place to fix them.
What fails in Impulse's own code
A button with no name
An icon-only button (a cross, an arrow, a magnifier) is announced as "button", with no hint of what it does. This one is on the product page, where people decide to buy.
Example from the demo store's product page:
<button type="button" class="btn btn--body btn--circle js-photoswipe__zoom product__photo-zoom">
What the check found: Button contains no text and has no aria-label.
How to fix it: Add text a screen reader can read inside the button, hidden visually if the design needs it, or an aria-label that says what the button does ("Close", "Next slide", "Search").
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.
Example from the demo store's home page:
<a href="/collections/2026-dresses" class="promo-grid__slide-link" aria-hidden="true" aria-label="Shop Dresses">
What the check found: This control is focusable but sits inside aria-hidden="true".
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.
A link with no name
A screen reader announces "link" and nothing else, or reads out the web address, so a blind shopper cannot tell where it goes. It is usually an icon link or a logo image with an empty description.
Example from the demo store's home page:
<a href="/blogs/journal">
What the check found: Link contains no text, no aria-label, and no image with alt text. A screen reader will announce the destination URL instead.
How to fix it: Give the link text a screen reader can read: visible text, a description (alt text) on the image inside it, or an aria-label on the link. For a logo, your shop's name is the right text.
Headings that skip a level
Screen reader users move around a page by its headings. A jump from a level-2 heading to a level-4 one suggests a missing section and makes the page harder to scan.
Example from the demo store's product page:
<h3 class="section-header__title">
What the check found: Jumps from <h1> to <h3>, skipping 1 level(s).
How to fix it: Change the heading tags so levels go down one step at a time, and keep the look with CSS. Pick heading levels for the page's structure, not for their size.
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 Impulse. They are worth knowing because the same mistakes are easy to make when you add your own content.
- Images with no description (home page (1×)). 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.
- Links that do not say where they go (home page (1×)). "Shop now" and "Read more" mean nothing when a screen reader lists the links on a page. In the section settings, write link text that names the destination ("Shop the linen range").
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 Impulse compares
2 other paid themes had no confirmed failure in its own code: Halftone, Prestige.
Next to it in the ranking: Pitch (rank 46, 4 failures) · Vivid (rank 48, 5 failures).
All 49 themes, ranked, with the method and its limits.
How we tested
We opened three pages of the official Impulse 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 Impulse and have fixed something here, write to hello@limen.ae and we will re-test it.