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.

HighMediumLow
700

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 saysWhat we foundPriority
“images lack alternative text” (p. 2)Issue #1, Issue #2High
“cannot navigate with keyboard” (p. 2)Manual review—
“insufficient color contrast” (p. 3)Issue #4High

Dates found in your letter. Talk to a lawyer about them.

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:

screenshot of the flagged element, outlined in red, on https://demo-store.example/products/lavender-field-soy-candle
https://demo-store.example/products/lavender-field-soy-candle · SHA-256 da819c5d7a9b888d…
<img src="demo-img/candle-front.svg">
screenshot of the flagged element, outlined in red, on https://demo-store.example/products/lavender-field-soy-candle
https://demo-store.example/products/lavender-field-soy-candle · SHA-256 be7db0ed9dbb38de…
<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:

screenshot of the flagged element, outlined in red, on https://demo-store.example/products/lavender-field-soy-candle
https://demo-store.example/products/lavender-field-soy-candle · SHA-256 15e46c2445206b2d…
<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:

screenshot of the flagged element, outlined in red, on https://demo-store.example/products/lavender-field-soy-candle
https://demo-store.example/products/lavender-field-soy-candle · SHA-256 88af226cb0ce875c…
<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:

screenshot of the flagged element, outlined in red, on https://demo-store.example/products/lavender-field-soy-candle
https://demo-store.example/products/lavender-field-soy-candle · SHA-256 ecb1f94cfedb8fa0…
<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:

screenshot of the flagged element, outlined in red, on https://demo-store.example/products/lavender-field-soy-candle
https://demo-store.example/products/lavender-field-soy-candle · SHA-256 dfd00680ba2dab37…
<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

  1. Fix the High items first.
  2. Click Re-check my site on your order page.
  3. You'll get a dated before/after report.

Appendix

ScanTimeEnginePages
Assessment2026-09-11 14:02 UTCaxe-core 4.13.0
  • https://demo-store.example/products/lavender-field-soy-candle

Issue #1 — alt-quality (WCAG 1.1.1)

Issue #2 — image-alt (WCAG 1.1.1)

Issue #3 — button-name (WCAG 4.1.2)

Issue #4 — color-contrast (WCAG 1.4.3)

Issue #5 — html-has-lang (WCAG 3.1.1)

Issue #6 — label (WCAG 4.1.2)

Issue #7 — link-name (WCAG 2.4.4, 4.1.2)

Screenshots

ScanIssuePageSHA-256
Assessmentimage-althttps://demo-store.example/products/lavender-field-soy-candleda819c5d7a9b888d0f0bcc1c9066195c4c35017255c98cfcfd73cd741d464ede
Assessmentimage-althttps://demo-store.example/products/lavender-field-soy-candlebe7db0ed9dbb38de494be2a8eb3321c42122bdc81a7b944e799719e422b7288c
Assessmentbutton-namehttps://demo-store.example/products/lavender-field-soy-candle15e46c2445206b2d7b54e4214e7680c8763ade722f4e9e7954ca78515ed6ae29
Assessmentcolor-contrasthttps://demo-store.example/products/lavender-field-soy-candle88af226cb0ce875c8e5a194d7d8ce555297791eeaa2d390def84079292c67b8b
Assessmentlabelhttps://demo-store.example/products/lavender-field-soy-candleecb1f94cfedb8fa081798936d97f97635241e44534018efb3c3a024f820a0133
Assessmentlink-namehttps://demo-store.example/products/lavender-field-soy-candledfd00680ba2dab37339958b6498a37d5e0271130cefb417704f0ecad1fcade2b

The SHA-256 of this report's PDF, with every scan's timestamps and screenshots, is in evidence.json on your order page.

This is a technical accessibility assessment, not legal advice, and automated testing cannot establish ADA compliance.