mcpField
A
accessibility-audit

accessibility-audit

github.com/accesslintテスト・品質1141.1k 回インストール9 週間前に更新
リポジトリ

accessibility-audit について

WCAG-EMに沿ってウェブサイトのアクセシビリティを評価する、WCAG 2.2監査スキルです。自動スキャンと手動検査を組み合わせ、サンプルと根拠に基づく適合性レポートを作成します。

主な機能

  1. 01WCAG-EM監査ワークフロー
  2. 02構造化されたページサンプリング
  3. 03自動・手動の評価段階
  4. 04重大度と根拠の分類
  5. 05達成基準ごとの適合性報告

活用シーン

  1. 01WCAG 2.2 AAに沿ったサイト監査
  2. 02主要フローや複雑な画面状態の確認
  3. 03支援技術を用いた人手レビュー向けの所見整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/accesslint/skills --skill accessibility-audit

インストール後、Claude Code で/accessibility-auditを入力して読み込まれたか確認します。

詳細

これは、WCAG-EMを用いたWCAG 2.2の完全なアクセシビリティ監査です。対象範囲を定義し、代表的なページとフローをサンプリングし、両方の評価段階を実施して、適合性レポートを1つ作成します。

  • 自動評価段階:accesslint:accessibility-scan(ルールエンジン)。
  • 半自動の手動評価段階:accesslint:accessibility-inspect(キーボード、フォーカス、状態、リフローなど、エンジンでは判断できない項目)。

評価を行います。修正(accesslint:accessibility-fix)や差分確認(accesslint:accessibility-diff)は行いません。サンプリングを行わない単一ページの評価は、監査ではなくaccessibility-scanです。このスキルでは、サンプリングした各ページをそれぞれ専用のサブエージェントに委任するため(ステップ4)、サンプル数が多くても軽量に実行できます。

詳細な指針――WCAG-EMの詳細、例を含む重大度基準、代理評価の禁止範囲、根拠の明確化――は、../shared/methodology.mdに記載されています。このスキルの実行に必要なルールを以下に示します。

評価

各指摘には、重大度と証拠の根拠を付与します。両者は分けて扱います。

  • 証拠の根拠:● 検証済み(引用した証拠に基づく確定的な結果) · ◐ 要確認(証拠を記録し、人が判断) · ○ 人による確認が必要(支援技術または実体験が必要。模擬せず、引き継ぎます)。
  • 重大度:critical(主要なタスクを妨げる) · serious(大きな障壁) · moderate(不便はあるが、完了可能) · minor(仕上げの問題)。

WCAG-EM の手順

順番に実行し、それぞれで行ったことを記載してください。

  1. 対象範囲。対象とその境界、目標(デフォルトは WCAG 2.2 AA。--level AAA を指定すると AAA も対象)、使用している技術、そして人による引き継ぎで扱うべき支援技術のベースラインを明記します。そのベースラインを定めますが、テストはしません。

  2. 調査。Glob/Grep を使って、ルート、テンプレート、共有コンポーネントを探します。主要なフロー、コンテンツの種類、状態を持つ UI(モーダル、ウィザード、空状態、エラー状態)を記録します。accesslint.config.json の対象は出発点です。

  3. サンプリング。構造化されたセット(入口ページ、各主要フローの最初から最後まで、新しいテンプレートや複雑なウィジェットを含むすべてのページ、重要な状態)と、小規模なランダムセットを選びます。それぞれに何が含まれるか、選んだ理由を述べます。

  4. 評価。サンプルに含めた各ページまたは状態をそれぞれ独自のコンテキストで実行し、調査結果を返すよう、個別の Task に委任します。独立したページは並行して実行できます。各 Task は次を行います。

    • まず accesslint:accessibility-scan(--format json)を実行し、続いて同じレンダリング状態(同一の URL、--selector、--wait-for)に対して accesslint:accessibility-inspect を実行します。scan の結果(または少なくともエンジンが対象とした SC のリスト)を inspect の実行に渡します。
    • 実行前に SC の担当範囲で重複を除外します。accessibility-scan はルールで検出可能な達成基準を担当し、accessibility-inspect はインタラクションと判断を要する達成基準を担当します。inspect はエンジンが担当する SC を再確認しません。同一の要素で両方が同じ SC を対象とする場合は、accessibility-scan の結果を優先します。
    • 構造化されたブロックを返します。各指摘について、SC、重大度、根拠の確度(●/◐/○)、場所、ティア、証拠、修正方法または引き継ぎ先を記載し、さらにこのページの SC ごとの台帳(確認済み/フラグあり/エンジン担当/該当なし/未実施)を含めます。

    返されたブロックは手順 5 で集約します。対象範囲が 1~2 ページの場合は、Task を起動せず、ティアをインラインで実行します。

    共有ブラウザーは任意で、ティア間のセレクター照合の精度を高めます。ただし、これは事前に設定されていることが条件であり、このスキルが実行時に設定するものではありません。ブラウザー MCP はサーバー起動時に Chrome に接続します(--autoConnect または --browser-url)。エンジンも同じポートを指定します。共有ブラウザーがない場合(デフォルト)は、各 Task が同じ URL と --wait-for 条件で両方のティアを実行し、SC の担当範囲に基づいて重複を除外します。

  5. 報告。以下の形式にまとめます。適合性の状態は 3 つです。●の指摘に限り、合格または不合格とします。◐または○のすべて、およびページで確認していないすべての SC は未確定であり、人による確認に引き継ぎます。サンプル内の 1 ページでもある SC に不合格なら、そのレベルの対象範囲全体で不合格です。裏付けのない適合性は報告せず、未実施の SC を合格と受け取られるような記載にしないでください。台帳は件数と SC のリストのみとし、未確定の SC は共通する理由ごとにまとめ、グループごとに一つの節で記載します。報告では不合格、フラグ、引き継ぎに重点を置きます。合格した場合はリストに SC 番号を記載し、合格した項目全体についての説明は最大 1 文とします。

報告形式

# Accessibility audit — <product / scope>
WCAG 2.2 Level AA · WCAG-EM · <N> pages/states sampled

## Scope
- Target & boundary: <…>     Goal: WCAG 2.2 AA
- Technologies in use: <…>
- AT baseline (for the human handoff, not tested here): <SR+browser pairs, keyboard-only, …>

## Sample
- Structured: <page/state> — <why>   (×N)
- Random: <page/state>

## Conformance (per success criterion)
- Pass ●: <n>  ·  Fail ●: <n>  ·  Undetermined (◐/○/not exercised): <n>  ·  N/A: <n>
- Fail ●: <SCs>   Pass ●: <SCs>   N/A: <SCs>
- Undetermined: <SCs (shared reason)> · <SCs (shared reason)>
- Pass/fail is asserted only for ● criteria; ◐/○ and not-exercised are undetermined.

## Findings — by severity, tagged by evidence basis
### Critical
- [●] <barrier> — SC x.x.x — where: <selector / file:line> — tier: scan|inspect — → `accessibility-fix`
- [◐] <barrier> — SC x.x.x — evidence: <screenshot / measurement> — confirm: <what a person checks>
### Serious / Moderate / Minor
[same shape]

## Human-required (○) — the testing handoff
- <what only AT or lived experience reveals> — SC x.x.x
    needs: <functional ability + AT, per Section 508 FPC>   flow: <sampled flow>

## Recommendations
- Root-cause / pattern fixes (one change that clears many instances) → hand to `accessibility-fix`.
- What to send to human and AT testing, and on which flows.
- Wire `accesslint:accessibility-diff` into CI for the sampled targets.

注記

  • 評価のみを行い、修正(accessibility-fix を使用)や差分確認(accessibility-diff を使用)はしないでください。人の体験を模倣しないでください。ユーザビリティは ◐、実体験に基づく評価は ○ とし、人に引き継ぎます。
  • 適合性は、サンプル全体における SC ごとに判断します。不合格を平均して帳消しにしないでください。
  • 2 つのブラウザー間ではセレクターがずれることがあります。●の精度を優先する場合は共有ブラウザーを使い、そうでない場合は重複除外がベストエフォートであることを明記してください。
  • 対象外の内容(サンプルに含めていないページ、○の基準)を記載します。省略すると「問題なし」と受け取られます。
  • エンジンのルールに関するメタデータには list_rules と explain_rule を使用してください。

コメント