本文へ移動
ご相談

代替テキストがない、情報を伝える画像

セールのバナーは告知の文字を画像に描き込んだまま alt がなく、商品の下のお手入れアイコンはすべて「image」と書かれています。

01

問題

スクリーンリーダー利用者が、セールや安全上の注意など、画像が伝える情報を受け取れません。

02

試してみる

画像をオフにして、何が残るか見てください。

下の欄に、スクリーンリーダーの読み上げが出ます。セールの内容と終了日、お手入れの注意は分かりますか?

斑点模様のマグカップ

imageimageimage

スクリーンリーダーの読み上げ:

  1. kiln-sale.jpg、画像
  2. 斑点模様のマグカップ、見出し
  3. image、画像
  4. image、画像
  5. image、画像

再現デモです。「問題あり」は意図的にアクセシブルでない状態にしています。

03

修正方法

情報を伝える画像に代替テキストを用意します。alt に書くか、alt="" にした画像の隣に実際のテキストとして置きます。

  1. 1すべての img に alt を付ける。内容を書くか、隣のテキストが同じ内容を伝えていれば空にする。
  2. 2画像が何かではなく、ここで何を伝えるかを書く。ファイル名、「image」「アイコン」は使わない。
  3. 3画像の中の言葉は alt に書くか、画像から出して実際のテキストにする。
修正前 画像に描き込んだ内容と、役に立たない alt
<section class="banner">  <img src="/images/kiln-sale.jpg"></section> <h1>斑点模様のマグカップ</h1><div class="care">  <img src="/icons/dishwasher.png" alt="image">  <img src="/icons/microwave.png" alt="image">  <img src="/icons/no-oven.png" alt="image"></div>
修正後 Alt に内容を書く
<section class="banner">  <img src="/images/kiln-sale.jpg"    alt="窯出しセール:マグカップ全品30%オフ(日曜まで)。"></section> <h1>斑点模様のマグカップ</h1><div class="care">  <img src="/icons/dishwasher.png" alt="食洗機可">  <img src="/icons/microwave.png" alt="電子レンジ可">  <img src="/icons/no-oven.png" alt="オーブン不可"></div>

04

修正の確認

マウスを使わない4つの確認

確認方法: スクリーンリーダー

4件中0件を確認済み

OS、ブラウザーと支援技術のバージョン、ビルド、実施日、各手順の実際の結果を記録してください。バナー、アイコンのセット、共通の画像コンポーネントを変更した際は、再度確認します。

制限

このサンプルは、どのアプリケーションでも同じ結果になることを保証するものではありません。コード内のパスとクラス名は仮のものです。alt が適切かどうかは画像と文脈によって決まり、その両方を知る人にしか判断できないため、公開前の確認に代替テキストを含めてください。実際に使用する支援技術で、操作全体を確認してください。

よくある問題を再現した学習用のサンプルです。実在のクライアントの診断結果ではありません。コードは出発点となる実装例のため、実際の製品でも確認してください。ここでは支援技術でのテスト結果は報告していません。

コードを更新しても、使いやすさを保つために

ガイドの内容を、コーディングエージェントやCIで使える開発ルールにまとめます。更新後は、キーボードとスクリーンリーダーで再テストし、問題が再発していないか確認します。

再テストの進め方