FIELD NOTES · ACCEPTANCE EXERCISES

Do not round a near-pass text contrast into a pass

Soft grey typography can be an intentional brand choice, but the acceptance rule should be stated before judging screenshots. Agree the text category and actual foreground/background pairing, then evaluate the relevant ratio without rounding a near miss upward. Visual taste and a measured threshold are different pieces of evidence.

Who should use this acceptance brief

Brands commissioning restrained low-contrast typography. Use this as a scoped website handover task. Where real system evidence is required, teaching examples are not a substitute.

Source-bound platform fact

WCAG contrast minimum specifies4.5:1 for ordinary text and3:1 for qualifying large text, subject to stated exceptions. Ratios are threshold values and are not rounded up. W3C: contrast minimum · Checked 16 October 2026.

Filled teaching example

Synthetic example, not a client case. Finite inputs, expected decisions and counterexamples follow; no live integration is claimed.

On narrow screens, scroll to read the complete table.

Input / caseCheck basisExpected decision
ordinary text ratio4.499threshold4.5below
ordinary text ratio4.5threshold4.5meets ratio
large qualifying text ratio3threshold3meets ratio

Run the acceptance exercise

  1. Approve the actual text size/weight category and paired colours.
  2. Measure the rendered combination, including overlays and the relevant states.
  3. Retain the unrounded result and test readability on the intended devices.

Interpret the result and retain evidence

The checker compares a supplied ratio with an explicitly chosen threshold. It does not calculate colour luminance or decide whether text qualifies as large. An overlay or background image may require more sampling than one hexadecimal pair. Keep those limits explicit instead of turning a single numeric pass into a whole-site accessibility claim.

Limits before implementation

No existing colours, fonts or layout are changed. Excludes logo exceptions, complete WCAG assessment and a guarantee of comfortable reading for everyone.

Replay the finite example

Save both files in one folder and run with Node22.13 or newer. The example sends no network requests and changes no account or site. Filled inputs and expected outputs · Inspectable functions

node decision-check.mjs text-contrast-acceptance-threshold.json