【入門編】インライン要素のアクセシビリティとARIA属性 – HTML実践ガイド

こんにちは!フロントエンドの現場で日々コードと格闘しているエンジニアです。

HTMLを書き始めたとき、誰もが一度はこう思うはずです。「`

`や``を並べれば見た目はなんとかなるのに、なぜわざわざARIA(エリア)なんていう難しいものを付けなきゃいけないの?」と。

実は、Webサイトを作ることは「家を建てること」に似ています。見た目だけきれいな家を建てても、玄関の場所がわからなかったり、階段が急すぎて登れなかったりしたら、困る人がいますよね。

今日は、そんな「Webという家」を誰にとっても使いやすくするための、インライン要素のアクセシビリティについて、肩の力を抜いてお話しします。

インライン要素は「看板」や「タグ」だと考えてみて

HTMLのインライン要素、例えば `` や `` は、文章の中にちょこんと置かれる「タグ」のようなものです。

これらは見た目には分かりやすいですが、目が見えない方や、支援技術(スクリーンリーダー)を使ってWebを見ている方には、その「看板」が何なのか、あるいは何のための箱なのかが伝わらないことがあります。

そこで登場するのが、ARIA属性です。これは、HTMLという建物に「ここはトイレですよ」「ここは出口ですよ」と点字や音声で情報を補足してあげる魔法のラベルのようなものなんです。

1. `` タグが「何者か」を教える:aria-labelの魔法

例えば、アイコンだけのボタンを作るとき、よくやってしまいがちなのがこれです。




これでは、画面を見ている人には「設定(歯車マーク)」だとわかっても、音声で聞いている人には「リンクがあること」しか伝わりません。「何のためのリンク?」と迷子になってしまいますよね。

そんな時は、`aria-label`を使って、そっと耳元で教えてあげましょう。




これだけで、ユーザーは「あ、ここを押せば設定画面に行けるんだ」と安心してクリックできます。お買い物のレジで「こちらが精算ボタンです」と店員さんが声をかけてくれるような、そんな優しさですね。

2. `` を「ボタン」にしたいときの注意点

たまに、CSSで``を頑張ってボタンっぽく装飾して、JavaScriptでクリックイベントを付けてしまうことがあります。でも、これは実は「アクセシビリティの落とし穴」なんです。

なぜなら、HTMLのルール上、``は「ただの文字」であり「ボタン」ではないからです。

もしどうしても``をボタンとして使いたいなら、ARIAロールで「これはボタンですよ!」と明示してあげる必要があります。



詳細を見る

でも、ちょっと待ってください。
一番の解決策は、``を無理にボタンにするのではなく、`

コメント

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