セマンティックHTMLとARIAロール:なぜ「なんとなく」でタグを選んではいけないのか
フロントエンドの現場でレビューをしていると、`
`で囲まれた海の中に、申し訳程度に`
`や``が浮かんでいるコードに出くわすことがあります。
` | `banner` (※条件あり) |
| `
「セマンティックなマークアップをしましょう」という教えは、耳にタコができるほど聞かされたはずです。しかし、なぜそれが重要なのか、そしてブラウザが裏側でどうやってスクリーンリーダーに情報を伝えているのか——この「本質的な仕組み」を理解しているエンジニアは意外と少ない。
今日は、セクション要素とARIAランドマークロールの密接な関係について、現場の知見を交えて深掘りしていきましょう。
—
1. ブラウザが裏側でやっていること:アクセシビリティツリーの正体
HTMLタグを記述した瞬間、ブラウザはDOMツリーとは別に「アクセシビリティツリー(Accessibility Tree)」というデータ構造を構築します。
例えば、`
主要な要素とロールの対応関係は以下の通りです。
| HTML要素 | 暗黙的ロール |
| :— | :— |
| `
| `
コメント