Otto

Accessibility statement

Last updated 26 July 2026.

The claim, plainly

We are working towards WCAG 2.2 Level AA. We have not reached it, and nothing in this statement claims that we have.

Below is a list of what we know is wrong, what we have not looked at yet, and what we have checked and found working. It is longer and less flattering than most statements of this kind, and that is deliberate. A procurement or diligence team can do something useful with an honest list — decide whether the gaps affect their people, ask when they close, hold us to the answer. Nobody can do anything useful with a claim of full conformance except find out later that it was wrong.

If something here is stopping you from getting what you came for, skip to Reaching us. We will get you the information another way while the defect is open.

Two different sites, assessed separately

What we publish comes in two forms, and they fail in different ways, so they are listed apart.

The reference layer — the statute-of-limitations tables and the other research pages — is plain HTML. It needs no JavaScript, so it cannot break because a script did.

The product site and the application are built as a single-page app that draws itself in the browser. Almost every problem below is on this side.

How we assessed it

By reading our own code and by testing what the live site actually sends back.

No screen-reader pass has been run. Nobody has sat down with NVDA or VoiceOver and worked through these pages. That pass is scheduled, and when it happens its findings will be added here rather than quietly fixed.

Our build does check a few things automatically on every release — that headings run in order, that colour contrast in the design system clears its threshold, that no accessibility overlay has been added. Those checks passing is not conformance and we will not present it as such. Automated tooling catches something like 30–40% of accessibility problems at best, and what it misses is disproportionately what actually stops somebody: a button with no name, focus that lands nowhere, a dialog a screen reader never enters. Treat the list below as a floor rather than an inventory.

What we know is wrong

On the reference pages

1. The skip link does not work. *WCAG 2.4.1 Bypass Blocks (A), 2.4.7 Focus Visible (AA)*

Every page opens with a "Skip to content" link, positioned off-screen until it receives focus. The security policy we serve blocks the script that was meant to reveal it, so the link takes focus and stays invisible. If you navigate by keyboard, your first press of Tab goes somewhere you cannot see, and the bypass you were offered does not work. Confirmed against the live site. The fix is a styling change, which our security policy already allows.

2. Some small text does not have enough contrast. *WCAG 1.4.3 Contrast (Minimum) (AA)*

Our greys are black at a reduced opacity. Four of them are too light at the sizes we use them, measured against the stylesheet we actually ship:

WhereSizeContrastAA (needs 4.5:1)
Eyebrow labels and breadcrumbs11px3.35:1, and 3.10:1 inside a grey panelfails
Table column headers11px3.35:1fails
The legal disclaimer at the foot of the page13px3.98:1fails
Footer links14px3.98:1fails
"In review" cells16px4.76:1passes
Table captions14px4.76:1passes

None of this counts as large text, so the 4.5:1 threshold applies to all of it. The disclaimer is the worst of the four, because it is the text most likely to matter to somebody and the hardest to read. Darkening these four values fixes it without changing how the pages look.

On the product site and the application

3. Buttons with an icon and no name. *WCAG 1.1.1 (A), 4.1.2 (A), 2.4.4 (A)*

Around nine controls are an icon on its own with no text and no name attached for assistive technology. A screen reader announces "button" and nothing more, so there is no way to know what it does. This came out of an internal audit and has not yet been re-counted control by control.

4. Two switches do not say whether they are on or off. *WCAG 4.1.2 Name, Role, Value (A)*

They are ordinary buttons underneath, with nothing marking them as switches and nothing exposing their state. On and off are conveyed by colour and position alone, so a screen-reader user cannot tell which way a switch is set, or that it is a switch at all.

5. The demo panel is not built as a dialog. *WCAG 4.1.2 (A), 2.4.3 Focus Order (A)*

When it opens, it does not announce itself as a dialog, does not keep keyboard focus inside itself, does not stop the page behind it scrolling, and does not return focus to the button you opened it with. Open it by keyboard and your focus stays in the page underneath; a screen reader reads straight past the panel into content it is covering.

6. Background video plays automatically with no way to stop it. *WCAG 2.2.2 Pause, Stop, Hide (A)*

Four videos start on their own and loop indefinitely, with no pause control. They are silent and purely decorative, which does not exempt them — this criterion applies to anything that moves by itself for more than five seconds. They also keep playing when the operating system is set to reduce motion. We honour that setting in 33 other places; video is the exception, because the styling layer cannot pause a video and it needs a code change instead.

7. Focus outlines removed without a replacement, in an unknown number of places. *WCAG 2.4.7 Focus Visible (AA)*

The default focus outline is switched off in 17 places and a replacement style is defined in 5. Some of the 17 sit inside a container that draws its own outline, so this is not 17 separate defects — but it is not zero either, and it has not been audited control by control. The reference pages, by contrast, style focus globally and correctly.

8. Form fields lose their label as soon as you type. *WCAG 3.3.2 Labels or Instructions (A)*

The email and phone sign-up fields are named correctly for assistive technology — these are the good examples in our codebase. But the only label you can see is the placeholder text inside the field, and that disappears the moment you start typing. If you are interrupted part-way through, the field is left unlabelled on screen.

9. Our base text size is smaller than your browser's default. *related to WCAG 1.4.4 Resize Text (AA)*

We set a 13px base where browsers use 16px, and everything scales from that. If you have deliberately raised your browser's default text size, we override it. Browser zoom still works, so we do not record this as a formal failure of 1.4.4 — but our smallest text lands under 10px, and someone who set a 20px default gets 13px. We are naming it because it is a real barrier whichever criterion it belongs under.

What we have not looked at

Listed one by one so the gap is visible rather than implied. None of this has been tested, and any of it could be failing:

What does work

Checked, not assumed:

What we are fixing, and in what order

The skip link and the four contrast values first, because both are small and contained. Then the unnamed icon buttons, the switch states and the dialog behaviour in the app. Then a pause control for the video. Then whatever the manual NVDA and VoiceOver pass turns up.

These are intentions, not dated commitments. This statement will be updated with what actually happened rather than with what was planned.

Reaching us

Email accessibility@ the domain of the site you are reading, or use the contact form. Tell us the page, what you were trying to do, and — if you know it — your browser and assistive technology.

Standing

This statement is self-assessed. No third party has audited it, and we have not published a VPAT or Accessibility Conformance Report. If you need a formal report for a procurement or diligence process, ask — we would rather commission a real one than issue a self-certified document that says what the form wants to hear.

Nothing here is a warranty, and nothing here promises a compliance outcome under the ADA, Section 508, EN 301 549 or any other regime. It is a description of what we have checked, what we found, and what we have not looked at yet.

This is a statement of our own practice, published so it can be checked against what we actually do. It is not legal advice and asserts nothing about anyone else's obligations. Where it is wrong or out of date, it is a defect in this document — tell us and it gets corrected here rather than quietly fixed.