# Built to WCAG 2.1 AA, checked in the open

> Our WCAG 2.1 AA conformance statement. It shows what we cover, how an automated script checks it, and how to report a barrier.

Source: https://customhosted.com/accessibility/

№ 01 Accessibility

A legibility pass at the design-token level, backed by a script in the repo rather than a claim on a page — the same operational habit the rest of this site runs on.

№ 02 Conformance

## Conformance statement

The standard we hold this site to, and how that's checked.

- **Standard**: WCAG 2.1
- **Level**: AA
- **Method**: Self-assessed

№ 03 Method

## How it's measured

Not a one-time review — a script that runs against the built site.

`check:a11y` crawls every route in the sitemap with axe-core, at a desktop and a mobile width, and exits with an error if any check against the WCAG 2.1 A/AA rule sets comes back with a violation. We run it against the built site before a change ships. The script lives in the repo alongside the site it checks — the same repo that built this page.

It also re-checks contrast with every hover style switched on, and checks the heading outline of each page. Automated rules still can't see everything: animations that never settle, and the pressed state of a control, are checked by hand rather than by the script.

The site ships two themes — day and night — resolved from your system preference (with a header toggle to override it). `check:a11y` crawls every route in both, including the forced-hover pass, so a colour pairing that only exists in the dark palette gets the same scrutiny as the light one.

№ 04 Coverage

## What's covered

The specific things the guard script and a manual keyboard pass check for.

- Colour contrast — Every route is checked for text that clears 4.5:1 against its surface — including the primary call-to-action, in both its resting and hover states.
- Visible focus — Every interactive element — links, buttons, form fields, the rate-card scroller — shows a visible focus ring, not just a colour shift.
- Skip link — The first tab stop on every page jumps straight past the header to the main content.
- Keyboard reach — Anything that scrolls, like the rate card, is reachable and operable from the keyboard, not just a pointer.
- Heading structure — One top-level heading per page, and heading levels never skip — a screen reader can jump the outline reliably.
- Reduced motion — The scroll-reveal animation and other transitions are dropped entirely when the OS asks for reduced motion.
- Day and night themes — Respects your system preference by default, with a sticky header override — both themes are checked by the same contrast guard.

№ 05 Known limits

## What this isn't

Stated plainly, so the conformance claim above isn't overreaching.

- This is a self-assessment against WCAG 2.1 AA, run by the team that built the site — not an independent third-party audit.
- There is no formal VPAT (Voluntary Product Accessibility Template) yet.
- Automated tooling catches a wide slice of issues but not everything a manual audit or real assistive-technology use would surface.

№ 06 Report a barrier

## Found something we missed?

Automated tooling doesn't catch everything — tell us what you ran into.

[Tell us through the quote form — There's no separate mailbox for this — the same form that starts a hosting conversation reaches the team directly. Describe the page and what happened, and we'll follow up. Report a barrier →](https://customhosted.com/contact)

This page exists because of the loop CustomHosted sells: CustomLabs designed the fix, CodeHerder's agents opened the pull request, the guard script gated it, and the merge deployed it — the same path any future accessibility fix takes, not a one-off audit that goes stale.

№ 07 Keep exploring

## See it in context

- [Images The alt-text half of this conformance statement — the words a screen reader speaks in place of a picture.](https://customhosted.com/images)
- [Built in the open The real pull-request ledger this page and its guard script shipped through.](https://customhosted.com/built-in-the-open)
- [Security The security questionnaire: who can reach production, how fast we patch, and what we cannot promise.](https://customhosted.com/security)
- [Status Live status of the grid this site and the rest of your stack run on.](https://customhosted.com/status)
- [Support How to reach a human, including to report an accessibility barrier.](https://customhosted.com/support)

## Ready to start?

Tell us what you're running — one fixed monthly rate, within a business day.

[Get a quote →](https://customhosted.com/contact)
