Sample report for a fictional store, generated from our demo pages. Back to the home page
Technical Assessment + Fix Plan
https://demo-store.example · Platform: Shopify · Assessed 2026-09-11 14:02 UTC · 1 page scanned
This is a technical accessibility assessment, not legal advice, and automated testing cannot establish ADA compliance.
We scanned 1 page of https://demo-store.example and the automated check detected 7 issue types: 7 High, 0 Medium and 0 Low priority. 2 of 3 claims in your letter match issues we detected; 1 needs manual review. Automated testing finds only part of accessibility problems, so also work through the manual review list.
What your letter claims
| Your letter says | What we found | Priority |
|---|
| “images lack alternative text” (p. 2) | Issue #1, Issue #2 | High |
| “cannot navigate with keyboard” (p. 2) | Manual review | — |
| “insufficient color contrast” (p. 3) | Issue #4 | High |
Dates found in your letter. Talk to a lawyer about them.
- Please respond within 14 days.
Fix Plan
Issue #1 — Alternative text that may not describe the image
Priority: High
2 images have alternative text that looks like a file name, a generic word, or is very long. (2 look like file names, e.g. “IMG_4821.jpg”)
Why it matters: Alt text like "IMG_4821.jpg" or "image" tells a screen-reader user nothing about the product. This is flagged as possibly inadequate: a person should confirm it.
How to fix (Shopify): Shopify admin → Products → open the product → Media → click the image → edit the alt text so it describes the image instead of naming the file.
In code: Replace file names and generic words with a short description of what the image shows. Keep it under about 150 characters and put longer details in the page text.
Check it yourself: Read each flagged image's alt text next to the image. Would someone who can't see it understand what it shows?
Your letter mentions this: “images lack alternative text” (p. 2)
Example elements:
<img src="demo-img/candle-lit.svg" alt="IMG_4821.jpg">
<img src="demo-img/candle-box.svg" alt="DSC0042">
Evidence: 1 URL (list in appendix) · scanned 2026-09-11 14:02 UTC
Status: Unfixed
Issue #2 — Images without alternative text
Priority: High
2 images have no alternative text.
Why it matters: Screen-reader users hear nothing, or just a file name, where the image is. They can't tell what a product looks like or what a banner says.
How to fix (Shopify): Shopify admin → Products → open the product → Media → click the image → Add alt text → describe what the image shows (e.g. "Lavender soy candle in amber glass jar, lid off"). For banner and section images: Online Store → Themes → Customize → select the section → Image → Alt text.
In code: Add an alt attribute that describes the image: <img src="candle.jpg" alt="Lavender soy candle in amber glass jar">. Use alt="" only for purely decorative images.
Check it yourself: Turn on your screen reader (VoiceOver on Mac: Cmd+F5; NVDA on Windows) and move through the page. Each image should be read as a short description, not a file name.
Your letter mentions this: “images lack alternative text” (p. 2)
Example elements:
<img src="demo-img/candle-front.svg">
<img src="demo-img/candle-side.svg">
Evidence: 1 URL (list in appendix) · scanned 2026-09-11 14:02 UTC
Status: Unfixed
Issue #3 — Buttons with no readable name
Priority: High
1 button has no text a screen reader can announce.
Why it matters: Icon-only buttons such as menu, search, close, and gallery arrows are read as just "button". Users can't tell what pressing them will do.
How to fix (Shopify): These are usually theme icons (menu, search, gallery arrows, close). Check for a theme update first (Online Store → Themes → ⋯ → check for updates). Otherwise: Edit code, find the <button>, and add aria-label="Next image" (or visually hidden text), or send this report to your theme developer.
In code: Give every button a name: visible text, or aria-label on an icon button (<button aria-label="Next image">…</button>).
Check it yourself: With a screen reader on, tab to each button. It should announce what it does, e.g. "Next image, button".
Example elements:
<button class="next" type="button"><svg aria-hidden="true" width="22" height="22" viewBox="0 0 22 22"><path d="m8 4 7 7-7 7" fill="none" stroke="currentColor" stroke-width="2"></path></svg></button>
Evidence: 1 URL (list in appendix) · scanned 2026-09-11 14:02 UTC
Status: Unfixed
Issue #4 — Text that is hard to read against its background
Priority: High
1 text element doesn't have enough contrast with the background.
Why it matters: People with low vision or color blindness, or anyone on a phone in sunlight, may not be able to read light gray text on white.
How to fix (Shopify): Online Store → Themes → Customize → Theme settings → Colors → darken the text colors (or lighten the background) in each color scheme used by the flagged sections. Aim for a contrast ratio of at least 4.5:1 for normal text.
In code: Change the text or background color so the contrast ratio is at least 4.5:1 for normal text and 3:1 for large text (about 24px, or 19px bold). Check colors with the WebAIM Contrast Checker.
Check it yourself: Paste the text and background colors into the WebAIM Contrast Checker (webaim.org/resources/contrastchecker) and confirm the normal-text result passes AA.
Your letter mentions this: “insufficient color contrast” (p. 3)
Example elements:
<p class="description">A calm evening in the countryside, poured by hand with soy wax, lavender essential oil, and a soft cedar finish. Burns for approximately 45 hours.</p>
Evidence: 1 URL (list in appendix) · scanned 2026-09-11 14:02 UTC
Status: Unfixed
Issue #5 — Page language not declared
Priority: High
1 page doesn't declare a language.
Why it matters: Screen readers use the page language to pick a voice and pronunciation. Without it, English text may be read with the wrong accent or rules.
How to fix (Shopify): Settings → Languages → confirm your default language. If the theme still leaves it out: Online Store → Themes → ⋯ → Edit code → layout/theme.liquid → make the opening tag <html lang="{{ request.locale.iso_code }}">.
In code: Add a lang attribute to the <html> tag: <html lang="en">.
Check it yourself: View the page source (Ctrl+U / Cmd+Option+U) and check that the first <html> tag has lang="en" (or your language).
Example elements:
<html>
Evidence: 1 URL (list in appendix) · scanned 2026-09-11 14:02 UTC
Status: Unfixed
Issue #6 — Form fields without labels
Priority: High
1 form field has no label that a screen reader can announce.
Why it matters: Without a label, a screen-reader user hears only "edit text" and has to guess what to type. That includes the email signup, search, and quantity fields.
How to fix (Shopify): Check for a theme update first (Online Store → Themes → ⋯ → check for updates), since theme sections like the newsletter and search often fix this in newer versions. Otherwise: Online Store → Themes → ⋯ → Edit code, find the section with the field, and add a <label> or aria-label. If you're not comfortable editing code, send this report to your theme developer.
In code: Connect a visible label to every field: <label for="email">Email</label><input id="email" type="email">. If a visible label really isn't possible, add aria-label="Email address". Placeholder text alone is not a label.
Check it yourself: With a screen reader on, tab into each form field. It should announce the field's purpose (e.g. "Email address, edit text").
Example elements:
<input id="quantity" name="quantity" type="number" value="1" min="1">
Evidence: 1 URL (list in appendix) · scanned 2026-09-11 14:02 UTC
Status: Unfixed
Issue #7 — Links with no readable name
Priority: High
1 link has no text a screen reader can announce.
Why it matters: Icon-only links such as the cart, account, or social icons are read as just "link", or as a long URL. Users can't tell where the link goes.
How to fix (Shopify): Linked images: give the image alt text that says where it goes (e.g. "Shop the fall collection"). Theme icons like cart, account, and social links: check for a theme update first; otherwise Edit code and add aria-label="Cart" (or visually hidden text) to the link, or send this report to your theme developer.
In code: Every link needs text: visible text, alt text on a linked image, or aria-label on an icon link (<a href="/cart" aria-label="Cart">…</a>).
Check it yourself: With a screen reader on, open the links list (VoiceOver: Ctrl+Option+U; NVDA: Insert+F7). Every link should have a meaningful name.
Example elements:
<a class="cart" href="#cart"><svg aria-hidden="true" width="28" height="28" viewBox="0 0 28 28"><path d="M3 4h3l2 14h13l3-10H7M10 23a1 1 0 1 0 0 .1M20 23a1 1 0 1 0 0 .1" fill="none" stroke="currentColor" stroke-width="2"></path></svg></a>
Evidence: 1 URL (list in appendix) · scanned 2026-09-11 14:02 UTC
Status: Unfixed
Needs manual review
Next steps
- Fix the High items first.
- Click Re-check my site on your order page.
- You'll get a dated before/after report.
Appendix
| Scan | Time | Engine | Pages |
|---|
| Assessment | 2026-09-11 14:02 UTC | axe-core 4.13.0 | - https://demo-store.example/products/lavender-field-soy-candle
|
|---|
Issue #1 — alt-quality (WCAG 1.1.1)
- https://demo-store.example/products/lavender-field-soy-candle
Issue #2 — image-alt (WCAG 1.1.1)
- https://demo-store.example/products/lavender-field-soy-candle
Issue #3 — button-name (WCAG 4.1.2)
- https://demo-store.example/products/lavender-field-soy-candle
Issue #4 — color-contrast (WCAG 1.4.3)
- https://demo-store.example/products/lavender-field-soy-candle
Issue #5 — html-has-lang (WCAG 3.1.1)
- https://demo-store.example/products/lavender-field-soy-candle
Issue #6 — label (WCAG 4.1.2)
- https://demo-store.example/products/lavender-field-soy-candle
Issue #7 — link-name (WCAG 2.4.4, 4.1.2)
- https://demo-store.example/products/lavender-field-soy-candle
This is a technical accessibility assessment, not legal advice, and automated testing cannot establish ADA compliance.