<!--
Template version 1.0, 2026-10-07, from https://auricartisan.com/templates/accessibility-issue/
Licence: CC0 1.0 (https://creativecommons.org/publicdomain/zero/1.0/). Copy it, change it and use it for anything; no credit needed.
Text between these comment marks does not show in the pull request.
-->

## What this changes

<!-- What the pull request does, and the issue it closes, such as Closes #123. -->

## How to test

<!-- The pages or screens to open, and what to do there. -->

## Accessibility checklist

<!--
For the reviewer: tick each check you made on the pages or components this changes. If a check cannot apply, such as Images when nothing visual changed, write n/a and why after it. The numbers are WCAG 2.2 success criteria.
-->

- [ ] **Keyboard.** Everything that works with a mouse or touch also works with the keyboard alone, in an order that makes sense, and focus never gets stuck.
      WCAG: 2.1.1 Keyboard; 2.1.2 No Keyboard Trap; 2.4.3 Focus Order
- [ ] **Visible focus.** You can always see which element has focus, and no sticky header, footer or banner covers it completely.
      WCAG: 2.4.7 Focus Visible; 2.4.11 Focus Not Obscured (Minimum)
- [ ] **Names and labels.** Every button, link and form field has a name that says what it is for and includes its visible text, and every form field has a visible label or instructions.
      WCAG: 4.1.2 Name, Role, Value; 2.5.3 Label in Name; 3.3.2 Labels or Instructions
- [ ] **Headings and landmarks.** Text that looks like a heading is coded as one, headings describe their sections, and the header, navigation, main content and footer are landmarks.
      WCAG: 1.3.1 Info and Relationships; 2.4.6 Headings and Labels; 2.4.1 Bypass Blocks
- [ ] **Contrast.** Text is at least 4.5:1 against its background, or 3:1 if large; control borders, focus indicators and icons are at least 3:1; and color is not the only way anything is shown.
      WCAG: 1.4.3 Contrast (Minimum); 1.4.11 Non-text Contrast; 1.4.1 Use of Color
- [ ] **Zoom and reflow.** At 200% zoom nothing is cut off or overlaps, and at 320 CSS pixels wide (a 1280 pixel window at 400% zoom) nothing needs sideways scrolling, except parts such as data tables and maps.
      WCAG: 1.4.4 Resize Text; 1.4.10 Reflow
- [ ] **Images and alt text.** Each image that carries information has a text alternative that gives the same information, and decorative images have empty alt text (alt="").
      WCAG: 1.1.1 Non-text Content
- [ ] **Motion.** Anything that moves on its own for more than 5 seconds can be paused, nothing flashes more than three times a second, and animation started by an interaction stops when the system is set to reduce motion.
      WCAG: 2.2.2 Pause, Stop, Hide; 2.3.1 Three Flashes or Below Threshold; 2.3.3 Animation from Interactions (Level AAA)
- [ ] **Form errors.** Each error names its field and is described in text, says how to fix it where the site can tell, and is announced by screen readers even when focus does not move to it.
      WCAG: 3.3.1 Error Identification; 3.3.3 Error Suggestion; 4.1.3 Status Messages
- [ ] **Automated check.** An automated accessibility checker was run on the changed pages and reports no new failures, and a person confirmed each result it raised.
      WCAG: no single criterion. A checker finds some failures, not all, so it does not replace the checks above.
- [ ] **Screen reader smoke test.** The changed part was used with one screen reader, such as NVDA with Firefox or VoiceOver with Safari: everything is read out in a sensible order, with a name, role and state that make sense.
      WCAG: 4.1.2 Name, Role, Value; 1.3.2 Meaningful Sequence

## Notes for the reviewer

<!-- Anything not checked, and why. Known accessibility problems this pull request does not fix, with their issue numbers. -->
