Foundation

Accessibility

The floor every component meets, checked before every commit on the site.

01

The floor

Structure
Semantic HTML first. One h1 a page. Headings in order. Landmarks: main, nav with labels, footer.
Keyboard
Skip link first. Everything reachable and visible on focus: 2px ring, 4px offset.
Targets
44px minimum.
Contrast
4.5:1 text, 3:1 large text and meaningful graphics. Ratios on the Colour page.
Images
Alt text that says what the image shows; width and height on every image.
Motion
Off under reduced motion. Nothing depends on an animation.
Without JavaScript
Every page reads and works. Scripts only add motion and filtering.
Modes
Light, dark, higher contrast, and forced colours, all covered in the stylesheet.
02

Checks

The website runs scripts/check-site.sh before every commit and on GitHub: one h1, alt text and dimensions, no inline or third-party script, valid JSON-LD, released assets. This repo runs scripts/check.sh: drift from the site, a clean build, internal links, and the contrast of every text colour pair.