Level AWCAG 2.2

4.1.2 名前・役割・値

すべてのUIコンポーネントの名前・役割がプログラムで解釈可能で、状態変化が通知される。


なぜ重要か

スクリーンリーダー
UIコンポーネントの名前・役割・状態が正しく伝わらないと、操作方法も意味も理解できません。
キーボードユーザー
カスタムウィジェットにroleとキーボードサポートがないと、操作自体が不可能になります。
支援技術の互換性
音声認識ソフトはアクセシブルネームでUI要素を指定。名前がないと操作指示ができません。
カスタムコンポーネント
div/spanで独自UIを作る場合、WAI-ARIAで名前・役割・値を明示する必要があります。

ライブデモ

カスタムチェックボックス

操作してみてください

利用規約に同意する
キーボードで操作できません。Tab で移動してみてください。

アクセシビリティツリー表示

generic
├─ generic (div)
│ └─ "✓" (テキストのみ)
└─ "利用規約に同意する"
role なし、state なし、name なし

ペルソナで理解する

山田さん(42歳)— 全盲・スクリーンリーダー使用

ECサイトでカスタムチェックボックスに出会うと、スクリーンリーダーは何も読み上げません。クリック可能なdivとしか認識されず、チェック状態もわかりません。「同意する」のチェックが必要だと気づかず、フォーム送信が何度も失敗しました。

チェックポイント

参考リンク