HTML imgタグ:タイトル属性と代替属性?


110

Amazonを閲覧していて、「1TB」を検索するときに、星の評価画像の上にマウスカーソルを置くと、IEを使用している場合にのみスコアが表示されることに気付きました。別のブラウザを使用している場合、スコアは表示されません。

評価3.8と4.2の両方が4つ星で表示されます。もちろん、3.8スターvs 4.2スター(スコア76%対84%)は違いを生む可能性があります!

これは、altテキストを表示する標準的な方法は、ユーザーがグラフィックスをオフにするか、ブラウザーが "読み上げられる"場合(たとえば、視覚障害のあるユーザー向けのブラウザー)であるためです。ただし、IEはホバー時にそれを示します。

したがって、Amazonがユーザーのブラウザーに関係なく表示する場合はtitle、に加えて使用する必要があると思いますalt。同意しますか?

回答:


64

私は両方に行きます。タイトルはすべてのブラウザで素晴らしいツールチップを表示し、altは画像のないブラウザでブラウジングするときに説明を提供します。

とは言っても、実際に商品を閲覧するために「店」に行って実際に画像がオフになっているか、画像をサポートしていないブラウザーを使用している「サーファー」の数の統計を見たいと思います。人口の90%が28kモデムを使用してInterWebに接続する時代はもう終わりだと思います。


54
altを使用することは、帯域幅の理由で画像が抑制されたときに何かを表示することだけではありません。たとえば視覚障害者向けに設計された一部のブラウザーは、altを広範囲に使用します。
AnthonyWJones、2009年

8
...しかし、画像が読み込まれない場合があります。視覚障害者向けの非視覚的なブラウザもあります。Safariの音声機能がページを読み、画像のalt属性を含みます。検索エンジン最適化; 100%画像表示を想定しないことには、多くの正当な理由があります。
jwl 2009年

2
@ Anthony、ferocious-同意した。さまざまなhmmmの「エッジケース」があり、altの提供が非常に役立つ(そして私はそれをドロップすることをお勧めしません)-ただし、ツールチップの形式でユーザーに提供する「意味のある情報」がある場合、最も確実にタイトル属性-それがそこにあるためです。私は上記の「エッジケース」と言うとき、私は、JAWSまたは類似してアクセスしているユーザーの合計%がその他のFirefox、クローム、IE、オペラ、サファリ、Konquerorのに比べて極めて低いことを信じています
scunliffe

ALTタグはSEO対応です。タイトルと同じように配置する必要があります。
HelpNeeder 2015年

身体に障害があり、スクリーンリーダーが必要な場合は、「エッジケース」と呼ばれても喜ばないと思います。
Matt Fletcher

164

彼らは別のものに使用されます。alt属性が使用されている代わりに、画像の。画像が表示されない場合、およびスクリーンリーダーで表示される場合。

title属性が示されているに沿って一般的にホバリングツールチップとして、画像を有します。

一方を他方の「代わりに」使用しないでください。それぞれを適切に使用し、設計されていることを実行する必要があります。


2
また、HTML5のalt属性は必須なので注意してください。国によっては、国家機関向けのプロジェクトを実施している場合でも、それを使用しないことは違法です。一方、jalfが述べたタイトルは単なる「デザイン」のものです。
jave.web 2013

2
そして私は信じられません-スクリーンリーダーは画像の代わりにaltを読むことを知っています。
jave.web 2013

4
@ jave.web HTML5仕様は、alt属性w3.org/html/wg/drafts/html/master/について多くのことを示唆および示していますが、「必須」であるとは言えません。具体的には、画像が純粋に装飾である場合、alt属性値は実際にはまったく期待されません。
scunliffe 2014

1
@scunliffeがHTML5でalt属性を使用しないことは、HTML5が無効であることを意味します。画像が純粋に装飾の場合- <img>タグとして適用しないでください-代わりにCSSスタイルのdivを使用してください;)
jave.web

5
@ jave.webあなたは仕様よりももっと仕様を読んでいます。alt属性を含めることを強くお勧めしますが、例外はw3.org/html/wg/drafts/html/master/…で、alt属性を必須とする厳密な強制はありません。仕様のどこにも「必須」または「必須」であることを示していません。-実際には、alt属性が指定されていないか、意図的に空白にされているケースがいくつかリストされています。
scunliffe 2014

10

すでに述べたように、alttitleは別のものです。一方で、タイトル属性がツールヒントを提供します、ALTは、それは画像が表示できない場合に表示されるテキストを指定するので、また重要な属性です。(Firefoxなどの一部のブラウザでは、画像の読み込み中にこのテキストも表示されます)

もう1つ注意すべき点は、alt属性はXHTMLドキュメントとして検証するために必要ですが、title属性は単なる「追加オプション」です。


7

それは、それらが異なる目的を果たしており、両方を一方だけでなく両方で使用する必要があるためです。

「alt」はあなたがすでに言ったもののためのものです。そのため、画像が表示されない場合(なんらかの理由で)それがすべての画像であることを確認でき、視覚障害者が画像について理解することもできます。

「title」属性は、画像のタイトルとともにツールチップを表示するための正しい属性です。


6

私の意見では、画像が表示されない場合のために、代替テキストは常に画像に表示されるものを説明する必要があります。

alt = text [CS]画像、フォーム、またはアプレットを表示できないユーザーエージェントの場合、この属性は代替テキストを指定します。代替テキストの言語は、lang属性で指定されます。

w3.org


3

XHTMLに厳密に準拠するには、altが必要だと思います。

他の人が指摘したように、タイトルはツールチップ(あると便利)であり、代替はアクセシビリティです。両方を使用しても問題はありませんが、altは常に存在する必要があります。


1

ALT属性は、スクリーンリーダーを使用する視覚障害者向けです。ALTが画像タグにない場合、画像のURL全体が読み取られます。画像がサイトのデザインの一部である場合は、ALTを含める必要がありますが、空のままにして、サイトのすべての部分でURLを読み取る必要がないようにすることができます。


1

ALT属性

alt属性は(つまり、タグのセットで定義されimgarea必要に応じてのためにinputapplet)あなたがオブジェクトの等価テキストを提供できるようにします。

同等のテキストは、次の一般的な状況でWebサイトとその訪問者に次の利点をもたらします。

  • 現在、Webブラウザーは、非常にさまざまな機能を持つ非常にさまざまなプラットフォームで使用できます。画像をまったく表示できない、または限られた種類の画像のみを表示できないものもあります。画像を読み込まないように設定できるものもあります。コードの画像にalt属性が設定されている場合、これらのブラウザーのほとんどは、画像の代わりに指定した説明を表示します
  • 一部のビジターは、視覚障害者、色覚障害者、視力障害者など、画像を見ることができません。alt属性は、ページの内容を把握するためにこれを利用できる人々にとって非常に役立ちます。
  • 検索エンジンボットは上記の2つのカテゴリに属します。Webサイトのインデックスを作成するだけでなく、それにも値する場合は、alt属性を使用して、ページの重要なセクションを見逃さないようにします。

タイトル属性

この手法の目的は、title属性にヘルプ情報を提供することにより、ユーザーがフォームにデータを入力するときに状況依存のヘルプを提供することです。ヘルプには、フォーマット情報または入力の例が含まれる場合があります。

例1:検索
の範囲を制限するプルダウンメニュー検索フォームは、プルダウンメニューを使用して検索の範囲を制限します。プルダウンメニューは、検索語の入力に使用するテキストフィールドのすぐ隣にあります。検索フィールドとプルダウンメニューの関係は、視覚的なデザインを見ることができ、ラベルを表示するスペースがないユーザーには明らかです。このtitle属性は、selectメニューを識別するために使用されます。このtitle属性は、スクリーンリーダーで読み上げたり、画面拡大鏡を使用するユーザー向けのツールヒントとして表示したりできます。

<label for="searchTerm">Search for:</label>
<input id="searchTerm" type="text" size="30" value="" name="searchTerm">
<select title="Search in" id="scope">
    ...
</select> 

例2:電話番号の入力フィールド
Webページには、米国の電話番号を入力するためのコントロールが含まれており、市外局番、交換、および最後の4桁の3つのフィールドがあります。

<fieldset>
    <legend>Phone number</legend>
    <input id="areaCode" name="areaCode" title="Area Code" type="text" size="3" value="" >
    <input id="exchange" name="exchange" title="First three digits of phone number" type="text" size="3" value="" >
    <input id="lastDigits" name="lastDigits" title="Last four digits of phone number" type="text" size="4" value="" >
</fieldset> 

例3:検索機能 Webページには、ユーザーが検索語を入力できるテキストフィールドと、検索を実行するための「検索」というラベルの付いたボタンが含まれています。このtitle属性はフォームコントロールを識別するために使用され、ボタンはテキストフィールドの直後に配置されるため、テキストフィールドが検索用語を入力する場所であることがユーザーに明確になります。

<input type="text" title="Type search term here"/> <input type="submit" value="Search"/>

例4:フォームコントロール
のデータテーブルフォームコントロールのデータテーブルは、各コントロールをそのセルの列ヘッダーと行ヘッダーに関連付ける必要があります。タイトル(または画面外のLABEL)がないと、フォームをタブで移動しているときに、支援技術を使用して、非ビジュアルユーザーが対応する行/列ヘッダー値を一時停止して問い合わせることは困難です。

たとえば、調査フォームの最初の行には、質問、同意する、未定、同意しないの4つの列ヘッダーがあります。次の各行には、3つの列の回答の選択に対応する各セルの質問とラジオボタンが含まれています。すべてのラジオボタンのタイトル属性は、ハイフンまたはコロンを区切り文字として使用した、回答の選択肢(列ヘッダー)と質問のテキスト(行ヘッダー)の連結です。

Img要素

MDNで言及されている許可された属性。

  • alt
  • crossorigin
  • decoding
  • height
  • importance (実験用API)
  • intrinsicsize (実験用API)
  • ismap
  • referrerpolicy (実験用API)
  • src
  • srcset
  • width
  • usemap

ご覧のとおり、要素title内では属性を使用できませんimg。私はalt属性を使用し、必要に応じて属性の:hover代わりにCSS(例:擬似クラス)を使用しtitleます。


0

いいえ、altその属性の目的は、画像が表示されない場合(画像がないか、ブラウザ自体に表示できない場合でも)に「代替」テキストを提供することであるため、より良いと思います。


1
星が3.8であるか4.2であるかは気にしないと思いますか?
非極性09年

0

ASP.NET MVCのMVCFuturesは、両方を行うことを決定しました。実際、「alt」を指定すると、同じ値の「タイトル」が自動的に作成されます。

手元にソースコードはありませんが、グーグル検索でテストケースが見つかりました!

    [TestMethod]
    public void ImageWithAltValueInObjectDictionaryRendersImageWithAltAndTitleTag() {
        HtmlHelper html = TestHelper.GetHtmlHelper(new ViewDataDictionary());
        string imageResult = html.Image("/system/web/mvc.jpg", new { alt = "this is an alt value" });
        Assert.AreEqual("<img alt=\"this is an alt value\" src=\"/system/web/mvc.jpg\" title=\"this is an alt value\" />", imageResult);
    }

したがって、IE7以下と同様に動作しますが、これは悪い動作と見なされます。robertnyman.com/2009/05/07/…–
ロビン

0

img要素にはtitle属性を使用しないでください。これの背後にある推論は非常に簡単です:

おそらくキャプション情報は、デフォルトですべてのユーザーが利用できる重要な情報です。その場合は、このコンテンツを画像の横にテキストとして表示します。

出典: http : //blog.paciellogroup.com/2010/11/using-the-html-title-attribute/

HTML 5.1には、title属性の使用に関する一般的なアドバイスが含まれています。

タイトル属性に依存することは、現在のところ推奨されていません。多くのユーザーエージェントは、この仕様で必要とされるアクセス可能な方法で属性を公開しないためです(たとえば、マウスなどのポインティングデバイスにツールチップを表示させる必要があるため、キーボードのみのユーザーと現代の携帯電話やタブレットを持っている人など、タッチのみのユーザー)。

出典: http : //www.w3.org/html/wg/drafts/html/master/dom.html#the-title-attribute

アクセシビリティとさまざまなスクリーンリーダーについて:

  • Jaws 10-11:デフォルトでオフ
  • Window-Eyes 7.02:デフォルトでオン
  • NVDA:サポートされていません(サポートオプションなし)
  • VoiceOver:サポートされていません(サポートオプションなし)

したがって、Denis Boudreauが適切に表現したとおり、明らかに推奨される方法ではありません

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.