Legal
Accessibility
Last updated August 12, 2026
This page is a status report, not a badge. It says what has actually been tested, what the result was, and what has not been looked at yet — because the useful thing to tell someone who is struggling with a site is the truth about it.
Where this site stands
The target is WCAG 2.2 Level AA.
Every page is scanned automatically against Level A and Level AA of WCAG 2.0, 2.1 and 2.2, at phone, tablet and desktop widths — eleven routes across three viewports, thirty-three runs in total. That scan currently reports no violations. It lives with the site's code and is re-run before this page changes, so what you are reading was measured rather than assumed. It is run deliberately rather than by a robot watching every edit, so treat the date at the top as the date it was last true.
That is a real result and a partial one. Automated tools catch a minority of the barriers people actually hit — the machine-checkable ones. Nobody who uses a screen reader daily has audited this site. So the honest summary is: it clears the automated bar for AA, several things the scanner cannot see have been checked by hand and are described below, and it has not been independently audited. We are not claiming certified conformance, because we have not earned that claim.
What has been checked by hand
The automated scan is the floor. These were checked in a browser, because no scanner can see them:
Keyboard operation, one Tab press at a time, on every page — every link, button and form field is reachable and does something when you activate it. This one matters: the home page used to announce four navigation buttons that could not be clicked, could not be tabbed to, and would have been invisible if reached. They were in the accessibility tree the whole time and the scanner scored the page perfect.
The focus indicator, measured on every stop of every page rather than sampled. There is one indicator on the whole site now, and it appears instantly rather than fading in.
The mobile menu, which now traps focus while it is open, closes on Escape, and returns focus to the button that opened it. It previously did none of those three.
Every page loaded in a browser with JavaScript switched off, including submitting the contact form.
Reduced motion, with the preference actually turned on, rather than reading the code and assuming.
Contrast
The site is a single dark theme. Against the page background: body text 17.4:1, the gold accent used for links, buttons and the focus ring 9.5:1, and the dimmer supporting text 6.6:1. The standard asks for 4.5:1 for body text and 3:1 for large text and interface parts.
Those are computed from the colour definitions. The hero also lays text over a soft gradient, so the same measurements were taken again from the pixels actually painted on screen, which is the number that matters to a reader: body text 17.3:1, accent 9.4:1, dimmed text 6.2:1. The gradient costs about half a point at worst.
It is worth explaining one thing the scanner reports, because it looks like a gap. Seventeen of its contrast checks come back undecided rather than passed. That is not a failure — it is the scanner declining to guess. It cannot resolve a single background colour behind blurred, layered surfaces, so it stops rather than report a number it cannot stand behind. Those are the elements measured from the painted pixels above.
Keyboard and focus
Every interactive element is reachable and operable with a keyboard alone.
A skip link is the first thing you reach on any page: press Tab once and you can jump straight past the navigation to the main content.
Focus is shown with a two-pixel gold outline held three pixels clear of the element, measured at 9.5:1 against the page — deliberately obvious rather than a faint hint. It is the same indicator everywhere, it follows the shape of whatever it is marking, and it appears the instant focus lands rather than fading in.
Every interactive target is at least 24 by 24 pixels, which is what WCAG 2.2 asks for. The primary buttons are 44 by 44 or larger. An earlier version of this page claimed 44 pixels for everything, which was not true of the footer links — they were sixteen pixels tall.
Motion
If your device asks for reduced motion, this site listens. Smooth scrolling is switched off and the browser's own scrolling takes over. The scrolling marquee stops. Rotating words hold still. The 3D object in the header is not loaded at all. The home page's opening headline lands in its final position immediately instead of sliding in.
That last one used to be an exception, stated on this page as a deliberate trade: the entrance was considered the strongest thing on the site and was exempted from the preference. Measured with reduced motion turned on, the headline was still animating three and a half seconds after load. The exemption is gone. If you ask for less motion you now get less motion, and the page still lands correctly rather than being left half-way through a movement.
If motion anywhere on this site causes you difficulty rather than mild annoyance, please say so — that is a bug and it will be treated as one.
Without JavaScript
Every page works with JavaScript switched off. The text, the navigation and the contact details are in the page as delivered, not assembled afterwards, and every heading paints at full size and full opacity.
The contact form works too. It validates, it tells you what is wrong in the same words it would use otherwise, it gives you back everything you had typed rather than emptying the fields, and it sends. This is checked by a test that runs the whole form twice, once with scripting and once without, and requires both to behave the same.
This section previously said the site was readable without JavaScript with one known gap. That was false. The contact page — the one page here that exists to be used rather than read — delivered its navigation and its footer and then a placeholder where the heading and the form should have been. The page was in the response the server sent; it was held inside a container that only a script could open. It is fixed, and it is now the thing this site is tested hardest on.
What has not been checked
Testing with actual assistive technology — NVDA, JAWS, VoiceOver — by someone who uses it daily. This is the significant gap, and it is the one that automated scanning and careful keyboard testing cannot stand in for.
Behaviour at 400% zoom, and with Windows High Contrast mode.
The site ships in one dark theme with no light option. For some people that is easier to read and for others it is harder, and there is currently no way to choose.
Cognitive load — reading level, density, and how much motion competes for attention on the home page in particular.
If something here blocks you
Write to info@gbtn.studio and describe what happened — the page, what you were trying to do, and what you use to browse, if you are happy to say. You do not need to know the terminology or identify the standard involved.
We will reply within five working days, and if you tell us what you needed and could not get, we will send it to you directly in the meantime rather than making you wait for a fix.
This page is updated when the situation changes, including when it changes for the worse.
Questions about this page? Email info@gbtn.studio.