Skip to main content

In this article

Accessibility Coverage Matrix

Overview

The Accessibility Coverage Matrix workflow evaluates whether an accessibility assessment has enough evidence to call a criterion, surface, and method cell covered. It combines static evidence, prior reports, and runtime probe results into a single model that uses method adequacy rules instead of treating every passing check as equal.

Execution Modes

The workflow supports four execution modes.

ModePurposeTypical use
buildCreate or expand the matrix from the current evidence setInitial matrix creation
refreshRecompute the matrix after new findings or updated inputsRe-running after code or evidence changes
reportRender the current matrix state into the JSON and markdown artifactsSharing findings or preparing review
probeRun the runtime harness for a specific probe against the current inventoryInvestigating a gap or validating a candidate

Grid Model and Cell Lifecycle

The matrix is modeled as a criterion x surface x method grid.

  • Criterion represents a framework-specific success criterion or control identifier.
  • Surface represents a discrete UI surface such as a page, component, widget, global chrome, or content type.
  • Method represents the evidence method, such as static-source, axe-auto, runtime-automation, manual-keyboard, cognitive-walkthrough, screen-reader, or another method name recorded by the engine.

Each cell moves through a lifecycle of not-started, blocked, partial, fail, pass, or not-applicable. The lifecycle changes when new evidence is ingested, when a human override is applied, or when the engine re-runs coverage after a probe or report refresh.

Lifecycle stateMeaning
not-startedNo evidence has been recorded for the cell yet
blockedEvidence collection is prevented by a dependency or external constraint
partialSome evidence exists, but it is incomplete or inconclusive
failThe current evidence indicates a gap or a failing result
passA winning result has been recorded for the cell
not-applicableThe cell does not apply to the current surface and criterion

Method Adequacy Semantics

A cell is counted as covered only when the winning evidence method is allowed by the criterion's adequateMethods list or by the probe-criteria-map for that criterion. A pass from an inadequate method does not count as covered.

The engine computes adequate coverage by taking the number of applicable cells that are covered through an adequate method and dividing that total by the number of applicable cells in the scope, then expressing the result as a percentage. This is reported for each framework and for the overall matrix.

Surface Inventory and Runtime Harness

The accessibility-surface-inventory subagent is the sole producer of a11y-runtime.config.json. It should inspect the codebase profile, infer the appropriate runtime discovery strategy, and emit a reviewable config that conforms to the schema at .github/skills/accessibility/accessibility/scripts/runtime_a11y/config-schema.json.

The runtime harness lives under .github/skills/accessibility/accessibility/scripts/runtime_a11y/. The workflow uses that package directory to run the matrix engine and to execute probes against the inventory that the config file describes.

Output Artifacts

The workflow persists two runtime artifacts under .copilot-tracking/accessibility/coverage/.

  • coverage-matrix-{repo-slug}.json stores the structured matrix model, coverage summaries, and cell-level evidence state.
  • coverage-matrix-{repo-slug}.md renders the same state for review and handoff, including the canonical accessibility disclaimer and an unchecked human-review checkbox.
File typeLocation
Prompt.github/prompts/accessibility/accessibility-coverage-matrix.prompt.md
Subagent.github/agents/accessibility/subagents/accessibility-surface-inventory.agent.md
Skill.github/skills/accessibility/accessibility/SKILL.md
Reviewer pageAccessibility Reviewer
Planner pageAccessibility Planner

🤖 Crafted with precision by ✨Copilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers.