opsinjs
AccessibilityConformance

Conformance report (VPAT/ACR)

A complete WCAG 2.2 Level A and AA accessibility conformance report in which every criterion is honestly marked Not Evaluated.

What we guarantee

This is the artefact procurement asks for: an Accessibility Conformance Report, in the shape a VPAT produces, covering WCAG 2.2 at Levels A and AA.

Every row still says Not Evaluated. That is deliberate, and it no longer means what it meant a month ago. An ACR records an independent conformance evaluation, and none has been performed. What has happened is separate and real: all sixty components in registry/bases/base/ were audited against WCAG 2.2 AA, in a static source pass and a rendered pass against the live /view page, and the findings were fixed in the same change. That audit was run by the authors of the components, so it is not an independent review, and it did not look at this documentation site. Read ADR 0025 for what the audit was and what it was not. The table is published complete anyway, for three reasons: it tells a reviewer exactly what will be reported when an independent evaluation runs; it makes the shape of that future claim auditable now; and an empty page would have let a reader assume the absence was an oversight rather than the finding.

Report date: 2 September 2026. Product: opsinjs design system and documentation site. Standard: WCAG 2.2, Levels A and AA. WCAG 2.2 became a W3C Recommendation in October 2023; note that SC 4.1.1 Parsing was removed in it and therefore does not appear below. Author-run audit performed: WCAG 2.2 AA, a static source pass and a rendered pass, findings fixed, run by the component authors against the sixty catalogue components. This is a floor raised, not an ACR. Independent evaluation methods used: none. Independent evaluator: none. Clinical review: pending. Nothing here is for a production health surface until a clinician signs it.

A conformance level is not claimed. Under the usual VPAT conventions a product may only claim a level when every criterion at that level is marked Supports or Not Applicable. Nothing here is marked either, because an author auditing their own work is not the independent assessment a conformance level rests on. The author-run audit raises the floor; it does not sign the report.

What you own

Your own report. This one covers the design system; it cannot be reused for a product built with it, because conformance is a property of what ships to the reader. When you write yours:

  • Fill the remarks column, not the conformance column. "Supports" with no remark is unevaluable. A reviewer reads the remarks.
  • Name the evaluation method and date per row group, not once at the top.
  • Report partial support as Partially Supports with the specific failure, not as Supports with a caveat elsewhere.
  • Do not copy this table's verdicts. They are all Not Evaluated and copying them into a product report would be false in the other direction. An author-run audit is a floor the authors reached, not a conformance claim you can inherit.

How to check

Read the remarks column first

The conformance column of any ACR is marketing until the remarks make it falsifiable. In this report every remark says whether the author-run audit has covered the criterion and points at the page that carries or will carry the evidence.

Check the criterion count

WCAG 2.2 Level A and AA together have 55 success criteria, once 4.1.1 Parsing is removed. A report with fewer rows has dropped something.

Check for the 2.2 additions

SC 2.4.11, 2.5.7, 2.5.8, 3.2.6, 3.3.7 and 3.3.8 are the criteria added in WCAG 2.2. A report that omits them is a WCAG 2.1 report wearing a 2.2 label.

Ask for the underlying evidence

For any row that says Supports, ask what was tested, with what, by whom and when. If that cannot be answered, the row is unsupported. An author-run audit answers "by whom" with the authors, which is why the verdict here stays Not Evaluated.

Measured results

Every component-level criterion below has now had an author-run WCAG 2.2 AA audit, and its remark says so. The conformance verdict stays Not Evaluated because that column records an independent evaluation, which has not happened. Criteria that name the documentation site or a media type the system does not use were outside the author-run audit and say why.

WCAG 2.2 Level A

CriterionConformanceRemarks
1.1.1 Non-text ContentNot EvaluatedComponents now render non-text content and were audited author-run for alt text. Authoring rules on Alt text and descriptions.
1.2.1 Audio-only and Video-only (Prerecorded)Not EvaluatedNo media in the system or the docs.
1.2.2 Captions (Prerecorded)Not EvaluatedNo media.
1.2.3 Audio Description or Media AlternativeNot EvaluatedNo media.
1.3.1 Info and RelationshipsNot EvaluatedComponent semantics are implemented and were audited author-run.
1.3.2 Meaningful SequenceNot EvaluatedDOM order is a product responsibility; see For developers.
1.3.3 Sensory CharacteristicsNot EvaluatedCopy rules exist, and the components that render them were audited author-run.
1.4.1 Use of ColorNot EvaluatedThe rule is specified and was audited author-run in the source pass; see Colour independence.
1.4.2 Audio ControlNot EvaluatedNo audio.
2.1.1 KeyboardNot EvaluatedContract published on Keyboard and focus; implemented and audited author-run.
2.1.2 No Keyboard TrapNot EvaluatedInteractive components ship and were audited author-run for keyboard traps.
2.1.4 Character Key ShortcutsNot EvaluatedThe docs site disables its single-key search hotkey; untested and outside the component audit.
2.2.1 Timing AdjustableNot EvaluatedNo component introduces a time limit by design.
2.2.2 Pause, Stop, HideNot EvaluatedNo auto-updating or moving content exists.
2.3.1 Three Flashes or Below ThresholdNot EvaluatedNo flashing content exists.
2.4.1 Bypass BlocksNot EvaluatedA docs-site concern, outside the component audit; see This site's accessibility.
2.4.2 Page TitledNot EvaluatedDocs titles come from frontmatter; a docs-site concern, outside the component audit.
2.4.3 Focus OrderNot EvaluatedImplemented and audited author-run.
2.4.4 Link Purpose (In Context)Not EvaluatedAuthoring rule on For content.
2.5.1 Pointer GesturesNot EvaluatedNo multipoint or path-based gesture drives a component.
2.5.2 Pointer CancellationNot EvaluatedInherited from the primitive layer and audited author-run.
2.5.3 Label in NameNot EvaluatedLabelled controls ship and were audited author-run.
2.5.4 Motion ActuationNot EvaluatedNothing is actuated by device motion.
3.1.1 Language of PageNot EvaluatedA docs-site concern; the root layout sets a language and the 404 route's handling is a known gap, both outside the component audit.
3.2.1 On FocusNot EvaluatedImplemented and audited author-run.
3.2.2 On InputNot EvaluatedImplemented and audited author-run.
3.2.6 Consistent HelpNot EvaluatedNew in WCAG 2.2. No help mechanism is shipped.
3.3.1 Error IdentificationNot EvaluatedCopy rules on Error and empty messages; implemented and audited author-run.
3.3.2 Labels or InstructionsNot EvaluatedForm components ship and were audited author-run for labels.
3.3.7 Redundant EntryNot EvaluatedNew in WCAG 2.2. Treated as a design floor; a product responsibility, not yet exercised.
4.1.2 Name, Role, ValueNot EvaluatedDepends on the primitive layer; audited author-run at the component level.

WCAG 2.2 Level AA

CriterionConformanceRemarks
1.2.4 Captions (Live)Not EvaluatedNo live media.
1.2.5 Audio Description (Prerecorded)Not EvaluatedNo media.
1.3.4 OrientationNot EvaluatedNothing locks orientation; audited author-run in the rendered pass.
1.3.5 Identify Input PurposeNot EvaluatedGuidance on Ask users for…; implemented and audited author-run.
1.4.3 Contrast (Minimum)Not EvaluatedToken pairs are measurable and are the one area with a generator; see Contrast conformance. Audited author-run in the rendered pass, not independently measured against a product.
1.4.4 Resize TextNot EvaluatedMechanism exists in app/product.css; the rendered pass checked 200% author-run.
1.4.5 Images of TextNot EvaluatedNo images of text are used.
1.4.10 ReflowNot EvaluatedLayout system is built for it and was audited author-run in the rendered pass.
1.4.11 Non-text ContrastNot EvaluatedBoundary and graphic tokens are measured; compositions were audited author-run in the rendered pass.
1.4.12 Text SpacingNot EvaluatedExplicitly unaddressed; see Text resizing and zoom.
1.4.13 Content on Hover or FocusNot EvaluatedHover and focus content ships in the overlay components and was audited author-run.
2.4.5 Multiple WaysNot EvaluatedThe docs site has search, a sidebar and a jump rail; a docs-site concern, outside the component audit.
2.4.6 Headings and LabelsNot EvaluatedHeading outlines are build-enforced in the docs; a docs-site concern, outside the component audit.
2.4.7 Focus VisibleNot EvaluatedFocus token specified, implemented, and audited author-run.
2.4.11 Focus Not Obscured (Minimum)Not EvaluatedNew in WCAG 2.2. Named as the sticky-chrome risk on Keyboard and focus, a docs-chrome concern outside the component audit.
2.5.7 Dragging MovementsNot EvaluatedNew in WCAG 2.2. slider ships and was audited author-run for a drag-free alternative.
2.5.8 Target Size (Minimum)Not EvaluatedNew in WCAG 2.2. A 44 px floor is specified, sits above the 24 px minimum, and the rendered pass measured hit area author-run.
3.1.2 Language of PartsNot EvaluatedNo multilingual content.
3.2.3 Consistent NavigationNot EvaluatedOne persistent sidebar by design; a docs-site concern, outside the component audit.
3.2.4 Consistent IdentificationNot EvaluatedNaming conventions are published and were audited author-run.
3.3.3 Error SuggestionNot EvaluatedCopy rules exist; implemented and audited author-run.
3.3.4 Error Prevention (Legal, Financial, Data)Not EvaluatedConsent and disclosure guidance exists; the components that carry it were audited author-run.
3.3.8 Accessible Authentication (Minimum)Not EvaluatedNew in WCAG 2.2. Authentication is out of scope for this system.
4.1.3 Status MessagesNot EvaluatedThe announcement contract is specified on Screen readers, implemented, and audited author-run.
This table has not been generated. It is produced by scripts/run-evals.mts. Run pnpm run generate and reload.

Nothing on this site types a measured number by hand, so an ungenerated table shows this rather than an example.

Known gaps

  • No independent conformance evaluation has been performed. The author-run WCAG 2.2 AA audit raised the floor, but an ACR is an assessment somebody independent signs, and none has been commissioned. Every verdict above stays Not Evaluated until one runs.
  • No clinical review has been performed. Clinical review is pending for every component, so nothing here is for a production health surface until a clinician signs it.
  • Level AAA is not reported at all, even though the system adopts the AAA target-size figure from SC 2.5.5 as its floor. Adopting one AAA criterion is not a AAA claim.
  • EN 301 549 and Section 508 mappings are not included. Both map largely onto WCAG 2.x, but the non-web and functional-performance clauses of EN 301 549 are not addressed here.
  • There is no machine-readable form of this report. It should be emitted as JSON alongside the other generated artefacts, and it is not.
Not written yet.

Emit this report from a data file rather than authoring the table by hand, so that a criterion cannot be dropped silently and so that a machine-readable version is available at /r.

Updates to this page

Last read through against the system on 2026-09-02. Due for review every 6 months; expiry is reported by pnpm run check:freshness.

Edit this page