ブラウザ ベンダーが標準を曲げてルールに従わないことを行うと、問題が発生するか、少なくとも混乱が生じる可能性があります。一例として、多数のユーザーがいる Windows 版 Internet Explorer など、一部のブラウザーでの alt 属性 (誤って alt タグと呼ばれることが多い) の処理方法があります。
代替テキスト (代替テキスト) はツールチップとしては使用されません。より正確には、画像に関する追加の説明情報を提供しません。代わりに、要素の追加の説明情報を提供するために title 属性を使用する必要があります。この情報はほとんどの画像ブラウザでツールチップとして表示されますが、メーカーは他の方法でタイトル属性テキストを自由にレンダリングできます。
多くの人がこれら 2 つのプロパティに混乱しているようです (この質問は最近 Web Standards Group メーリング リストに頻繁に上がっています)。そのため、これらの使用方法について私の考えを書き留めておきました。
alt属性
画像、フォーム、またはアプレットを表示できないユーザー エージェント (UA) の場合、代替テキストを指定するために alt 属性が使用されます。置換テキストの言語は、lang 属性によって指定されます。
出典: 代替テキストの指定方法。
Alt 属性 (「ラベル」ではなく「属性」であることに注意) には、画像と画像ホットスポットに必要な置換命令が含まれています。 img、area、input 要素(アプレット要素を含む)でのみ使用できます。 input 要素の場合、alt 属性は送信ボタンの画像を置き換えることを目的としています。例: <input type="image" src="image.gif" alt="送信" />。
alt 属性を使用して、ドキュメント内の画像を表示できない閲覧者にテキストの説明を提供します。これには、画像表示をネイティブにサポートしていないブラウザを使用しているユーザー、または画像表示がオフになっているユーザー、視覚障害のあるユーザー、スクリーン リーダーを使用しているユーザーが含まれます。代替テキストは、追加の説明テキストを提供するのではなく、画像を置き換えるために使用されます。
代替テキストを作成する前に、画像が見えない人に実際に情報を提供するものであるか、文脈の中で意味をなすものであるかをよく考えてください。装飾的な画像の場合は、「青い箇条書き」や「spacer.gif」などの無関係な置換テキストの代わりに、空の値 (alt=""、引用符の間にスペースは入れない) を使用してください。これを無視しないでください。無視すると、一部のスクリーン リーダーは画像ファイル名を直接読み取ったり、Lynx などのテキスト ブラウザーは画像ファイル名を表示したりするため、閲覧者にとってはあまり役に立たなくなります。
一般に、テキストを含む画像に代替テキストを設定するのは、画像に含まれるテキストを alt 属性値として使用するのが最も簡単です。
alt テキストの長さについては、WCAG 2.0 (Web サイト コンテンツ可用性ガイドライン 2.0) の意見を参照してください。
Alt 属性値の長さは英語の 100 文字未満である必要があります。そうでない場合は、ユーザーが置換テキストをできるだけ短くする必要があります。
「できるだけ短く、必要なだけ長く」と理解しています。
ツールチップとして表示したい場合でも、テキスト要素に alt 属性を使用しないでください。これは本来の用途ではありません。私の知る限り、これは Windows の IE ブラウザと古い Netscape 4.* (Windows バージョン) でのみ機能します。これをツールチップとして表示する Mac ブラウザはありません。
ブラウザが代替テキストをツールチップとして表示する場合、alt 属性の誤用が推奨されます。画像を表示できない代替テキストではなく、追加の説明情報と考える傾向があるため、意味のない代替テキストを書き始める人もいます。ツールチップを表示したくない場合は、alt 属性値を完全に無視する場合もあります。これらの間違った行為は、画像を見ることができない視聴者にとって困難を引き起こします。
追加の説明情報や必須ではない情報については、title 属性を使用してください。
タイトル属性
title 属性は、それが設定されている要素に関するアドバイス情報を提供します。
ソース: title 属性。
title 属性は、base、basefont、head、html、meta、param、script、title を除くすべてのタグで使用できます。しかし、それは必要ありません。おそらくそれが、いつ使用するかを理解していない人が多い理由です。
必須ではない追加情報を提供するには、title 属性を使用します。ほとんどのビジュアル ブラウザでは、マウスを特定の要素の上に置くとツール ヒントとしてタイトル テキストが表示されますが、タイトル テキストをどのように表示するかは製造元が決定します。一部のブラウザでは、ステータス バーにタイトル テキストが表示されます。たとえば、Safari ブラウザの初期バージョンなどです。
title 属性の有効な使用法は、特にリンク自体がリンクの目的を明確に伝えていない場合に、リンクに説明テキストを追加することです。こうすることで、訪問者はリンクの行き先を知ることができ、まったく興味のないページを読み込むことがなくなります。もう 1 つの潜在的な用途は、日付やその他の重要ではない情報など、画像に追加の説明情報を提供することです。
title 属性値は alt 属性値よりも長く設定できます。ただし、一部のブラウザでは長すぎるテキスト (ツールヒントなど) が切り捨てられることに注意してください。たとえば、Mozilla のコア ブラウザは最初の 60 文字しか表示できません。これは Mozilla のバグと考えられているため、注意する必要があります。
使用する前に考えてください
私のアドバイスは、代替テキストの本質を保つことです。ほとんどのアプリケーションでは、空白のままにしておく必要があります (alt="") (引用符の間にスペースがないことに注意してください)。 それらの画像について考えてください。画像を見ている人にどのような情報を提供するのか、それを説明するためにどのような言葉を使用する必要があるのか、または画像を見ることができない人にどのような情報を提供する必要があるのかを考えてください。 画像が見えない人が代替テキストを「写真: 建物の外に立って、グレーのスーツと黒のネクタイを着て、空を見ている CEO」と書くことが本当に役立つでしょうか?そう思うなら書いてください。多くの場合、置換テキストは空白のままにした方がよいと思います。
title 属性については、厳密な使用方法を指示することが困難です。私は主に、同じページ上に同じリンク テキストがあり、別のリンク先ページにあるなど、一目瞭然ではないリンクでこれを使用します。一部のボタンまたはフォーム要素には、より説明的なテキストが提供される場合があります。
長い説明
画像に alt 属性の制限を超える長い説明が必要な場合、いくつかのオプションがあります。
longdesc 属性を使用すると、画像のテキスト説明を含む別のページへのリンクを提供できます。これは閲覧者を別のページにリンクすることを意味し、理解が困難になる可能性があります。さらに、longdesc 属性に対するブラウザーのサポートには一貫性がなく、あまり優れていません。
longdesc 属性には、別のページへのリンクの代わりに、現在のドキュメントの別の部分へのリンク (アンカー) を含めることができます。アクセシビリティの脚注では、Andy Clarke がその適用方法についてわかりやすく説明しています。
説明リンク (D リンク) は、longdesc を補足するために使用できます。説明リンクは、代替テキストを含むページへの通常のリンクです。リンクは画像の横に配置され、すべてのブラウザで利用できます。その有効性についてはさまざまな意見があり、個人的にはこのメモは好きではありません。 WCAG も、WCAG 2.0 の HTML テクニックの草稿では、説明リンクは「非推奨」になっています。
画像の長い説明が閲覧者にとって役立つ場合は、他のページにリンクしたり非表示にしたりするのではなく、単に同じドキュメント内に画像を表示することを検討するとよいでしょう。だから誰でも読むことができます。これはシンプルでローテクなアプローチです。