Accessibility
BasketPrice targets WCAG 2.2 Level AA. We are not claiming to have met every success criterion on day one, so this page lists the gaps we know about by name rather than the badge we would like to display.
What is in place
- The price chart is not the only way to read the data. Each sparkline is marked decorative and paired with a text equivalent naming the recorded low, the day it was charged and the recorded high; the price itself is read out just above it — so a screen reader gets the numbers, not “image”.
- No information is carried by colour alone. A verdict is printed in words — “lowest in 14 days”, “about normal” — and its colour is the second signal, never the only one.
- Nothing moves on hover. Cards do not lift, scale or reflow, and prefers-reduced-motion removes what little animation remains.
- Keyboard first. A skip link, visible focus outlines on every interactive element, and a sticky header offset so an anchored target is never hidden underneath it.
- Text is real text at 15px base, resizable and reflowable, with no images of text and no maximum-scale restriction.
Known gaps, as of launch
- Merchant alt text. Amazon product images are hotlinked and must not be re-hosted under the Associates licence, so their alternative text is the merchant’s own product title. Those titles are long, keyword-stuffed and repetitive when read aloud. We cannot rewrite the image; we are working on shortening the announced text.
- The chart has no per-point access. The text equivalent gives the summary — low, high, now — not every observation. A keyboard-navigable data table behind each chart is planned.
- prefers-contrast is not yet honoured. Body text and the interface meet AA contrast, but some hairline rules and muted timestamps sit near the AA boundary at small sizes and do not strengthen for readers who ask for higher contrast.
Testing
Pages are checked with keyboard-only navigation and with VoiceOver on macOS and Safari. There are no automated accessibility checks in the build yet, which is one more reason the list above exists.
Tell us what broke
Email [email protected] with the page URL, what you were trying to do, and the browser and assistive technology you were using. If something blocks you outright, say so in the subject line — we treat a blocker as a defect, not a feature request, and if you need a price or a chart read to you in the meantime, ask and we will send it as plain text.