Accessibility Audit — demo-store.example

http://demo-store.example/ · 2026-08-09 · 3 pages × 2 viewports · engine: axe-core 4.13 (WCAG 2.1 A/AA) · regulations DB v2026.08

38.5/100
OVERALL RISK SCORE
High legal exposure
21 issues found, 8 of them critical. Standard used by EU (EN 301 549, cited by the EAA) and by US courts (WCAG 2.1 AA under ADA Title III).

Overview — every category, every count

CategorySeverityInstancesPages
Images have no text alternativecritical62
Text contrast is too lowserious83
Dropdowns have no labelcritical22
Links have no readable textserious21
Page has no titleserious11
Embedded frame has no titleserious11
Page language is not declaredserious11

Issues, ranked by legal risk

Images have no text alternative critical 6 found on 2 page(s) · desktop + mobile
Screen-reader users cannot tell what product photos show; missing alt text is among the most frequently cited issues in demand letters.
Fix — copy this pattern: <img src="tent.jpg" alt="TrailStar 2P tent pitched in a forest">
PageElement with the issueHow to fix this one
homepage /<img src="img/novagear-logo.svg" style="height:44px">add a description for this image, e.g. alt="novagear logo"
homepage /<img src="img/summer-trail-collection-2026.svg" style="width:100%;border-radius:10px">add a description for this image, e.g. alt="summer trail collection 2026"
homepage /<img src="img/trailstar-2p-tent.svg" style="width:280px;border-radius:8px">add a description for this image, e.g. alt="trailstar 2p tent"
homepage /<img src="img/summit-40l-pack.svg" style="width:280px;border-radius:8px">add a description for this image, e.g. alt="summit 40l pack"
/products.html<img src="img/trailstar-2p-tent-detail.svg" style="width:170px;border-radius:8px">add a description for this image, e.g. alt="trailstar 2p tent detail"
/products.html<img src="img/summit-40l-pack-detail.svg" style="width:170px;border-radius:8px">add a description for this image, e.g. alt="summit 40l pack detail"
Basis: WCAG 2.1 SC 1.1.1 (Level A) · EN 301 549 (EU, cited by the EAA) · US: ADA Title III
Text contrast is too low serious 8 found on 3 page(s) · desktop + mobile
Light-grey text fails WCAG contrast minimums; low-vision users cannot read prices or headlines. The most common machine-detectable failure on the web (WebAIM Million, 2026).
Fix — copy this pattern: color: #595959; /* 7:1 on white — passes AA */
PageElement with the issueHow to fix this one
homepage /<div style="font-size:34px;font-weight:bold;color:#cccccc">Summer Sale — up to 50% off</div>color: #595959; /* 7:1 on white — passes AA */
homepage /<p style="color:#d9d9d9;font-size:17px">Premium outdoor gear for your next adventure.</p>color: #595959; /* 7:1 on white — passes AA */
homepage /<div style="padding:20px 28px;color:#ccc;font-size:12px;border-top:1px solid #eee;margin-top:30px">© 202color: #595959; /* 7:1 on white — passes AA */
/products.html<span style="color:#bbb;font-size:19px">TrailStar 2P Tent — €249</span>color: #595959; /* 7:1 on white — passes AA */
/products.html<span style="color:#bbb;font-size:19px">Summit 40L Pack — €129</span>color: #595959; /* 7:1 on white — passes AA */
/products.html<span style="color:#999;font-size:14px">Sort by:</span>color: #595959; /* 7:1 on white — passes AA */
/products.html<a href="cart.html" style="color:#ddd;text-decoration:none;font-size:16px">Go to checkout →</a>color: #595959; /* 7:1 on white — passes AA */
/cart.html<p style="color:#d5d5d5;font-size:12px;margin-top:16px">By paying you agree to our terms.</p>color: #595959; /* 7:1 on white — passes AA */
Basis: WCAG 2.1 SC 1.4.3 (Level AA) · EN 301 549 (EU, cited by the EAA) · US: ADA Title III
Dropdowns have no label critical 2 found on 2 page(s) · desktop + mobile
Sort/country selectors cannot be identified by assistive technology.
Fix — copy this pattern: <label for="sort">Sort by</label><select id="sort">…</select>
PageElement with the issueHow to fix this one
/products.html<select style="padding:8px 12px;border:1px solid #ddd;border-radius:6px"><option>Price</option&add a visible <label> before the <select>, or an aria-label describing its purpose
/cart.html<select style="width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;margin-bottom:18px"><oadd a visible <label> before the <select>, or an aria-label describing its purpose
Basis: WCAG 2.1 SC 4.1.2 (Level A) · EN 301 549 (EU, cited by the EAA) · US: ADA Title III
Links have no readable text serious 2 found on 1 page(s) · desktop + mobile
A link wrapping only an image tells screen-reader users nothing about where it goes.
Fix — copy this pattern: <a href="products.html" aria-label="Browse all products">…</a>
PageElement with the issueHow to fix this one
homepage /<a href="products.html"><img src="img/trailstar-2p-tent.svg" style="width:280px;border-radius:8px"><a href="products.html" aria-label="Browse all products">…</a>
homepage /<a href="products.html"><img src="img/summit-40l-pack.svg" style="width:280px;border-radius:8px">&<a href="products.html" aria-label="Browse all products">…</a>
Basis: WCAG 2.1 SC 2.4.4 (Level A) · EN 301 549 (EU, cited by the EAA) · US: ADA Title III
Page has no title serious 1 found on 1 page(s) · desktop + mobile
The tab/title is the first thing a screen-reader user hears on every page.
Fix — copy this pattern: <title>NovaGear — outdoor gear</title>
PageElement with the issueHow to fix this one
homepage /<html><title>NovaGear — outdoor gear</title>
Basis: WCAG 2.1 SC 2.4.2 (Level A) · EN 301 549 (EU, cited by the EAA) · US: ADA Title III
Embedded frame has no title serious 1 found on 1 page(s) · desktop + mobile
Chat/review widgets in iframes must be titled so screen-reader users know what the frame contains.
Fix — copy this pattern: <iframe title="Customer support chat" src="…">
PageElement with the issueHow to fix this one
homepage /<iframe src="about:blank" width="320" height="180" style="border:none"></iframe>add a title describing the embedded content, e.g. title="customer support chat"
Basis: WCAG 2.1 SC 4.1.2 (Level A) · EN 301 549 (EU, cited by the EAA) · US: ADA Title III
Page language is not declared serious 1 found on 1 page(s) · desktop + mobile
Without lang, screen readers pronounce English content with wrong rules.
Fix — copy this pattern: <html lang="en">
PageElement with the issueHow to fix this one
homepage /<html><html lang="en">
Basis: WCAG 2.1 SC 3.1.1 (Level A) · EN 301 549 (EU, cited by the EAA) · US: ADA Title III

How the score works

Start at 100. Each rule subtracts: critical −4.5, serious −3, moderate −1.5, minor −1 per instance, capped at 5 per rule. This score is a risk indicator, not a compliance certification.

Attest provides professional technical audits, not legal advice. Remediating reported issues reduces risk but does not guarantee compliance or immunity from claims. Liability is limited to the purchase price.