Accessibility
Last reviewed 9 November 2026
Arrivo targets WCAG 2.2 level AA. This page states what is built, what is not yet right, and how to tell us when something gets in your way — because a standard nobody can check is a promise nobody can keep.
Controls you can use right now
The button at the bottom right of every page, labelled Accessibility & privacy, opens settings that apply immediately and are remembered in your browser only. They are never sent to us:
- Text size — default, larger, largest.
- High contrast — near-black on white, with the accent darkened to pass AA for button labels.
- Underline links — for anyone who cannot rely on colour alone.
- Reduce motion — removes transitions and animation. Your operating system’s own “reduce motion” setting is respected too, without changing anything here.
We deliberately do not use a commercial accessibility overlay (accessiBe, UserWay, EqualWeb). Those inject third-party JavaScript into every page, which would see everything you type — and our privacy notice says no third party runs here. Keeping accessibility ours keeps that statement true.
What is implemented
- Every page is reachable and operable by keyboard alone, with a visible focus ring on every interactive element.
- Form inputs have real labels; the sign-in and invitation forms are ordinary HTML forms, so password managers and autofill work.
- Structure is carried by headings and landmarks, not by visual weight alone.
- Status messages — saved, failed, invitation sent — are rendered as text, not by colour change alone.
- Type is self-hosted, so it never shifts when a third-party font loads, and nothing is fetched from another origin.
- Moving a card has a keyboard-operable alternative: each card offers a stage selector and a Move button. Dragging is a convenience, not a requirement.
- Nothing auto-plays, auto-advances, or flashes.
Known limitations
| Where | What falls short | Status |
|---|---|---|
| The default accent on primary buttons | White text on the shipped emerald is about 2.5:1, below the 4.5:1 that 1.4.3 requires for normal text. High contrast mode replaces it with a 4.6:1 green. | Known; the palette pass is carded. High contrast satisfies it today. |
| Text scaling | Our sizes are set in pixels, so browser “increase font size” does not reflow. The dock’s text size uses zoom, which scales the layout rather than reflowing it. | Partial. Reflow at 400% (1.4.10) is not verified. |
| Drag and drop on the board | Pointer dragging alone is not operable by keyboard; the select-and-Move control is the equivalent route. | Alternative in place; the drag itself is decorative. |
| Marketing assets | Images and PDFs produced outside the app may not be tagged or described. | Reviewed per asset. |
| Screen reader coverage | Checked structurally and by keyboard, not exhaustively with NVDA, JAWS and VoiceOver on every page. We do not claim otherwise. | Ongoing. |
How to tell us
Email [email protected] with the page and what happened. We will answer within five working days, and we will tell you honestly whether it is a fix we can make quickly or one that needs design work. If it is the latter, it goes on the board — visibly, with the same cards everything else uses.
How this page is checked
The keyboard path, focus visibility, contrast of the high-contrast theme, and the invitation and sign-in forms are exercised in a real browser as part of the release checks. Nothing on this page is a claim we have not run.