【入門編】hrタグのaria-hidden属性の適切な使用 – HTML実践ガイド

その「区切り線」、本当に必要? `


`タグをアクセシブルにするための小さな魔法

Webサイトを作っていると、記事のセクションを分けたり、ちょっとしたデザインのアクセントとして「横線」を引きたいときがありますよね。そんなときに活躍するのが `


` タグです。

でも、この `


` タグ、実は「ただの線」として置いているだけだと、スクリーンリーダー(視覚障がいのある方が使う、画面を読み上げるソフト)を使っている人にとっては、少し「お節介な存在」になってしまうことがあるんです。

今日は、そんな「小さなこだわり」が大きな優しさに変わる、`aria-hidden=”true”` という魔法のお話をしましょう。

—

そもそも ` ` って何をしているの?

HTMLの歴史を紐解くと、`


` は「Horizontal Rule(水平な罫線)」の略ですが、現代のHTMLでは単なる「飾りの線」ではなく、「話題の区切り(テーマの転換)」という意味を持っています。

例えば、料理のレシピサイトで「材料」のリストが終わって、次の「作り方」に移るとき。こういう「話の区切り」に使うのは、まさに `


` の本来の使い方です。

つまずきポイント:デザインのための「線」は要注意!

問題は、「なんとなく余白を埋めたいから」「デザイン的にかっこいいから」という理由で入れた線です。

スクリーンリーダーは、`


` を見つけると律儀に「区切り線」と読み上げることがあります。もし、ただの飾りとして入れた線で「区切り線!」と何度も読み上げられたら、ユーザーはどう感じるでしょうか? 読みたい文章が分断されて、なんだか少し、もどかしい気持ちになりますよね。

「見えない存在」にする魔法:aria-hidden=”true”

ここで登場するのが `aria-hidden=”true”` です。
これは、「この要素は視覚的な飾りであって、意味のある情報じゃないから、スクリーンリーダーは無視してね!」とブラウザに伝えるための合図です。

お買い物のレシートで例えると…

想像してみてください。お買い物をしたあとのレシートに、デザインのためのオシャレな「星マーク」が散りばめられているとします。
店員さんがレシートの内容を読み上げてくれるとき、「〇〇円、星マーク! ××円、星マーク!」なんて言われたら、必要な情報が耳に入ってきませんよね。

この「星マーク」を読み飛ばしてもらうための「見えない指示書」が、まさに `aria-hidden=”true”` なんです。

—

実践!コードで見る正しい使い方

では、実際にどう書けばいいのかを見てみましょう。コピー&ペーストして、ご自身の環境で試してみてくださいね。

材料は以上です。


作り方

この使い分けのポイント

  • 「話題が変わる場所」なら、そのまま:

HTMLに意味を伝えることは大切です。その場合は `aria-hidden` は不要です。

  • 「ただの飾り」なら、aria-hidden=”true”:

情報としての意味がないなら、潔く隠してしまいましょう。これがWebアクセシビリティの第一歩です。

—

大丈夫、一歩ずつ進めばOKです!

「HTMLを書くときに、いちいちそんなことを考えなきゃいけないの?」と、少し難しく感じたかもしれません。でも、安心してください。

最初から完璧にできる人なんていません。まずは「この線は、本当に意味があるのかな?」と、一瞬だけ立ち止まって考えてみる。その「誰かに届けるための想像力」こそが、一流のエンジニアへの近道です。

今日からあなたのコードに、少しだけ「優しさ」を添えてみませんか?
そうやって積み重ねた気遣いが、いつか誰かのWeb体験を、最高に心地よいものに変えてくれるはずですよ。

それでは、また次回の記事でお会いしましょう!

コメント

タイトルとURLをコピーしました