Skip to main content

How we score

The score is an editorial rubric, not a standard. It exists to rank findings by remediation priority and give you one headline number. Everything behind it is published here, because a number nobody can check is not evidence — and both customers and opposing counsel do check.

The model

Every page starts at 100 and loses points per finding, scaled by how many times it occurs with diminishing returns, so no single rule can zero a page.

penalty(finding) = weight(impact) × (1 + log2(min(occurrences, 16)))
score            = max(0, round(100 − Σ penalty))

Impact weights

Impact Base weight One occurrence
Critical 15 −15
Serious 8 −8
Moderate 3 −3
Minor 1 −1

Occurrence scaling stops at 16 nodes: repeated violations of one rule keep mattering up to that point, then plateau. A rule axe declines to grade is treated as moderate, not minor — an untriaged finding should not be scored as the smallest possible problem.

Bands

  • Strong — 90–100
  • Needs Work — 70–89
  • At Risk — 0–69

What counts toward the score

We scan more than we score, on purpose. Only confident failures against WCAG 2.1 AA — the standard the DOJ’s ADA Title II rule fixes for public entities — move the number, so it always means the same thing.

  • Scored. WCAG 2.1 A/AA violations detected by axe-core 4.11.0, plus our own measurements of reflow, focus visibility, focus order and bypass blocks.
  • Reported, not scored — needs review. Checks that ran but could not be decided, such as contrast over an image. Penalising you for something we explicitly could not determine would make the number indefensible.
  • Reported, not scored — advisory. WCAG 2.2 additions, best-practice rules, and our quality heuristics (alt-text usefulness, link-text clarity, reading level). Real issues, but outside the conformance claim.

Whole-site scores

A site score blends the average page with the worst one, so a single broken page is never hidden by healthy ones:

site = round(0.6 × weightedMean + 0.4 × worstPage)

The average is weighted by page importance — your homepage counts for more than a decade-old archive page. The worst-page term is deliberately unweighted: the floor should reflect the genuinely worst experience available on your site. Pages that failed to load contribute nothing and are reported separately, so a partial scan is never presented as a whole-site verdict.

What this cannot tell you

Automated testing reliably covers roughly a third of the WCAG success criteria. A clean result is a good sign, not a certificate of conformance. Whether alt text is meaningful, whether a reading order is logical, whether an error message actually helps someone recover — those need a human, and we would rather say so than let a green number imply otherwise.