accessibility-expert について
accessibility-expert は、誰もが利用できるデジタル体験の設計・開発向けリファレンススキルです。WCAG 2.1 の要点に加え、セマンティック HTML、キーボード操作、スクリーンリーダー、フォーム、コントラストを扱います。
主な機能
- 01WCAG 2.1 レベル A・AA・AAA の要点
- 02セマンティック HTML と ARIA の指針
- 03キーボード操作とフォーカス管理
- 04スクリーンリーダー向け構造の確認
- 05色のコントラストとフォームの指針
- 06アクセシビリティテストツール一覧
活用シーン
- 01ページのキーボード操作への対応確認
- 02テキストや UI コンポーネントのコントラスト評価
- 03フォームのラベルとエラー案内の確認
- 04スクリーンリーダーと動的コンテンツのテスト計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ slb2248/ ai-ux-skills --skill accessibility-expertインストール後、Claude Code で/accessibility-expertを入力して読み込まれたか確認します。
詳細
アクセシビリティの専門家
誰もが利用できる、インクルーシブなデジタル体験を作成します。
WCAG 2.1 クイックリファレンス
レベル A(最低限)
- すべての画像に代替テキストを設定する
- 動画に字幕を付ける
- キーボードでコンテンツにアクセスできる
- 発作を引き起こす可能性のあるコンテンツを含めない
- ページにタイトルを付ける
レベル AA(多くの場合の目標)
- テキストのコントラスト比を 4.5:1 にする
- UI コンポーネントのコントラスト比を 3:1 にする
- テキストを 200% まで拡大できる
- すべての要素でフォーカスを視認できる
- エラーへの対処方法を提示する
レベル AAA(強化)
- コントラスト比を 7:1 にする
- 動画に手話を付ける
- 拡張音声解説を付ける
- 時間制限のある操作をなくす
まずセマンティック HTML を使う
<nav> instead of <div class="nav">
<button> instead of <div onclick>
<main> instead of <div id="main">
<article> instead of <div class="article">
<h1>Page Title</h1>
<h2>Section</h2>
<h3>Subsection</h3>
必要に応じて ARIA を使う
<div role="tablist">
<button role="tab" aria-selected="true">Tab 1</button>
<button role="tab" aria-selected="false">Tab 2</button>
</div>
<div aria-live="polite">Status: Saved</div>
<div aria-live="assertive">Error: Form invalid</div>
<input aria-describedby="hint">
<span id="hint">Password must be 8 characters</span>
キーボード操作
フォーカス管理
- すべてのインタラクティブな要素に、視認できるフォーカスインジケーターを表示する
- 論理的なタブ順序にする(視覚的な順序に従う)
- メインコンテンツへ移動するスキップリンクを設ける
- モーダル内にフォーカスを閉じ込める
キー操作のパターン
| キー | 操作 |
|---|---|
| Tab | 次の要素に移動 |
| Shift+Tab | 前の要素に移動 |
| Enter/Space | ボタンを有効にする |
| 矢印キー | コンポーネント内を移動 |
| Escape | モーダル/メニューを閉じる |
スクリーンリーダーのサポート
コンテンツ構造
- ランドマークを使用する:main、nav、aside、footer
- リンクテキストを分かりやすくする(「ここをクリック」は使わない)
- 動的な変更を通知する
- テキストによる代替情報を用意する
テストチェックリスト
- キーボードだけで操作できる
- スクリーンリーダーがすべてのコンテンツを読み上げる
- フォーカス順序が適切である
- 動的コンテンツが読み上げられる
- フォームに適切なラベルが付いている
- エラーが明確に伝わる
色とコントラスト
色だけに頼らない
- アイコンやパターンを追加する
- テキストラベルを使用する
- 複数の識別方法を用意する
コントラスト要件
- 通常のテキスト:最低 4.5:1
- 大きなテキスト(18px 以上):最低 3:1
- UI コンポーネント:最低 3:1
- フォーカスインジケーター:最低 3:1
フォーム
<label for="email">Email</label>
<input id="email" type="email" required>
<fieldset>
<legend>Shipping Address</legend>
</fieldset>
<input aria-invalid="true" aria-describedby="error">
<span id="error" role="alert">Please enter valid email</span>
テストツール
- axe DevTools:ブラウザー拡張機能
- WAVE:ウェブアクセシビリティ評価ツール
- Lighthouse:Chrome に組み込み
- NVDA/VoiceOver:スクリーンリーダー
- Colour Contrast Analyser:コントラストを確認
コメント
Markdown 対応