Accessibility
The target is WCAG 2.1 AA across the site and the app. Here is what that means concretely, what is already true, and what is not yet.
In short
- Semantic HTML everywhere: real headings, real tables with scoped headers, landmarks, a skip link on every page.
- Every diagram is SVG with a title and a full text description — readable by a screen reader and quotable by anything.
- No motion beyond one slow CSS dash-flow, and prefers-reduced-motion freezes even that.
- The app: keyboard-reachable controls with visible focus, status conveyed in words alongside colour, charts with text tooltips and legends.
- Known gaps are listed below rather than discovered by you.
What is in place
| Area | Measure |
|---|---|
| Structure | semantic landmarks, one h1 per page, skip-to-content link, breadcrumb trails |
| Tables | header cells with scope, captions via aria-label on the scroll region |
| Figures | every SVG carries <title> + <desc>; nothing is conveyed by colour alone |
| Contrast | text meets 4.5:1 in both site themes; the app chart palette is validated for contrast and colour-vision separation on both backgrounds |
| Motion | one animation site-wide; prefers-reduced-motion disables it globally |
| Forms | labelled inputs, visible focus, errors named in text next to the field |
| Keyboard | all app actions reachable without a pointer; dialogs close on Escape |
Known gaps
| Gap | Status |
|---|---|
| Chart data as a screen-reader table view | tooltips carry the numbers per point; a parallel table view per widget is planned |
| Widget drag-and-drop | not built — movement is by labelled buttons, which is the accessible path anyway |
| Formal audit by an external assessor | not yet commissioned; this statement is self-assessed |
Questions
Found a barrier?
Email support@hookget.com with the page and what blocked you. Accessibility reports go into the same bug queue our own crash handler writes to, with the same operator visibility — they are bugs, not feedback.