# Accessibility

> What this site is tested against, what passes, and what has not been tested yet.

URL: https://onetotem.com/accessibility/
Lang: en

## The claim, stated precisely

**Target:** WCAG 2.2 Level AA.

**Status:** partially conformant, self-assessed. Everything a machine can check
is checked automatically and passes on all 113 pages. The parts that require a
person (a keyboard walkthrough, a screen reader, and testing with disabled
people) have not been done yet. Until they have, "accessible" is a claim we
have not earned, and the honest word is the one above.

We publish this now rather than after the audit because a statement that appears
the day everything passes is a marketing page. This one is a record.

## What is verified, on every build

These run as `check:a11y`, `check:contrast`, `check:motion` and
`check:responsive`. A failure in any of them fails the build, which means a page
that breaks one of these rules cannot be deployed.

- **axe-core on every page**, against the `wcag2a`, `wcag2aa`, `wcag21a`,
  `wcag21aa`, `wcag22aa` and `best-practice` rule sets. Zero violations.
- **Structure axe does not check:** exactly one `h1` per page, exactly one
  `main` landmark, a skip link on every page, and a `lang` attribute that
  matches the language the page is actually written in.
- **Contrast, at the token layer rather than per page.** Every text colour is
  checked against every background it is allowed to sit on. The 42 totem accents
  were each walked darker until they cleared 4.5:1 against their own page tint.
  The palette was adjusted to the requirement, not the other way round.
- **Reduced motion**, honoured where the durations are defined rather than
  component by component. A component cannot forget to respect it, because no
  component owns the value.
- **Target size.** Every control in the route bar is one height, set above the
  24px floor of WCAG 2.2 SC 2.5.8. The pager arrows used to be 20px.
- **320px and 400% zoom.** No horizontal scrolling, no content lost, at four
  viewport widths.
- **No console errors.** An error thrown on load is treated as a failure, not as
  noise, because assistive technology is downstream of a page that ran.

## What works without JavaScript

The site is built so that scripting adds convenience and never carries meaning.
With JavaScript off or broken:

- Every navigation link, the ← → route through the site, and the language
  switcher are ordinary links resolved at build time.
- The search trigger falls through to the totems index, a real page, not a dead
  control. Search itself needs scripting; nothing else does.
- All content is present in the HTML. Nothing is fetched, revealed or assembled
  after load.

## Machine-readable, on purpose

Every page is also published as clean Markdown: append `index.md` to any URL.
This is aimed at models and agents, but it is the same door: a page you can
read as text is a page that does not depend on our markup being interpreted
correctly.

## What has not been tested

Written down because leaving it out would be the misleading part.

- **No screen reader pass.** Not NVDA, not JAWS, not VoiceOver. Automated tools
  find missing labels; they do not tell you whether the page makes sense read
  aloud in order.
- **No manual keyboard walkthrough.** Focus order and focus visibility are
  checked by axe in the shallow sense and by nobody in the real one.
- **No testing with disabled users.** This is the gap that matters most, and no
  amount of automation closes it.
- **The search dialog is the least tested part of the site.** It is the only
  component whose results appear after load, which makes it the one place where
  a screen reader is likely to be told nothing changed when something did.

## If something here does not work for you

Write to [hello@onetotem.com](mailto:hello@onetotem.com) and say what page and
what happened. You do not need to know the WCAG number, and you will not be
asked to prove it. We will tell you what we are going to do about it and when.

If we cannot fix something quickly, we will say so rather than let the email go
quiet.

## About this statement

Prepared 25 August 2026 by Red Forest S.L., self-assessed by the site's own
build. Assessed against WCAG 2.2 Level AA. It will be updated when the manual
testing above is done, including if the result is worse than this page implies.
