Accessibility report · read-only
14 issues found · 11 high · 3 medium · scanned 2026-08-18
Most Shopify stores we scan land between 2 and 30 issues. Yours is in the upper half of that range.
Layout may differ from your live store.
14 issues in the preview. Click a number to locate it.
Customers using a screen reader hear nothing where these images are. If a product photo carries information the text does not repeat, they miss it. This is the item cited most often in ADA filings.
Where you fix it depends on where the image lives. Product photos: Shopify admin → Products → open the product → click the image → Add alt text. Images in a section (banners, image-with-text, logo strips): Online Store → Themes → Customize → select the image block → Alt text. Either way, write one sentence describing what the image shows.
<img class="shot" src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%…<img class="shot" src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%…<img class="shot" src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%…<img class="shot" src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%…These are usually icon-only controls — a cart, a search magnifier, a carousel arrow. A screen reader announces them as just "button" or "link", so the customer cannot tell what they do without clicking. Unnamed controls appear regularly in ADA web accessibility filings.
This needs a theme change. Online Store → Themes → Edit code, find the button, and add an aria-label describing the action ("Open cart", "Search"). Hidden-but-readable text inside the button works too. If the control came from an app, its support team has to add this.
-<button class="icon-btn" type="button"><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor"…+<button class="icon-btn" type="button" aria-label="Describe what this control does"><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor"…
<button class="icon-btn" type="button"><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor"…<a class="icon-btn" href="/account"><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" st…<a class="icon-btn count" href="/cart"><svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor"…A screen reader announces these boxes without saying what to type — on a search box or a newsletter signup the customer hears only "edit text". Placeholder text alone does not count, because it disappears once typing starts. Form fields without labels appear regularly in ADA web accessibility filings.
This usually needs a theme change. Online Store → Themes → Edit code, find the section holding the form, and give each field a matching label. If the form came from an app, ask that app's support to add labels.
-<input type="search" placeholder="Search products">+<input type="search" placeholder="Search products" aria-label="Search products">
<input type="search" placeholder="Search products"><input type="email" placeholder="Email address">These links contain only a picture with no description, so a screen reader announces the link with no idea where it leads. Collection tiles and logo links are the usual cases, and a customer cannot navigate past them. Image links without a description appear regularly in ADA web accessibility filings.
Give the image inside the link a description: Shopify admin → Products or Collections → click the image → Edit alt text, and write where the link goes ("Shop pants"). For a logo linking home, the theme's logo setting has an alt text field under Online Store → Themes → Customize.
<a href="/collections/sale"> <img alt="" src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org…<a href="/collections/new"> <img alt="" src="data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%…Screen reader users jump between headings the way sighted visitors skim, so headings act as the map of the page. Two things break that map: a level that skips a step, or no main heading at all. The list below shows which case applies here.
Each page should have exactly one main heading, with the sections below it stepping down one level at a time. Some themes let you choose a heading's level in Online Store → Themes → Customize, on that section's heading setting. If yours does not, it is a small theme edit: Online Store → Themes → Edit code, open the section, and change the heading tag (for example h4 to h3). Pick the level for its place on the page, not for its size.
h1 → h3: <h3>Featured this week</h3>An empty heading is announced with nothing after it. Customers navigating heading by heading hit a dead stop and cannot tell whether content failed to load.
Online Store → Themes → Customize, find the section with the blank heading, and either write the text or remove the empty heading block. These are often left behind when a section is duplicated.
<h2></h2>Screen readers can list every link on a page on its own. A list of "click here" and "read more" tells the customer nothing about the destinations, because the surrounding sentence is not read out with them.
Edit the link text so it names the destination — "Read our shipping policy" instead of "read more". Online Store → Themes → Customize for section text, or Pages for page content. Wording the theme supplies itself, like a blog's "Read more", changes without code: Online Store → Themes → … → Edit default theme content, then search for the phrase.
<a class="more" href="/blogs/journal/choosing-materials">Read more</a>