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.