[Tools](https://oods-foundry.com/tools) / a11y_scan

# `a11y_scan`

Grade built token contrast and optional static screen accessibility.

Generated from @oods/foundry 0.10.1

Turned on with MCP_TOOLSET=all.

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](https://oods-foundry.com/tools/a11y-scan/call.json)
