Sample report · fictional store
Qiksy Access
Accessibility audit — Linden & Frost
Fashion boutique · Shopify · lindenfrost-sample.example · WCAG 2.1 AA · 25 states tested
Fix 6 components and 3 design tokens and 312 of 371 weighted findings disappear.
3 of them block a purchase for a keyboard or screen-reader user.
3Blocker
11Critical
24Major
9Minor
25States
Top risks
| Issue | Where | Severity | Effort |
| Checkout email field has no programmatic label | Checkout · contact | blocker | S |
| “Add to cart” 3.1:1 against white (4.5:1 required) | All product states | critical | S — one token |
| Focus ring hidden behind the sticky header | 12 states | critical | M |
Fix map — by design token
| Token | Current | Suggested | Used by | Closes |
--color-foreground-secondary | #8A8A8A | #6B6B6B | helper text, placeholders, footer links | 148 |
--color-button-primary | #7BA7E0 | #3A6FBF | Add to cart, Checkout, Apply | 63 |
--color-sale-badge | #F5B5B5 | #C0392B | sale badges across collection & PDP | 27 |
Fix map — by component
| Component | Defect | States | Closes |
sections/product-form | variant buttons expose no pressed state | 9 | 41 |
snippets/price | sale price conveyed by colour alone | 17 | 32 |
sections/cart-drawer | quantity steppers have no accessible name | 6 | 18 |
Findings register — excerpt
A-001 · Checkout email field has no programmatic label
- Criterion
- WCAG 1.3.1
- Severity
- blocker
- Component
sections/checkout-contact
- Token
- —
- Occurs in
- 3 states
- Evidence
- accessible name is empty; a screen reader announces “edit text”
+ <label for="checkout_email" class="visually-hidden">Email address</label>
<input type="email" id="checkout_email" autocomplete="email">
A-014 · Primary button text below contrast minimum
- Criterion
- WCAG 1.4.3
- Severity
- critical
- Component
sections/product-form
- Token
--color-button-primary
- Occurs in
- 21 states
- Evidence
- 3.1:1 measured against #FFFFFF — 4.5:1 required
--color-button-primary: #7BA7E0 → #3A6FBF (one token, 63 findings close)
A-029 · Focused element obscured by sticky header
- Criterion
- WCAG 2.4.11
- Severity
- critical
- Component
layout/header
- Token
- —
- Occurs in
- 12 states
- Evidence
- focus lands at y=38 while the fixed header spans 0–96 px
scroll-padding-top: 104px on <html>; verified across the keyboard route