mcpField
A
auditing-wcag

auditing-wcag

github.com/masup9テスト・品質6158 回インストール3 日前に更新
リポジトリ

auditing-wcag について

WCAG 2.2 A/AA の適合性を体系的に監査し、一般的なアクセシビリティ指摘ではなく、根拠に基づく報告を作成するスキルです。範囲の確認、自動・対話型チェック、手動確認を案内し、各基準を Pass/Fail/NT/NA で判定します。

主な機能

  1. 01WCAG 2.2 A/AA の基準を網羅
  2. 02根拠付きの Pass/Fail/NT/NA 判定
  3. 03Playwright と CLI のチェック案内
  4. 04手動・対話型チェックの手順
  5. 05範囲と制約の記録

活用シーン

  1. 01正式なアクセシビリティ適合報告の作成
  2. 02複数ページの WCAG 監査
  3. 03キーボード操作とフォーカスの確認
  4. 04根拠が不足する基準を NT として記録

インストール

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

$npx skills add https://github.com/masup9/a11y-specialist-skills --skill auditing-wcag

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.ja.md
README.md
SKILL.ja.md
agents/
openai.yaml
references/
automated-checks.ja.md
automated-checks.md
content-checks.ja.md
content-checks.md
coverage-matrix.ja.md
coverage-matrix.md
interactive-checks.ja.md
interactive-checks.md
manual-checks.ja.md
manual-checks.md
output-format.ja.md
output-format.md

詳細

日本語版 (Japanese)

WCAG 適合性監査

WCAG 2.2 AA の適合性監査を実施します。各達成基準について、根拠とともに Pass/Fail/NT/NA を報告します。

このスキルを使用する場合

観点reviewing-a11yauditing-wcag
目標問題を見つけて修正案を提示適合性を体系的に検証
出力重大度別の問題一覧各達成基準の Pass/Fail/NT/NA
範囲実用上の問題に重点WCAG 2.2 A/AA を網羅
振り分けルール
  • auditing-wcag:「audit」、「compliance」、「conformance」、または正式なレポートを求める依頼に使用します。
  • reviewing-a11y:「review」、「find issues」、「improvements」、または開発者向けのフィードバックを求める依頼に使用します。
  • 意図が不明な場合は、適合性レポートと問題のレビューのどちらを希望するか確認します。

ワークフロー(6 ステップ)

1. 入力の受け付け
  • URL またはローカルファイルのパスを受け付けます。
  • 複数ページの場合は、対象ページの一覧と開始点を確認します。
  • ローカルファイルの場合は、利用可能なファイル読み取り機能を使用します(実行時の動作は実行できません)。
2. 対象範囲の合意

以下を確認し、合意を得ます。

  • 対象レベル(A/AA。既定値は WCAG 2.2 AA)
  • ページの範囲(全ページ/代表的なページ/指定された URL)
  • 制限事項(支援技術によるチェックは対象外。動的な動作の確認は Playwright に依存)
  • 出力形式(各達成基準の Pass/Fail/NT/NA)
3. 自動チェック
  • Playwright でページに移動し、アクセシビリティツリーを取得します。
  • references/automated-checks.md を適用します。
  • ブラウザーを操作できない場合は、a11y-audit CLI でチェックを実行します(下記の「自動チェック CLI」を参照)。
  • CLI も実行できない場合は、利用可能なウェブ機能で HTML を取得し、それに応じて判断範囲を限定します。
  • A/AA の網羅性を確保するため、references/coverage-matrix.md を使用します。

ナレッジベース(a11y-knowledge)を使って結果を仕分けます。

  • @a11y-skills/audit 0.14.0 以降の page-snapshot も実行します(--checks を絞り込む場合も含めてください)。判定結果は出しませんが、2.4.1/2.4.2/3.1.1 の確認や複数ページの比較に使用します。
  • checks-axe.md と checks-audit.md のルールに従い、結果を「確定/要レビュー」に仕分けます。適合(Pass)とみなせるのは、そこに記載された axe ルールの合格結果のみです。それ以外の合格結果が示すのは、「そのルールが確認する範囲では問題がない」ことにとどまります。
  • レビューが必要な達成基準については、判断する前に ../a11y-knowledge/references/criteria/<number>.md の「判断基準」と「確認時の留意点」を読みます。「断定しないこと」に該当する内容は NT のままとし、確定に必要な情報を記載します。
  • 複数ページを監査する場合は、まず cross-page.md の共通判断ルールを読みます。
  • references/automated-checks.md と項目が重複する場合は、ナレッジベースのルールを優先します。ナレッジベースは相対パス ../a11y-knowledge/ で参照します(プラグインとしてインストールした場合は解決されます。個々のスキルディレクトリをシンボリックリンクでインストールする場合は、a11y-knowledge もリンクしてください)。
4. インタラクティブチェック
  • Playwright でキーボード操作とフォーカスの動作を確認します。
  • references/interactive-checks.md に従います。
  • 実行が妨げられる場合は、該当する達成基準を NT とします。
5. 手動チェック項目
  • references/manual-checks.md と references/content-checks.md の項目を提示します。
  • 根拠を得られない場合は NT のままとし、項目を明示します。
  • ユーザーから提供された根拠を反映します。
6. レポートの作成
  • references/output-format.md に従います。
  • A/AA のすべての達成基準にステータス(Pass/Fail/NT/NA)を割り当てます。
  • 対象範囲、制限事項、ツール、未解決の項目を要約します。

自動化の対象範囲と制限事項

  • Playwright が提供するのは、計算済みのアクセシビリティツリーのシグナル(ロール/名前/状態)のみです。
  • 自動テストの結果だけでは、監査結果は保証されません。
  • スクリーンリーダーによる検証と、支援技術とブラウザーの互換性テストは対象範囲外です。
  • 推測せず、根拠がない場合は NT を使用してください。

参考ガイド

  • references/automated-checks.md
  • references/interactive-checks.md
  • references/manual-checks.md
  • references/content-checks.md
  • references/output-format.md
  • references/coverage-matrix.md
  • ナレッジベース(../a11y-knowledge/):references/checks-axe.md、references/checks-audit.md、references/cross-page.md、references/criteria/<number>.md

自動チェック CLI

自動チェックは、npm パッケージ @a11y-skills/audit に含まれる a11y-audit CLI を使って実行します(Node 18 以降が必要です。ピア依存関係は npm 7 以降で自動的に取得されます)。

セットアップ(初回のみ):

npx playwright install chromium

すべてのチェックを実行:

npx -y @a11y-skills/audit --url "https://example.com"

特定のチェックを実行:

npx -y @a11y-skills/audit --url "https://example.com" --checks axe-audit,focus-indicator-check,page-snapshot

--checks で絞り込む場合も、page-snapshot(0.14.0 以降)を含めてください。これは 2.4.1/2.4.2/3.1.1 の判定材料であり、複数のページを比較する際にも使います。

注釈付きスクリーンショットを使う場合(focus-indicator):

npx -y @a11y-skills/audit --url "https://example.com" --checks focus-indicator-check --screenshot

出力ディレクトリを指定する場合(デフォルト:./a11y-audit-results):

npx -y @a11y-skills/audit --url "https://example.com" --output-dir ./results

終了コード: 0 = 違反なし/1 = 違反が見つかった/2 = 実行時エラー

チェック名達成基準説明
axe-audit複数axe-core による包括的なチェック
reflow-check1.4.10320px 幅での横スクロール
text-spacing-check1.4.12テキスト間隔の上書きによるクリッピング
zoom-200-check1.4.4200%ズーム時のコンテンツ損失
orientation-check1.3.4画面の向きのロックを検出
autocomplete-audit1.3.5autocomplete の欠落または無効な設定
time-limit-detector2.2.1タイマー/meta refresh を検出
auto-play-detection1.4.2, 2.2.2自動再生コンテンツを検出(視覚的な変化と <audio>/<video> の再生状態。実際に音が聞こえるかどうかは手動で確認する必要があります)
focus-indicator-check2.4.7フォーカスインジケーターの視認性
target-size-check2.5.5, 2.5.8ターゲットサイズの測定
keyboard-trap-check2.1.2キーボードトラップを検出
keyboard-reachability-check2.1.1キーボードでの操作可能性(Tab、矢印キー、activedescendant)
redundant-entry-check3.3.7同じ情報を尋ねる重複フィールド(候補を検出。確認が必要)
motion-actuation-check2.5.4デバイスの動き/向きに反応するリスナー(候補を検出。確認が必要)
change-on-input-check3.2.2フォームコントロールを変更しただけで発生するナビゲーション、新しいウィンドウ、フォーカス移動、ダイアログ(候補を検出。確認が必要)
accessible-authentication-check3.3.8パスワード/コードフィールドでの貼り付けのブロックや autocomplete="off"、CAPTCHA のような要素(候補を検出。確認が必要)
pointer-gesture-check2.5.1, 2.5.7ドラッグ、スワイプ、複数の指で操作する可能性が高いコンポーネント(候補を検出。確認が必要)
focus-order-check2.4.3Tab 順序と視覚的な順序の比較(上への移動、行内での逆方向への移動、迂回)、およびモーダルダイアログの開閉時のフォーカス(候補を検出。確認が必要)
pointer-cancellation-check2.5.2down イベントだけで動作するコンポーネント(ナビゲーション、新しいウィンドウ、ダイアログ、DOM の変更)と、press リスナーのみを持つ要素(候補を検出。確認が必要)
non-text-contrast-check1.4.11入力欄、チェックボックス、ラジオボタン、スイッチの枠線または塗りつぶしと周囲の色とのコントラスト、およびアイコンのみのボタン内のアイコンのコントラスト(3:1 未満、または測定不能。確認が必要)
character-key-shortcut-check2.1.4ページ本体にフォーカスがある状態でキーを1つずつ押したときに、ナビゲーション、新しいウィンドウ、ダイアログ、フォーカス移動、DOM の変更、スクロール、または preventDefault() を引き起こすキー(候補を検出。確認が必要)
content-on-hover-check1.4.13ホバーまたはフォーカスで表示されるコンテンツ(CSS の :hover/:focus ルールとリスナーから検出)のうち、Escape で閉じられないもの、ポインターをその上に移動すると消えるもの、または自動的に消えるもの(候補を検出。確認が必要)。委譲されたリスナーは報告のみ
page-snapshot2.4.1/2.4.2/3.1.1/3.2.3/3.2.4/3.2.6 の判定材料判定は行いません。body の aria スナップショット、タイトル、<html> の lang、URL、各 iframe の aria スナップショットを書き出します(内容を読んで判定してください。複数のページを扱う場合は、ページごとに別の --output-dir を使って比較してください)

詳しいドキュメントについては、@a11y-skills/audit README をご覧ください。

コメント