Each of these is verifiable. Open the page, test it, and tell us if it fails.
01Contrast measured token by token
Every colour pair was measured before it was used, and the ratio sits next to the colour in the code: body text at 13.1 to 1, muted text at 5.39 to 1, the brass accent at 4.71 to 1 on light backgrounds and 8.36 to 1 on dark ones, field borders at 3.5 to 1. The minimum the standard asks for is 4.5 to 1 for text and 3 to 1 for controls.
02Visible focus on every interactive element
A two pixel outline in the accent colour, three pixels clear of the element, on links, buttons, form fields, the language switch and the before and after slider. Nothing in the stylesheet removes it, on any state.
03The whole site works from the keyboard
Tab reaches every link, button and field in the order they are read. The before and after comparator moves with the arrow keys because it is a real range input, not a script attached to a div. The navigation is five items long, so reaching the content from the top takes a handful of key presses.
04Touch targets of at least 44 pixels
Buttons are 48 pixels tall, the compact ones 44, and so are the language switch and every item in the mobile contact bar. Nothing on this site needs a precise finger.
05Real alternative text on informative images
Project photographs say what the room is and what was done to it, not "kitchen 1". Before and after pairs describe each state separately, so the comparison exists in text as well as in the image. Decorative elements are hidden from screen readers instead of being read out as noise.
06Reduced motion is respected
If your system asks for less movement, transitions and entrance effects are switched off. There is nothing that loops, autoplays, rotates or moves on its own to begin with. The hero is a still photograph.
07Headings in order, one h1 per page
You can move through a page by structure and get an outline that makes sense. Lists are marked up as lists, every form field has a label tied to it, hints are linked to their field, and validation errors are announced when they appear rather than only turning something red.
08It survives zoom
Text stays readable at 200 percent and the layout reflows into one column instead of forcing you to scroll sideways. Sizes are set in relative units, so your browser font size is respected.
09The content arrives before the scripts
Pages are rendered on the server. The text, the links and the form are there even if a script fails to load or is blocked.
10Each language has its own address
English and Spanish are separate pages, and each declares its own language in the markup. A screen reader pronounces the Spanish pages in Spanish. The old site ran an automatic translation widget over an English document, which read as English with Spanish words in it.