Accessibility
What this site has been built and tested to do, and what it has not. A statement is only worth reading if it admits the second part.
We do not claim this site conforms to WCAG 2.1 AA. It is built to it, and parts of it have been measured - but no screen-reader pass and no external audit have been done, so a conformance claim would be a guess. The gaps are listed below rather than left for you to find.
The standard we build to
WCAG 2.1 Level AA. Two criteria are treated as a hard floor rather than a target, because they are the ones most often skipped, and they are two separate tests rather than one.
- 320px wide with no horizontal scrolling - WCAG 1.4.10 Reflow.
- Text at 200% with nothing clipped - WCAG 1.4.4 Resize Text.
What is in place
- Colour contrast is a rule, not a preference: the brand red measures 4.41:1 on white, so it carries fills and large type only, and a darker red at 7.16:1 carries every button label and every small element. The two are deliberately never collapsed into one.
- Colour never carries meaning alone: sold out is a word, a badge and a dimmed image - three signals, so it survives being read in greyscale.
- Every input is at least 16px. Below that, iOS Safari zooms the page on focus and you lose your place mid-form, which is worst of all in checkout.
- Visible focus on everything reachable, and everything is reachable by keyboard.
- Inputs have real labels, not placeholder text pretending to be one.
- Images carry alt text composed from the product, including the category where the title alone would not say it.
- Empty states say so in words: a product with no reviews prints “No reviews yet” rather than an empty five-star row, which reads as one star at a glance.
Motion
If your system is set to reduce motion, the site honours it: the hero stops panning, the promise bar stops scrolling, cards stop lifting, and counters print their final figure immediately. Everything is switched off, not slowed down.
Nothing on this site is hidden waiting for an animation to run. No content is left transparent pending a scroll trigger, so if a script fails or never fires, every word is still on the page. That rule exists because breaking it once left five headings and twenty-three product cards invisible here - and there is now a test that fails if it happens again.
Gaps we know about
Listed because a statement claiming everything is fine tells you nothing. These are the reasons this page does not say “conforms”.
- No screen-reader pass has been done. Components are built with correct roles and labels, but nobody has driven the site end to end with NVDA, JAWS or VoiceOver. Treat everything above as designed-for rather than verified.
- No external audit. No third party has assessed this site against WCAG 2.1 AA.
- Video has no captions yet, because there is no published video yet. Any product clip that ships must carry them - which is also what makes a clip work with the sound off, and that is how most people watch.
- Long pages have no skip link past the header and navigation to the main content.
Tell us when we get it wrong
If something here is unusable with the tools you rely on, that is a defect and we want the report. Say what you were trying to do, what happened, and what you were using - browser, and any assistive technology. We will tell you what we find, including when the honest answer is that it will take a while.
