Map each finding to the WCAG/508/PDF-UA criterion it closes.

Standards / WCAG rule engine

Intent — A rule engine that maps each finding to the exact external-standard clause it closes, turning "does this conform?" into a deterministic, standards-grounded predicate rather than a judgement call (our instance: the WCAG 2.1 AA / Section 508 / PDF-UA accessibility rule engine).

SummaryMap each finding to the WCAG/508/PDF-UA criterion it closes.
TargetProduct · Validation & conformance
Formvalidation
EnforcementHard (deterministic) · blocking — a conformance predicate; the PDF runtime gate flags new findings per pass on a dedicated marker (staging)

Motivation — the failure it kills

"Is this document accessible?" needs a precise, standards-grounded answer, not a fuzzy score. Without one, the tool either ships a document that claims conformance while missing success criteria, or runs checks that aren't tied to any standard (so "we check X" doesn't map to "we close SC Y"). The failure is an unfounded conformance claim, and it recurs per document and per new check.

Why it's not just "run some accessibility heuristics"

Heuristics produce a fuzzy score, not a conformance claim tied to specific success criteria. The rule engine maps each finding to the exact WCAG/508/PDF-UA criterion it closes, so conformance is a deterministic, auditable predicate: you can say which SC each check satisfies. And the discipline is enforced across the boundary: adding a check that closes an SC gap must update both the engine and the scope doc's Status column in the same commit. The distinction is that every finding names the criterion it closes, so the conformance claim is auditable clause by clause rather than a single opaque score. The scope doc is the counterpart that keeps the coverage claim honest (Covered / Coverage-gap / Aspirational).

Mechanism

A standards-mapping step maps findings → the SCs they close (our instance: CheckRunner.ComputeStandards); the canonical rule walkers produce those findings over the typed models. The PDF runtime gate emits new findings per pass on a dedicated JSON marker (staging). The WCAG-scope-mapping doc is the source of truth for which SCs are in scope, out of scope, and their coverage status.

Prerequisites

Consequences & costs

Known uses

Related mechanisms