Use it when checking component token pairs and HTML structure; use artifact_certify for chart pillars or design_preview for measured browser evidence. Checks button states per intent, text at 4.5:1, and icons/progress/meter marks at 3:1. Returns measured pairs, document findings and explicit unmeasured cases. Without a schema it checks every built brand/theme; a UiSchema scopes pairs to its components and adds static HTML checks. Dynamic/inherited/system paints remain unmeasured. Browser layout, keyboard/focus and screen-reader behavior are not tested. apply:true writes the report, transcript and bundle index; omission writes nothing. Reference: TOOL-REFERENCE.md#a11y_scan; full schema: oods://schemas/a11y_scan.input.json.

Inputs

Name Type Required Description
apply boolean no When true, write the a11y report artifact to the artifacts directory.
schema object no Render this UiSchema in memory and inspect its HTML; select declared token pairs for its rendered components.

Outputs

The package ships no output schema for this tool.

A real call

Recorded by this site's tools run, step a11y-scan, with the published OODS Foundry 0.10.1.

Its input:

{}

Its result, first lines:

{
  "artifacts": [],
  "structuredData": {
    "generatedAt": "2026-10-08T15:09:13.003Z",
    "tokenSource": "~/.oods-foundry/runtime/0.10.1-8f7d4c36f4a2/packages/tokens/dist/css-variables-by-scope.json",
    "pairSource": {
      "source": "shared component-styles declarations",
      "sha256": "64f8acaebd03cdde431a159b8ecb5dbc3641e8207e137f7db2a2b2657df56815",
      "selection": "All declared variants of the rendered components; no browser cascade or paint claim."
    },
    "scopes": [
      {
        "brand": "A",
        "theme": "light",
        "checks": 166
      },
      {
        "brand": "A",
        "theme": "dark",
        "checks": 166
      },
      {
        "brand": "A",
        "theme": "hc",
        "checks": 212
      },
      {
        "brand": "B",
        "theme": "light",
        "checks": 166
      },
      {
        "brand": "B",
        "theme": "dark",
        "checks": 166
      },
      {
        "brand": "B",
        "theme": "hc",
        "checks": 212
      }
    ],
    "summary": {
      "totalChecks": 1088,
      "passed": 252,
      "failed": 0,
      "screenFindings": 0,
      "unmeasured": 734,
      "notApplicable": 102,
      "complianceStatus": "partial"
    },
    "rules": [
      {
        "ruleId": "A/light/css-1",
        "brand": "A",
        "theme": "light",
        "selector": "body",
        "target": "body",
        "foreground": {
          "token": "var(--sys-text-primary, CanvasText)",

The whole call, 1034 KB of JSON