Accessibility
What works, what does not, and what we have not checked.
This page covers corvexal.net. We aim at WCAG 2.1 level AA. Below is what has actually been measured, and what has not, the second list is the one that usually goes missing, and it is the more useful of the two.
Measured, and passing
- Keyboard. Every interactive element is reachable and operable by keyboard alone, in a tab order that follows the page. There are no keyboard traps.
- Visible focus. A 2px bronze ring at 3px offset, on every
focusable element.
outline: noneappears nowhere in the stylesheet. - Touch targets. Every link and button is at least 44 × 44 CSS pixels.
- Reflow. No horizontal scrolling at 375px, 768px or 1440px.
- Reduced motion. With
prefers-reduced-motion: reducethe background lattice draws one static frame and never animates, and the depth planes do not move. The opening text still fades in on the same schedule, because asking for less motion is not asking for a worse page. - Scrolling is never taken over. No smooth-scroll, no momentum, no wheel or touch handler anywhere on the site. Your scroll travels exactly as far as you sent it.
- Forms. Every control has a real
<label>, not a placeholder standing in for one. Errors are announced in a live region and named in words, never by colour alone. - Structure. One
h1per page, headings in order, a skip link, landmark regions, and the current page marked witharia-current. - Decoration is hidden. The lattice and the file ring carry no information the text does not, and are hidden from screen readers rather than described at length.
Measured contrast
Against the page ground #F7F4ED, unless stated:
- Body and heading ink
- 16.24 : 1
- Secondary text
- 5.28 : 1
- Bronze labels and numerals
- 5.03 : 1
- Primary button, ink on bronze
- 5.76 : 1
- Secondary button, white on ink
- 17.84 : 1
- EMBER's action, ink on amber
- 8.77 : 1
- Form errors
- 14.49 : 1
Two of these were failures in the original palette and were changed to get here. The
brand bronze #B68A5E as text is 2.82 : 1, which fails at every
size, so text uses a darkened bronze and the original value is kept for fills and
rules. White on that bronze is 3.09 : 1, so the primary button's label is ink.
Both are recorded here because a statement like this one is worth nothing if it only
lists what already worked.
Not tested yet, and therefore not claimed
- Screen readers. This site has not been walked with JAWS, NVDA or VoiceOver. The markup is written for them and has not been verified with them, and those are different things.
- Browsers other than Chromium. Every measurement above was taken in a Chromium browser. Firefox and Safari have not been tested.
- Zoom to 400% and OS-level text scaling have not been measured.
- Voice control and switch access have not been tested.
- An independent audit has not been carried out.
Known rough edges
- On the home page the navigation fades in over the first 7.4 seconds. Any key press or click completes it immediately, which stops an invisible focus ring, but a reader who waits is waiting.
- The navigation is drawn by JavaScript. With scripting off, a plain list of all seven pages appears at the top of every page instead.
- Below 1024px the large background numeral is removed rather than shrunk, because at that width it lands on top of the heading.
Reporting a problem
If something here does not work for you, please write to hello@corvexal.net and say what you were using and what happened. You do not need to know the name of the standard it breaks.
We will acknowledge it and tell you either when it is fixed or why it is not going to be.
This version has not been dated for publication.