Accessibility statement
This website is built to meet Web Content Accessibility Guidelines 2.2 at Level AA. Accessibility is enforced by automated and manual testing in our build rather than reviewed at the end, and this page sets out what we have done, how we test it, what we know is imperfect, and how to tell us when something does not work for you.
Our commitment
We build to WCAG 2.2 Level AA. That standard is a gate in our build pipeline: a template that fails an automated check does not ship, rather than shipping with a note to fix it later. We treat it as a floor rather than a target, we would rather hear about a problem than assume there are none, and where we know we fall short of it we say so in known limitations below.
What we have done
Six things shape accessibility on this site, and each of them is a decision made during the build rather than a fix applied afterwards. Retrofitted accessibility is more expensive and less complete than accessibility designed in, which is why these are constraints on the design system rather than items on a checklist.
- Semantic HTML, with real landmarks
- One header, one main and one footer per page, headings in order with no skipped levels, and a skip link as the first focusable element on every page.
- Full keyboard operability
- Every interactive element is reachable and operable by keyboard. The main navigation opens on focus using CSS alone, so it works with scripting disabled.
- Contrast measured, not estimated
- Every text and interface colour pair is verified by computation in the build. Two colours in our own design system failed on first measurement and were darkened until they passed.
- Focus is always visible
- The focus indicator is defined globally and cannot be removed by an individual component. Interactive targets are at least 44 by 44 CSS pixels.
- Motion respects your settings
- There are no carousels and nothing plays by itself. Two effects follow scrolling — a section fade, and the contents rail marking your place — and reduced motion is honoured globally rather than per component.
- Content does not depend on JavaScript
- Answers inside collapsed sections are present in the page source whether open or closed, so they are available to screen readers and to anyone whose scripts did not load.
How we test
Testing is automated where automation is reliable and manual where it is not. Automated tools catch a meaningful share of problems and miss the rest, so the two are used together rather than one substituting for the other.
- axe-core runs in continuous integration against a representative page for every template, and any violation fails the build. The threshold is zero, not “few”.
- Every template is tested by keyboard manually, including the full path from skip link through navigation to the form.
- Pages are tested at 320 pixels wide for horizontal scroll and at 200% zoom for content loss.
- Key journeys are tested with JavaScript disabled entirely.
- Lighthouse Accessibility is required to score 100 before a template is considered finished.
Known limitations
Four things we know are imperfect. Listing them is the point of this section: a statement claiming complete conformance with no caveats usually means nobody looked hard, because real sites have edges and dependencies they do not control.
- The map on the contact page
- Our contact page embeds a Google Maps iframe that loads with the page. Its controls and its contrast are Google’s rather than ours, and we cannot fix them. It is the only third party any page on this site contacts. The full address sits above it as text, so nothing on that page depends on being able to use the map.
- A moving strip on the locations pages has no pause control
- The hero on our locations pages scrolls a column of city names continuously, and there is no button to stop it. That fails WCAG success criterion 2.2.2. A pause control needing no JavaScript was built and then removed at our client’s request in August 2026. If your system asks for reduced motion the strip does not move at all, but that is not the same as a control, and we would rather name this than leave it out.
- Outbound links to third-party sites
- We link to platform documentation, partner directories and research sources. We cannot guarantee the accessibility of any site we do not build.
- Automated testing has limits
- axe-core reliably catches roughly a third to a half of accessibility problems. We supplement it with manual keyboard testing, but we have not commissioned an independent audit or user testing with assistive technology, and we would rather say so than imply we have.
Tell us when something does not work
If any part of this site is difficult or impossible for you to use, email hello@w3nuts.co.uk with the page address and what happened. We reply within one business day, and we will tell you what we can fix and roughly when. If we cannot fix something, we will say so and offer another way to get the information you needed.
Last reviewed