Accessibility Statement
What this site targets, what hasn't been independently tested yet, and how to report a problem.
Last reviewed: 2026-09-05
Conformance target
This site is built to meet WCAG 2.2, Level AA. That's a target, not a certification: the site has been built and reviewed against those criteria — semantic heading structure, colour contrast, keyboard operability, visible focus indicators, alt text, labelled form fields, reduced-motion support — but it has not been through an independent, professional accessibility audit, and no manual screen-reader pass has been run against the live site. Treat this as a considered, self-assessed statement of intent rather than a guarantee of full conformance.
What's already in place
- A "Skip to main content" link as the first focusable element on every page
- One logical heading per page, in order, with native landmark elements (header, nav, main, footer)
- Descriptive alt text on every meaningful image, and no decorative images that would need
alt="" - Every form field has a visible, associated label — not a placeholder standing in for one
- Both contact forms validate properly and report errors in text before submitting
prefers-reduced-motionis respected sitewide — no animation plays for visitors who have that preference set- The ink-on-paper colour palette used throughout comfortably clears WCAG's 4.5:1 contrast minimum for body text
lang="en-GB"is set on every page- Navigation works on a phone. Until August 2026 it did not: below 580px the menu was hidden and nothing replaced it, and a footer that could not wrap pushed most of its links off-screen. Both are fixed, and a check now runs on every change to stop either recurring
- Every page reflows to a 320px viewport with no sideways scrolling
- Menus open on click rather than hover, so they work by touch, and report their open or closed state to assistive technology
- Section headings on the service and briefing pages are real headings. They used to be
styled
divelements, which meant a screen reader user navigating by heading skipped the whole argument - Every in-page link lands clear of the fixed navigation bar rather than underneath it
- An automated axe-core scan runs against every page at 375px and 1280px on every change, and the change is blocked if it introduces a WCAG 2.2 A or AA violation, any horizontal overflow, or a control smaller than 24 by 24 pixels
Known limitations
Being specific about what hasn't been checked matters more than a general assurance that everything is fine. As of this review:
- No independent screen-reader testing (NVDA, VoiceOver, or similar) has been carried out. The automated scan below catches what a machine can catch, which is not the same thing
- The automated scan is axe-core only. It reports no violations, but automated testing reaches roughly a third of WCAG criteria — a clean scan is a floor, not a pass
- Formal validation against the W3C Nu HTML Checker and CSS Validator has not yet been completed for every page
- Two embedded third-party services — the Substack subscription form and the Microsoft Bookings page — are outside this site's direct control, and their own accessibility is governed by their respective providers, not by this statement. The contact form is no longer one of them: it's handled entirely by this site's own infrastructure now, so it's covered by the WCAG target above like any other page element
Reporting a problem
If you hit a genuine barrier using this site with a keyboard, a screen reader, or any other assistive technology, that's useful to know about directly rather than through a form. Email nc@neilcatton.com with what happened and, if you can, what page you were on — it will be looked at and, where reasonable, fixed.
Review cadence
This statement is reviewed whenever the site's templates change materially, and at least once a year regardless. The date at the top of this page shows when it was last revised.