Accessibility statement

This page states what was measured, not what we hope. Where a thing was not measured, it says so. Nothing here is a certification, and accessibility is a property of your finished site rather than of a theme: the content you write, the images you upload and the plugins you add all decide the outcome.

What is checked, and how

Every release is put through the same gates before it is packaged, on a clean WordPress with the demo imported. A release that fails one is not shipped.

Check Where it runs
axe, WCAG 2.2 level A and AA Every template and every page of the demo, in both light and dark.
Contrast, computed from the encoded token values Every colour pair the theme sets, in every one of the four style variations, in both modes: 324 pairs across nine schemes in this release, none failing.
Keyboard Every interactive element on every page: reachable, operable, with a visible focus ring.
HTML validation Every page of the demo.
The design's own numbers Every route at six widths in both schemes: type sizes, measures, overflow, overlap.
Reduced motion Every reveal already in place, nothing drifting or zooming, every transition at its destination.

What the build commits to

Motion

Photographs rise into place as they enter the viewport, the full-bleed ones drift a few per cent against the scroll, and a photograph zooms slowly inside its own frame under the pointer. The open dot pulses a soft ring every 2.8 seconds. That is all of it: there is no slider, no carousel, no video, no page-transition loader, and the mobile panel has no entrance.

What that means for a reader:

See Motion and reduced motion for how it is built.

The words over a photograph

The heroes and the title banners set their words on the dark side of a photograph, with an ink ground laid under them: a soft plate behind the words, never a flat wash over the whole picture. On a phone the words leave the picture and stand on the page's own ground under it.

This is the one thing that does not survive you replacing the image. WordPress has no check for it. After you set a new hero or banner photograph, or move its focal point, look at the page at 390 and at 1440, in light and in dark, before you publish. It is said again on the four editing tasks.

A documented deviation from the design source

Table and Type follows a design drawn on a canvas, and two values were changed on the way to meet a contrast requirement. They are named here because somebody who compares the two will see them.

The filled button runs a shade deeper. A button's label is 14px at weight 600: normal-size text, which owes 4.5:1 (WCAG 2.2 SC 1.4.3). White on the design's brighter clay measures 3.96:1. The theme fills its buttons with #c2451f in light and #c94a21 in dark, where the white label passes, and keeps the brighter clays for the roles that owe 3:1: the focus ring, a link's hover, the selection's border.

A field's outline is a token of its own. --field-border, the outline of a form field, is a control boundary, and SC 1.4.11 Non-text Contrast requires 3:1 against the colour beside it. A hairline that is fine between two rows of a card is not enough around an input, so the outline is separate from the ordinary border and is measured in every variation and both modes:

Pair, as shipped (Base) Ratio
#7a6f62 on the field #f2ece3 (light) 4.18 : 1
#7a6f62 on the card (light) 4.63 : 1
#79706a on the field #17130f (dark) 3.82 : 1
#79706a on the card (dark) 3.69 : 1

The lowest reading for a field outline anywhere in the shipped theme, across all four variations and both modes, is 3.38 : 1 (dark, against the muted ground). So your form outlines are darker than a hairline, on purpose.

What is not claimed

If you find a barrier, tell us — see Support. A reported barrier is a bug.