Pebble theme: automated accessibility test

On September 29, 2026 the AccessifyAI scanner tested the official demo store of Pebble 1.3.0 by FoxEcom on 4 pages. It found 8 issue types (230 occurrences in total). For 7 of the 12 WCAG 2.2 criteria this index evaluates it found nothing.

Is Pebble accessible?

An automated test cannot answer that on its own. What this one shows is 8 types of issues on the Pebble demo store within the 12 criteria this index evaluates, listed below. The content, apps and settings of your store decide much of the result. Of the 55 WCAG 2.2 Level A and AA criteria, the scanner tests 15, this index reports 12, and the other 40 need a person to check them.

This is not a certification and not a legal assessment.

Test details

Developer
FoxEcom
Price
$400 USD
Version tested
1.3.0, released July 6, 2026
Style
Pebble
Scan date
September 29, 2026
Theme Store
Theme Store page
Page size limit
8 MB per page for this theme. The app reads 2 MB per page; at least one page of this demo store is larger, so the theme was read with a higher limit. The rules are the same.
Pages
  • Home page: tested, 80 findings
  • Collection page: tested, 53 findings
  • Product page: tested, 61 findings
  • Cart page: tested, 36 findings

What the test found

Button without a name

WCAG 2.2 4.1.2 Name, role, value, Level A

67 occurrences, found on: Home page, Collection page, Product page, Cart page

Why it matters for shoppers
The shopper hears “button” with no hint whether it closes a drawer, adds to cart or opens the menu.
Where it usually lives in a Shopify theme
Icon-only buttons: drawer close, slider arrows, quantity plus and minus, menu and search toggles.
Direction for a fix
Put an aria-label or visually hidden text on the button and hide the icon inside it with aria-hidden="true".
Examples from the demo store
  • button.menu-drawer__item-link-arrow
  • button.video-interaction__control
  • button.cart-drawer__close

Link without a name

WCAG 2.2 2.4.4 Link purpose (in context), Level A

54 occurrences, found on: Home page, Collection page, Product page, Cart page

Why it matters for shoppers
A screen reader announces “link” and nothing else, so the shopper cannot tell where it leads.
Where it usually lives in a Shopify theme
Icon links in the header (account, cart), social media icons in the footer, image-only links on product cards and collection tiles.
Direction for a fix
Add visually hidden text or an aria-label to icon links, for example “Cart” or “Instagram”. For an image link, give the image an alt text.
Examples from the demo store
  • a.absolute

Image without an alt attribute

WCAG 2.2 1.1.1 Non-text content, Level A

10 occurrences, found on: Home page, Collection page, Product page, Cart page

Why it matters for shoppers
A screen reader skips the image or reads out its file name, so a blind shopper does not learn what the product photo shows.
Where it usually lives in a Shopify theme
Product card and product media snippets, image banners, slideshow and image-with-text sections, and sometimes the logo in the header.
Direction for a fix
Output the alt text stored with the image, fall back to the product or section title, and give purely decorative images an empty alt="".
Examples from the demo store
  • img.media__image

The same id is used more than once

WCAG 2.2 4.1.2 Name, role, value, Level A

58 occurrences, found on: Home page, Collection page, Product page, Cart page

Why it matters for shoppers
Labels, error messages and aria references can point at the wrong element, so a field or control may lose its name.
Where it usually lives in a Shopify theme
Sections rendered twice on one page, such as desktop and mobile headers, cart drawer and cart page, or country and language selectors in both header and footer.
Direction for a fix
Make generated ids unique, for example by adding the section id to them.
Examples from the demo store
  • "QuickAdd-ProductForm-8712551202954-", 4×
  • "QuickAdd-ProductForm-8712505196682-", 4×
  • "QuickAdd-ProductForm-8712494088330-", 4×

Heading levels skip a step

WCAG 2.2 1.3.1 Info and relationships, Level A

3 occurrences, found on: Home page, Product page, Cart page

Why it matters for shoppers
People who move through a page by headings expect the levels to nest. A jump from h2 to h4 suggests a missing part.
Where it usually lives in a Shopify theme
Section headings, product card titles and footer column headings, where the level is chosen for its font size.
Direction for a fix
Choose heading levels from the structure of the page and set the size with a class.
Examples from the demo store
  • h1 → h6
  • h1 → h3

Page without an h1 heading

WCAG 2.2 1.3.1 Info and relationships, Level A

1 occurrence, found on: Collection page

Why it matters for shoppers
Screen reader users often jump to the first-level heading to learn what a page is about.
Where it usually lives in a Shopify theme
The main title of a template: collection banner, product title in the main product section, cart title. Some templates style the title as a heading without using an h1.
Direction for a fix
Render the main title of every template as one h1.

Icon without a text alternative or a decorative mark

WCAG 2.2 1.1.1 Non-text content, Level A

36 occurrences, found on: Home page, Collection page, Product page, Cart page

Why it matters for shoppers
If the icon carries meaning, such as a payment method or “free shipping”, a screen reader user misses it. If it is decoration, it should be hidden from screen readers.
Where it usually lives in a Shopify theme
Icon snippets, payment icons in the footer, trust and feature icons.
Direction for a fix
Hide decorative icons with aria-hidden="true". Give meaningful icons role="img" and an aria-label or a title element.
What the test can see
The test cannot tell a decorative icon from a meaningful one, so each of these needs a quick look.
Examples from the demo store
  • svg

Focus moves when the page loads

WCAG 2.2 3.2.1 On focus, Level A

1 occurrence, found on: Collection page

Why it matters for shoppers
Screen reader users start somewhere unexpected and miss the top of the page.
Where it usually lives in a Shopify theme
Search fields and pop-ups with the autofocus attribute.
Direction for a fix
Remove autofocus and move focus only after the shopper opens something.
Examples from the demo store
  • input#Filter-filter-v-availability-1-in-drawer

Evaluated criteria without findings: 7 of 12

Without findings means the automated test found nothing for the criterion on these pages. Several of these criteria can only be tested in part by a machine.

  • 1.4.2 Audio control (Level A)
  • 1.4.4 Resize text (Level AA)
  • 2.4.1 Bypass blocks (Level A)
  • 2.4.2 Page titled (Level A)
  • 2.4.3 Focus order (Level A)
  • 3.1.1 Language of page (Level A)
  • 3.3.8 Accessible authentication (minimum) (Level AA)

Not evaluated in this index

  • 1.4.3 Contrast (minimum) (Level AA): needs the rendered page with its stylesheets
  • 2.4.11 Focus not obscured (minimum) (Level AA): needs the rendered page with its stylesheets
  • 2.5.8 Target size (minimum) (Level AA): needs the rendered page with its stylesheets

Also noted, Level AAA

Level AAA goes beyond what EN 301 549, the standard behind the EAA and the BFSG, asks for. These points are listed for completeness and are not counted above.

  • Link opens a new tab without saying so (3.2.5 Change on request): 4

What this result does not tell you

  • The scanner checks 15 of the 55 WCAG 2.2 Level A and AA success criteria, some of them only in part, and this index reports 12 of them. Keyboard use, focus visibility, captions, error messages and most of what makes a checkout usable need a person to check.
  • Contrast (minimum), focus not obscured and target size are not evaluated here: they need the rendered page with its stylesheets, and this test does not load stylesheets. Their findings are left out of every count on this page.
  • It tests the demo store as it was on the scan date: demo content, settings and apps included. A store built on the same theme can have more or fewer findings.
  • The scanner reads the HTML the server sends, without running scripts or loading external stylesheets. Content that scripts add after the page loads is not part of this test.
  • It is not a certification and not a legal assessment of the theme or of any store that uses it.

How we test

Data licence: CC BY 4.0. Attribution: AccessifyAI Shopify theme accessibility index, accessifyai.de

Scan your own store

Your store has its own content, apps and settings on top of the theme. The free scanner runs the same rules on your storefront and shows every finding with its WCAG criterion.

For the developer of Pebble

If you have released a fix for any of these findings, or you think a result is wrong, write to support@accessifyai.de with “Pebble” and the version number. We scan the demo store again and update this page with the new date.

More themes by FoxEcom in the index

All themes in the index

Is the Pebble theme accessible? Shopify WCAG 2.2 test | AccessifyAI