Report structure

Sample report structure

The shape of a Five Page Audit report, shown with invented findings. No customer work is reproduced.

Illustrative example

Everything on this page is illustrative. The site, the findings and the numbers are invented to show the format. No customer report, customer name, customer URL or customer result is reproduced here, and we do not publish client work.

1. Cover and scope

Every report opens with exactly what was tested, so the boundaries are not in dispute later.

Illustrative scope block
Domainexample.com
Pages tested/, /pricing, /features, /contact, /signup
StandardWCAG 2.2 Level AA
Test dateStated to the day
Browser and viewportChromium 1280×800, plus 320 px reflow check
Out of scopeAnything behind a login; PDFs; third-party embeds we cannot control

2. Summary

A short plain-language section for whoever is deciding what to do, not what to type. It says what is worst, what is cheapest, and what we would fix first — and it names the number of findings by severity rather than inventing a score out of a hundred.

3. Findings

One block per finding, in the format below. A real report typically runs to between eight and thirty of these across five pages, though we have issued reports with very few.

Illustrative finding 1 of 2

SERIOUS 1.4.3 Contrast (Minimum) · Level AA
Where
/pricing — the "Choose plan" button, .plan-card > button.cta
What fails
Label #8fb8c4 on #ffffff measures 2.3:1. Level AA requires 4.5:1 for 16 px text.
How to reproduce it
Open /pricing at 1280×800, inspect the button, and read the contrast ratio in the colour picker beside color.
Suggested fix
Darken to #3d6f7d (4.6:1). The same token appears in the secondary navigation, so check both together.
Effort estimate
Under 30 minutes if it is a design token; half a day if the value is inline across templates.

Illustrative finding 2 of 2

CRITICAL 2.1.1 Keyboard · Level A
Where
/signup — the country selector, div.select-shim
What fails
The control is a div with a click handler and no tabindex or role. Tabbing through the form skips it entirely, so the form cannot be completed without a mouse.
How to reproduce it
Load /signup, click into the first field, then press Tab repeatedly. Focus moves from "Postcode" straight to "Create account", never landing on the country selector.
Suggested fix
Replace the shim with a native <select>. If the custom control must stay, it needs role="combobox", keyboard handlers for arrow keys, Enter and Escape, and a visible focus style.
Effort estimate
One to two hours for the native replacement. One to two days to make the custom control correct, which is why we suggest the native element.

4. Method and limitations

The same limitations shown on the main page are restated in full in every report, alongside the exact tool versions used. A developer should be able to repeat the work and check our results.

Read the full method · Get a free one-page scan · Request the £249 review