視覚障碍者を含むすべてのユーザーに優しいWebサイトを作る!aria-label設定のポイント

2024-04-02

aria-label は、以下の要素に使用できます。

  • 画像
  • フォームコントロール
  • ボタン
  • ナビゲーション要素
  • その他、ユーザーに説明が必要な要素

例:

<img src="image.jpg" alt="A picture of a cat" aria-label="A cat sitting on a chair">

この例では、画像に alt 属性と aria-label 属性の両方が設定されています。alt 属性は、画像が表示できない場合に表示されるテキストです。aria-label 属性は、画像の内容をより詳細に説明します。

aria-label の設定時の注意点

  • 簡潔で分かりやすい説明 を記述しましょう。
  • 冗長な情報は避けましょう。 スクリーンリーダーは、aria-label 属性の内容をすべて読み上げるため、長すぎる説明はユーザーにとって負担になります。
  • 技術的な用語は避けましょう。 視覚障碍者を含むすべてのユーザーが理解できる言葉を使用しましょう。
  • 動詞を使用 すると、要素の役割がより明確になります。

aria-label の重要性

  • aria-label は、aria-labelledby 属性と組み合わせて使用することもできます。aria-labelledby 属性は、要素のラベルとなるテキスト要素の ID を指定します。




画像

<img src="image.jpg" alt="A picture of a cat" aria-label="A cat sitting on a chair">

フォームコントロール

<label for="name">名前:</label>
<input type="text" id="name" aria-label="Your name">

この例では、input 要素に aria-label 属性が設定されています。この属性は、スクリーンリーダーに、この入力フィールドがユーザーの名前を入力するためのものだということを伝えます。

ボタン

<button aria-label="Submit">送信</button>

ナビゲーション要素

<a href="index.html" aria-label="Home">ホーム</a>
  • 以下は、aria-label 属性を使用して、さまざまな要素のアクセシビリティを向上させる方法の例です。
要素説明aria-label
<table>表の要約
<tr>表の行行の内容
<td>表のセルセルの内容
<ul>リストリストの種類
<li>リスト項目項目の内容
<div>区分区分の役割
<span>テキストの範囲テキストの内容

サンプルコード を参考に、さまざまな要素に aria-label 属性を設定してみてください。




aria-label 以外の方法

テキストラベルを使用する

最も簡単な方法は、要素の近くにテキストラベルを記述することです。

<img src="image.jpg" alt="A picture of a cat">
<p>A cat sitting on a chair.</p>

この例では、画像の下にテキストラベルを追加することで、画像の内容を視覚障碍者を含むすべてのユーザーに伝えています。

セマンティックなHTMLを使用する

HTML には、さまざまな要素の役割を定義するセマンティックな要素が用意されています。

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Age</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>John Doe</td>
      <td>30</td>
    </tr>
  </tbody>
</table>

この例では、table 要素、thead 要素、tbody 要素、th 要素、td 要素などのセマンティックな要素を使用して、表の構造と内容を明確にしています。

aria-labelledby 属性は、要素のラベルとなるテキスト要素の ID を指定します。

<img src="image.jpg" aria-labelledby="cat-image-label">

<p id="cat-image-label">A cat sitting on a chair.</p>
<button aria-label="Submit" aria-describedby="submit-button-description">

<p id="submit-button-description">This button will submit the form.</p>

aria-label は、要素の目的をユーザーに伝えるための重要な属性ですが、他にもいくつかの方法があります。状況に応じて、最適な方法を選択してください。


html accessibility


CSS div要素で水平スクロールバーのみを表示する方法:overflow-xプロパティを使う

このチュートリアルでは、CSSを使用してdiv要素に水平スクロールバーのみを表示する方法をいくつか紹介します。方法overflow-x プロパティを使用するこれは、水平方向のスクロールバーのみを表示する最も簡単な方法です。overflow プロパティを使用して、水平方向と垂直方向のスクロールバーを個別に制御できます。...


HTML img要素のsrc属性が無効な場合の代替画像挿入方法:完全ガイド

このような場合に備えて、デフォルト画像を設定することで、ユーザーにとってより良い表示を実現することができます。デフォルト画像を設定する方法としては、主に以下の2つの方法があります。最も一般的な方法は、<img> 要素に onerror 属性を設定する方法です。この属性には、画像の読み込みに失敗した場合に実行する JavaScript コードを記述することができます。...


コードを見なくても大丈夫!GithubでHTMLページをプレビューする方法

Githubには、HTMLファイルを直接プレビューできる機能が備わっています。手順GithubでHTMLファイルを開きます。ファイル名の横にある "プレビュー" ボタンをクリックします。利点ダウンロードやブラウザの起動が不要簡易的なプレビューが可能...


【初心者向け】CSSの優先順位をマスターして、思い通りのデザインを実現しよう

優先順位は以下の順番で決定されます。!importantインラインスタイルIDセレクタクラスセレクタ、属性セレクタ、疑似クラスタイプセレクタ例:この例の場合、#example span 要素には、以下のスタイルが適用されます。color: black; (!important で強制的に優先順位を上げている)...


Reactでモバイルとデスクトップを賢く判別!ユーザー体験をワンランクアップさせる方法

window. innerWidth と window. innerHeight プロパティは、ブラウザウィンドウの幅と高さをピクセル単位で返すことができます。これらのプロパティを使用して、デバイスのサイズを大まかに判断することができます。例えば、以下のようなコードを使用できます。...