Accessibility report

Example report. Generated from a sample theme so you can see what Themeremedy finds. Install the app to scan your own store.

Example theme on example-store.myshopify.com · 118 files, 991 KB, scanned in 0.8s

27
Issues found
8
Critical
12
Serious
9
Exact fix ready

layout/theme.liquid

critical

Image button is missing alt text

line 31 · WCAG 1.1.1

<input type="image"> has no alt text

Needs a human decision. No automatic fix available.

serious

Page prevents zooming

line 7 · WCAG 1.4.4

viewport prevents zooming (user-scalable=no or maximum-scale<=1)

Needs a human decision. No automatic fix available.

serious

Tab order is overridden

line 15 · WCAG 2.4.3

tabindex="3" overrides natural focus order

Needs a human decision. No automatic fix available.

serious

Interactive elements are nested

line 37 · WCAG 4.1.2

<button> is nested inside <a>

Needs a human decision. No automatic fix available.

serious

Unknown ARIA role

line 41 · WCAG 4.1.2

unknown ARIA role: carousel

Needs a human decision. No automatic fix available.

moderate

Heading is empty

line 22 · WCAG 1.3.1

<h2> is empty

Needs a human decision. No automatic fix available.

moderate

List contains a non-list item

line 48 · WCAG 1.3.1

<ul> contains <div> instead of <li>

Needs a human decision. No automatic fix available.

moderate

Duplicate id on the page

line 54 · WCAG 4.1.1

id="promo-banner" is used more than once in this file

Needs a human decision. No automatic fix available.

moderate

Duplicate id on the page

line 55 · WCAG 4.1.1

id="promo-banner" is used more than once in this file

Needs a human decision. No automatic fix available.

sections/promo.liquid

critical

Image is missing alt text

line 5 · WCAG 1.1.1

<img> has no alt attribute

Needs a human decision. Alt text requires seeing the image; must not be guessed

critical

Image is missing alt text

line 30 · WCAG 1.1.1

<img> has no alt attribute

Needs a human decision. Alt text requires seeing the image; must not be guessed

critical

Form field has no label

line 36 · WCAG 3.3.2

<input> has no associated label

Current code

<input type="email" name="contact[email]" placeholder="Enter your email" required>

Replace with

<input type="email" name="contact[email]" placeholder="Enter your email" required aria-label="Enter your email">

Placeholder text "Enter your email" describes the field

serious

Embedded frame has no title

line 19 · WCAG 4.1.2

<iframe> has no title

Current code

<iframe
  src="https://www.youtube.com/embed/{{ section.settings.video_id }}"
  width="560"
  height="315"
  frameborder="0"
  allowfullscreen
>

Replace with

<iframe
  src="https://www.youtube.com/embed/{{ section.settings.video_id }}"
  width="560"
  height="315"
  frameborder="0"
  allowfullscreen
  title="YouTube video player"
>

YouTube embed

serious

Link has no readable text

line 47 · WCAG 4.1.2

<a> has no discernible text

Current code

<a href="{{ settings.social_facebook_link }}">

Replace with

<a href="{{ settings.social_facebook_link }}" aria-label="Facebook">

Link target is the Facebook social setting

serious

Link has no readable text

line 52 · WCAG 4.1.2

<a> has no discernible text

Current code

<a href="{{ settings.social_instagram_link }}">

Replace with

<a href="{{ settings.social_instagram_link }}" aria-label="Instagram">

Link target is the Instagram social setting

sections/header.liquid

critical

Image is missing alt text

line 6 · WCAG 1.1.1

<img> has no alt attribute

Current code

<img src="{{ settings.logo | image_url: width: 200 }}" width="200" height="60">

Replace with

<img src="{{ settings.logo | image_url: width: 200 }}" width="200" height="60" alt="{{ shop.name }}">

Store logo — name it from the shop, not from the image content

critical

Button has no accessible name

line 15 · WCAG 4.1.2

<button> has no text and no aria-label

Current code

<button type="button" class="header__search-toggle">

Replace with

<button type="button" class="header__search-toggle" aria-label="Search">

Contains the "Search" icon and no text

critical

Form field has no label

line 31 · WCAG 3.3.2

<input> has no associated label

Current code

<input type="search" name="q" class="search__input" placeholder="Search our store">

Replace with

<input type="search" name="q" class="search__input" placeholder="Search our store" aria-label="Search our store">

Placeholder text "Search our store" describes the field

critical

Form field has no label

line 36 · WCAG 3.3.2

<select> has no associated label

Current code

<select name="currency" class="header__currency">

Replace with

<select name="currency" class="header__currency" aria-label="Currency">

Derived from the field's name attribute "currency"

serious

Link has no readable text

line 20 · WCAG 4.1.2

<a> has no discernible text

Current code

<a href="{{ routes.cart_url }}" class="header__cart">

Replace with

<a href="{{ routes.cart_url }}" class="header__cart" aria-label="Cart">

Contains the "Cart" icon and no text

sections/product-detail.liquid

serious

aria-hidden-focus

line 5 · WCAG 4.1.2

<a> is aria-hidden but still focusable

Needs a human decision. No automatic fix available.

serious

svg-img-alt

line 14 · WCAG 1.1.1

<svg role="img"> has no title or aria-label

Needs a human decision. No automatic fix available.

serious

video-caption

line 23 · WCAG 1.2.2

<video> has no captions track

Needs a human decision. No automatic fix available.

serious

object-alt

line 31 · WCAG 1.1.1

<object> has no text alternative

Needs a human decision. No automatic fix available.

moderate

table-headers

line 34 · WCAG 1.3.1

table has no <th> header cells

Needs a human decision. No automatic fix available.

moderate

autocomplete-valid

line 49 · WCAG 1.3.5

autocomplete="zipcode" is not a valid token

Needs a human decision. No automatic fix available.

moderate

label-title-only

line 56 · WCAG 3.3.2

field is labelled only by a title attribute

Needs a human decision. No automatic fix available.

What this report does and does not tell you.

Automated testing can detect roughly 40% of WCAG success criteria. It cannot confirm that a store is accessible or legally compliant, and nobody's tool can — claims to the contrary are why the FTC fined a well-known accessibility vendor $1,000,000 in 2025.

What it does cover well: the machine-detectable failures are essentially the same ones that the automated scanners used by plaintiff firms find when they generate demand letters. Fixing them addresses the most common route to a claim. Issues needing human judgement — whether alt text is meaningful, whether focus order makes sense — still need a person.