# Accessibility statement

> Otto's accessibility statement: we are working to WCAG 2.2 AA and do not claim to have reached it. The known gaps, each with the success criterion it implicates.

- Source: https://ottoforfirms.com/accessibility/
- Publisher: Otto — https://ottoforfirms.com
- Updated: 2026-07-26

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](#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:

| Where | Size | Contrast | AA (needs 4.5:1) |
|---|---|---|---|
| Eyebrow labels and breadcrumbs | 11px | 3.35:1, and 3.10:1 inside a grey panel | fails |
| Table column headers | 11px | 3.35:1 | fails |
| The legal disclaimer at the foot of the page | 13px | 3.98:1 | fails |
| Footer links | 14px | 3.98:1 | fails |
| "In review" cells | 16px | 4.76:1 | passes |
| Table captions | 14px | 4.76:1 | passes |

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:

- **Focus not obscured** (2.4.11, AA) — new in WCAG 2.2. Our sticky header and the
  slide-over panel are the likely risks.
- **Target size** (2.5.8, AA) — new in 2.2. Our icon buttons are the likely risks
  at the density we use.
- **Consistent help** (3.2.6, A) and **redundant entry** (3.3.7, A) — new in 2.2.
- **Accessible authentication** (3.3.8, AA) — new in 2.2. Signing in goes through
  Microsoft, so this turns on what that flow asks of you.
- **Reflow** (1.4.10), **text spacing** (1.4.12) and **orientation** (1.3.4) — no
  audit has been run at small window sizes, with custom text spacing, or in
  landscape on a phone.
- The plain-text version of each reference page, as read by assistive technology.
- Any PDF we serve.
- Whether the charts are legible to colour-blind readers.

## What does work

Checked, not assumed:

- **There is no accessibility overlay on this site, and there never will be.** We
  checked for the common ones and found none, and our build now fails
  automatically if anybody adds one. Overlays paint a layer of accessibility
  information over a page as it loads without fixing what is underneath; they are
  widely reported to break screen-reader behaviour that worked before, and they
  account for a large share of US web-accessibility complaints. Everything here
  gets fixed in the code or not at all.
- The "reduce motion" setting in your operating system is honoured across our
  animation work, in 33 places. Video is the exception, and it is listed above.
- The reference pages are semantic HTML: one main heading per page, no skipped
  heading levels, proper page landmarks, captions and column scopes on the data
  tables, and a visible focus style. The heading structure is verified on every
  build.
- Both sites declare their language, so a screen reader knows to read them in
  English.
- The reference pages need no JavaScript.
- Every reference page has a plain-text twin at the same address with `.md` on the
  end — often the easiest way to read this content with any tool at all.

## 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.

- We reply within **five business days**.
- **If something here is blocking you, we will get you the information another
  way** — by email, by phone, or as a plain text file — while the defect is open.
  You should not have to wait for a fix to get an answer.
- What you report goes into the same list as the findings above, and appears in
  this document once we have confirmed it.

## 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.
