近年のWeb開発では、高齢者や視覚障害者を含む全てのユーザーにとって使いやすいUIが求められています。
アクセシビリティ(a11y)対応を怠ると、ユーザー体験の低下だけでなく、法的な問題やSEO評価の低下にもつながることがあります。
この章では、Chrome DevToolsで提供されている機能を使って、アクセシビリティの状態を視覚的に確認し、改善点を発見する方法を紹介します。
11.1 アクセシビリティツリーの確認
アクセシビリティツリーとは?
- ブラウザやスクリーンリーダーが解釈する、DOMとは別の構造化された情報の木構造
aria-label
やrole
などの属性が反映され、ユーザー補助技術にどのように読み上げられるかがわかる
DevToolsでの確認方法:
- 要素を右クリック →「Inspect」で開く
Elements
パネル → 右側のAccessibility
タブを開く(なければ...
→More tools
→Accessibility
)- 該当要素の
Role
、Name
、Properties
がどのように認識されているかを確認
チェックポイント:
button
やlink
に正しくrole
が設定されているかaria-label
やalt
が適切に付与されているか- スクリーンリーダーに意味が伝わる名前 (
Name
) があるか
11.2 スクリーンリーダー対応の検証
スクリーンリーダーとは?
- 視覚に障害を持つユーザーのために、画面上の情報を音声で読み上げる支援技術
- Windowsの「ナレーター」、macOSの「VoiceOver」、またはChrome拡張の「ChromeVox」などが有名
テスト方法の例:
- VoiceOver(mac)またはChromeVoxを有効にして、キーボードナビゲーションで操作
- フォーカス順、読み上げられるテキスト、スキップリンクなどが自然に操作できるか確認
DevToolsとの連携:
- アクセシビリティツリーで
aria-hidden
が付いている要素 → スクリーンリーダーから無視される - 明示的なラベル付けがない →
Unnamed
と表示され、読み上げ内容が曖昧に
💡ヒント:
- 自動テストツール(例:Lighthouse)でもアクセシビリティのスコアを確認可能
tab
キーでのフォーカス移動の追跡は、キーボード操作対応の確認に便利
🧪 実践課題
課題:フォームコンポーネントのアクセシビリティを確認せよ
- 任意のフォームページを開き、
input
やbutton
要素をDevToolsで確認 Accessibility
タブで、Name
やRole
が適切に設定されているかを調査- スクリーンリーダーを有効化し、
Tab
キーだけでフォームを操作できるか確認 - 読み上げ内容が自然で意味が通じるかどうかを確認
📝 まとめ
- アクセシビリティツリーを見ることで、補助技術がどう情報を解釈するかが把握できる
- スクリーンリーダーのテストにより、視覚に頼らない操作性の課題が浮き彫りになる
- アクセシビリティ対応は、UI品質の向上と誰にとっても使いやすい設計の第一歩