Skip to main content
WCAG 2.1 AA coverage

Every check Proof runs, and exactly how each one gets fixed.

No hand-waving: this is the full map — what’s tested, by which engine, and whether the resolution is a machine fix, a guided human decision, or a named attestation.

Automatic passes clear 63–74% of all defects, measured across 10,631 findings in a live government corpus — but most documents still need one or two human decisions, usually colour contrast or reading order. The rest is a guided decision or a named attestation — mapped below, never hand-waved.

layer 1
veraPDF 1.30.1
The industry-standard open-source PDF/UA validator — the same engine auditors use — with every machine clause mapped to its WCAG criterion.
layer 2
Ockem’s own detectors
Checks veraPDF has no clause for — color contrast with occlusion guarding, reading-order consensus, images-of-text via OCR diff, language-of-parts, non-text contrast. Checks most tools skip entirely.
layer 3
Deterministic prescan
Document facts read directly from the file: structure tree, image-only detection, bookmarks, metadata, encryption flags.
How to read the resolution chips:AUTOMATICdeterministic fixer, re-verifiedGUARDEDlive before/after diff inside the applyAI + HUMANdrafted locally, human-approvedDECISION QUEUEhuman decides, machine appliesATTESTATIONnamed human sign-off, on the certificate
Perceivable
Figures alternate text
1.1.1 Non-text Content · A
Figure census from the structure tree, per-figure strict check, alt/content association analysis, empty-alt detection. Fixed by AI-drafted alt text with the figure crop beside the draft — human-approved — plus automatic figure wrapping so alt text has somewhere to live.How this gets fixed →
AI + HUMANAUTOMATIC
Image-only PDFs
1.1.1 · A
Scanned documents detected at prescan. OCR rebuilds the page as structured, accessible-by-default content — real headings, reading order, and tab order, with scan noise artifacted — not just an invisible text layer.How this gets fixed →
AUTOMATIC
Multimedia alternatives
1.2.1 Audio / Video · A
Media annotations checked for type and alternate description; both written automatically.How this gets fixed →
AUTOMATIC
Tables
1.3.1 Info & Relationships · A
16 table-shape rules plus Ockem’s untagged-table detection in the raw content layer. Fixed by guarded structure builders (tag, headers→TH, scope, colspan balancing) and an in-browser table editor for the calls a machine shouldn’t make.How this gets fixed →
GUARDEDDECISION QUEUE
Headings, lists & structure
1.3.1 · A
Heading nesting, list structure, role mapping, tagged-content analysis. Guarded automatic repair — plus a decision queue that promotes real headings mis-tagged as page furniture.How this gets fixed →
GUARDEDDECISION QUEUE
Logical reading order
1.3.2 Meaningful Sequence · A
Ockem’s consensus audit compares geometric order against structure-tree order per page. Untagged content is an objective fail; divergent pages go to a per-page review stepper with numbered overlays. Confirmations are recorded attestations.How this gets fixed →
AUTOMATICDECISION QUEUEATTESTATION
Sensory characteristics
1.3.3 · A
Bilingual language scan for instructions relying on shape, position, or sound — deliberately over-flags for the reviewer.How this gets fixed →
ATTESTATION
Color contrast
1.4.3 Contrast (Minimum) · AA
Every text run classified against 4.5:1 (3:1 large text), artifact-aware, with an occlusion guard that suppresses text hidden behind cover artwork. Fixed in the contrast decision queue: recolor to the nearest accessible color, or insert a backing band on photographic backgrounds.How this gets fixed →
DECISION QUEUEATTESTATION
Resize text
1.4.4 · AA
Reflow and zoom behavior is a judgment check — reviewed and attested by a named human.How this gets fixed →
ATTESTATION
Images of text
1.4.5 · AA
Ockem’s OCR-diff detector: large raster regions are OCR’d and compared against the real text layer; a surplus means text living only inside an image. Evidence shown on the review card. Font embedding is repaired automatically.How this gets fixed →
ATTESTATIONAUTOMATIC
Non-text contrast
1.4.11 · AA
Form-control border contrast measured against the field background; documents with no bordered controls are honestly N/A.How this gets fixed →
ATTESTATION
Operable
Keyboard access & traps
2.1.1 / 2.1.2 · A
Script-bearing documents surfaced for human review.How this gets fixed →
ATTESTATION
Timing & flicker
2.2.1 / 2.3.1 · A
Heuristics for auto-submitting forms, timers, and flash-risk multimedia — candidates for review.How this gets fixed →
ATTESTATION
Bookmarks
2.4.1 / 2.4.5 · A / AA
Outline presence checked against document length; generated automatically from the heading structure.How this gets fixed →
AUTOMATIC
Document title
2.4.2 Page Titled · A
Catalog + XMP title checks, including filename-echo detection — a title that just repeats the filename fails until a human sets a real one. Auto-written with AI suggestions.How this gets fixed →
AUTOMATICAI + HUMAN
Tab order
2.4.3 Focus Order · A
Page tab-order settings checked and set to structure order automatically.How this gets fixed →
AUTOMATIC
Link purpose
2.4.4 · A
Link structure and accessible names checked; links wrapped, named from visible text, and bare URLs/emails/phones turned into real link annotations.How this gets fixed →
AUTOMATIC
Focus visible
2.4.7 · AA
Human judgment — reviewed and attested.How this gets fixed →
ATTESTATION
Understandable
Document language
3.1.1 Language of Page · A
Catalog and XMP language checked; auto-detected from content and written when absent.How this gets fixed →
AUTOMATIC
Language of parts
3.1.2 · AA
Unicode-script scan surfaces runs of Cyrillic, Greek, Arabic, Hebrew, CJK and other scripts different from the document language, with locations. Span-level language is a content decision — attested.How this gets fixed →
ATTESTATION
Robust
AT-blocking encryption
4.1.2 Name, Role, Value · A
Accessibility-permission flags detected and removed automatically.
AUTOMATIC
Form fields
4.1.2 · A
Field tagging and description checks. Widgets tagged into Form structure with tooltips written; per-field label text is human-authorable; vestigial exporter-artifact widgets removed.How this gets fixed →
AUTOMATICDECISION QUEUE
Fonts & character encoding
supports 1.1.1 / 1.4.5
The veraPDF font cluster: unembedded fonts get metric-compatible replacements; character-map plumbing regenerated so extracted text is faithful; symbolic checkbox glyphs replaced with vector drawing.How this gets fixed →
AUTOMATIC
Structure-tree trust
structure integrity
The Suspects flag is cleared so validators and assistive technology trust the tag tree.
AUTOMATIC
What we deliberately don’t show as red
PDF/UA-1 bookkeeping rules that don’t affect assistive-technology behavior — conformance XMP, file-header details — surface as N/A with an explanation, never as failures. And criteria that don’t apply to static documents (audio control, live-form error handling) are out of scope by nature.
Machine-detected, human-attested
Some criteria are genuinely judgment: images of text, sensory characteristics, focus visibility. Proof detects candidates and shows the evidence; a named human attests. We say so plainly — the claim is automated + attested, never "fully automatic."
Run the full profile on one of yours.