Accessibility
What was tested, what was not, and how to tell us when something is wrong.
Conformance target
WCAG 2.2 level AA, plus the UK Public Sector Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018. The UK regulations are taken on deliberately: UK universities are public sector bodies, and a tool one of them procures can be pulled into scope. A statement written after that discovery is written under someone else's deadline.
What was actually tested
Claiming conformance for something nobody checked is worse than claiming nothing, so this list is narrow on purpose.
| Checked | How | Result |
|---|---|---|
| Colour contrast, every declared token pair | Computed from the stylesheet on every test run | Pass |
| No banned visual property in any stylesheet | Automated, in the test suite | Pass |
| Landmarks and a skip link on every page | Rendered through Flask, in the test suite | Pass |
| Skip link is first in the DOM and visible on focus | By hand, 12 September 2026 | Pass |
| Colour is never the sole carrier of meaning | Every tier and state renders a word beside its colour | Pass |
| Reduced motion honoured | The one page-load animation is never declared for a reader who asked for less motion | Pass |
| Keyboard traversal and focus visibility | By hand, 12 September 2026 | Pass |
| Layout at 400px | By hand. Multi-column blocks stack at 860px | Pass |
| Every internal link resolves | Every template href checked against the route map | Pass |
The measured contrast table is deliberately not reproduced here. The test parses the real stylesheet and is the living version; a copy in prose would be a second home for the numbers and would drift. That has already happened on this project, in the same role, one design system apart.
Known limitations
These are real and are not claimed as conformant.
No screen reader testing has been performed. Landmarks, labels and a skip link are present and were checked structurally, but nobody has run these pages through NVDA, JAWS or VoiceOver. Structural presence is not the same as a usable announcement order.
UntestedThe divider token sits below 3:1 against the surface it separates. Deliberate: a rule between two blocks of text carries no information the text does not already carry, so it is outside SC 1.4.11. If a divider is ever made load-bearing, used alone to group or to indicate state, the exemption is void and the token must be raised.
DeliberateNo automated axe or Lighthouse run is in the test suite. The checks above are hand-written and targeted, and are not a substitute for a full automated audit.
UntestedThe homepage claim scales fluidly with the viewport. It was checked at 400px and at 1440px; widths in between were not checked individually.
PartialThis statement covers the hub only. Each agent runs its own code on its own subdomain and publishes its own statement, so a reader should not assume this result applies to any agent.
Hub onlyReporting a problem
If something here is wrong, or an assistive technology cannot reach part of this site, please report it. Include the page, what you were using, and what happened. We aim to respond within five working days.
If you are not satisfied with the response, the UK enforcement route for public sector bodies is the Equality Advisory and Support Service (EASS).