Skip to content

Foundations and vocabulary

An instrument, not a dashboard.

Two ramps and one accent. A monospace face only where a value is literally a URL, a rule id or captured markup. Severity, confidence and status are three separate vocabularies, and every one of them reads in greyscale — because a finding is read where we cannot follow it, in a ticket, a printout or a screenshot.

Colour

Decoration comes from the ramps; text and controls come from the semantic tokens above them.

Neutral

  • 100
  • 200
  • 300
  • 400
  • 500
  • 600
  • 700
  • 800
  • 900

Accent

  • 100
  • 200
  • 300
  • 400
  • 500
  • 600
  • 700
  • 800
  • 900

There is no red and no green. Seriousness is carried by weight and shape so that a report pasted into a black-and-white ticket still reads, and so that the roughly one reader in twelve who cannot separate the two hues loses nothing. The accent is reserved for interaction — links, the focus ring, the active navigation mark, the primary button — and for the single severity that is a warning.

Three of the semantic tokens deliberately differ from the ramp step they look like, because the ramp step fails a contrast bar: the tertiary text colour, the control outline, and the accent itself. ADR-011 names each. The contrast test in packages/ui/test/unit/tokens.test.ts is what keeps them where they are.

Three vocabularies

Three questions, three treatments. Never the same visual language twice.

Severity

How serious is the defect? A chip, ordered by how much ink it puts on the page, with an icon and the word.

  • Error
  • Warning
  • Info

Confidence

How sure are we of the interpretation? Plain text. Heuristic goes italic under a dashed rule and can never be an Error.

  • Certain
  • Likely
  • Heuristic

Status

How does this relate to the previous audit? A monospace mark and the word, in the body colour, with no hue at all.

  • New
  • Persisting
  • Resolved
  • Regressed
  • Unknown

Notices

Emphasis by the weight of an edge.

A fact about this account that is simply true.
A payment failed. Everything keeps working until the grace period ends.
Payments on this account are under review; audits are paused. Stored reports stay readable.

Skipped: the sitemap was unavailable during this audit, so there were no dates to read. A skipped check is neither a pass nor a failure.

NeutralVerifiedAttentionBlocked

Data patterns

A bar is decoration; the number beside it is the fact.

Affected population

42 of 3,461 pages

12 of 18 categories

The bar is aria-hidden and the count is stated in text beside it. A meter a screen reader announces as a percentage of nothing is worse than no meter.

Provenance

Deterministic Evidence → rule → result. The factual foundation.

Model analysis Evidence → interpretation → conclusion. Capped at Warning, and never an Error.

Every finding cites the page, selector or configuration path it came from. A defect we cannot attribute is reported as unattributed rather than blamed on a guess.