なぜ、あなたの作ったテーブルは「迷子」になるのか?―`scope`属性でアクセシビリティを極める
HTMLの学習を始めると、避けて通れないのが`
`要素は、まさに「値札」です。この値札がどのデータに対応しているのかを教えてあげるのが`scope`属性の役割です。
1. `scope=”col”`:縦の列のリーダー一番よく使うのがこれです。列(Column)の先頭にある見出しに対して使います。
2. `scope=”row”`:横の行のリーダー行(Row)の先頭にある見出しに対して使います。
— 「迷子にならない」ための、ちょっとした応用編ここまでの基本ができれば十分素晴らしいのですが、もう少し複雑な表になると「グループ」で管理したくなることもありますよね。
これらは、例えば「1日のうちの『午前』と『午後』」のように、大きなカテゴリーの中に小さな項目がある場合に、「この大きな枠組みはここからここまでですよ」と教えてあげるためのものです。 — なぜ、わざわざ面倒なことをするの?「見出しとデータの紐付けなんて、見た目で分かればいいじゃん」と思うかもしれません。でも、Webの世界は多様です。 視覚に障害がある方がスクリーンリーダー(画面読み上げソフト)を使う際、`scope`属性がないと、ソフトは「このデータは何の項目なのか」を判別できず、ただ数字や単語を読み上げるだけになってしまいます。これでは、まるで暗闇の中でクイズに答えているようなものですよね。 `scope`属性を適切に指定してあげることで、スクリーンリーダーは「商品名は、りんご。価格は、100円」というように、文脈を持った情報として伝えてくれるようになります。 — 今日のまとめ:テーブルは「おもてなし」の心HTMLを書くことは、単にブラウザに画面を描画させることではありません。「情報を届ける相手を思いやること」そのものなんです。
まずはこの2つから意識してみましょう!もしコードを書いていて「これ、どの見出しに紐付いているんだっけ?」と迷ったら、その時こそが`scope`属性の出番です。 最初は難しく感じるかもしれませんが、大丈夫。一つひとつのタグに「これは誰のためのものかな?」という視点を持つだけで、あなたの書くコードは驚くほど優しく、誰からも愛されるものに変わります。 ぜひ、あなたの次回のプロジェクトで試してみてくださいね!何か分からないことがあれば、いつでもまた聞きに来てください。応援しています! タイトルとURLをコピーしました
|
|---|

コメント