作者:JunChen 2005-5-23 12:00:35
原文:http://www.456bereastreet.com/archive/200412/the_alt_and_title_attributes/
翻译:JunChen
首发:http://blog.handsbrain.com/junchen/archive/2005/05/21/3355.aspx
版权:本文版权归译者Junchen所有,转载请先联系译者。
当浏览器卖主扭曲了标准并且自顾自的不按规则去做一些事,他们可能会造成一些问题,或者至少产生了混淆。例子之一就是一些浏览器处理alt属性(一般会被错误的称作alt标签)的方式,比如拥有大量用户的Windows的IE浏览器。
替换文字(alt text)并不是用来做提示(tool tip),或者更加确切的说,它并不是为图片提供额外说明信息的。相反地,title属性才应该用来为元素提供额外说明信息。这些信息在大部分图像浏览器里显示为提示(tool tip),虽然制造商可以任意采取其他方式渲染title属性的文字。
很多人看来对这两个属性感到迷惑(最近这个问题在Web Standards Group邮件列表里变多了), 所以我写下我的想法,如何去用它们。
alt属性
为不能显示图像、窗体或applets的用户代理(UA),alt属性用来指定替换文字。替换文字的语言由lang属性指定。
来源:How to specify alternate text.
Alt属性(注意是“属性”而不是“标签”)包括替换说明,对于图像和图像热点是必须的。它只能用在img、area和input元素中(包括applet元素)。对于input元素,alt属性意在用来替换提交按钮的图片。比如:.
使用alt属性是为了给那些不能看到你文档中图像的浏览者提供文字说明。这包括那些使用本来就不支持图像显示或者图像显示被关闭的浏览器的用户,视觉障碍的用户和使用屏幕阅读器的用户。替换文字是用来替代图像而不是提供额外说明文字的。
在写替换文字前仔细想想,保证那些文字确实为那些看不到图像的人提供了说明信息,并且在上下文中有意义。对于那些装饰性的图片可以使用空的值(alt="",引号中间没有空格),而不是使用不相关的替换文字比如“blue bullet”或者“spacer.gif”。不要忽略它,如果你忽略了,那么一些屏幕阅读器会直接阅读图像文件的文件名,那些文字浏览器,比如Lynx会显示图像文件的文件名,而那对于你的浏览者就没什么用了。
包含文字的图像图片设置替换文字是最简单的,图像中包含的文字一般来说就可以作为alt属性值。
至于替换文字的长度,看看WCAG 2.0(网站内容可用性指南2.0)是怎么说的:
Alt属性值得长度必须少于100个英文字符或者用户必须保证替换文字尽可能的短。
我把它理解为“尽可能短,尽需要长”。
即使你想让它显示为提示(tool tip),也不要给文字元素使用alt属性,这并不是它的用法。至今据我所知,那样做仅能在Windows的IE浏览器和古老的Netscape 4.*(windows版本)有效。没有一个Mac的浏览器会将它显示为提示(tool tip)。
当浏览器把替换文字显示为提示(tool tip)后,那些错误使用alt属性的行为也受到了鼓励。一些人开始写无意思的替换文字,因为他们趋向于认为它是一个额外的说明信息,而不是不能显示图像的替换。其他人可能不想让提示(tool tip)出现,然后就完全忽略了写alt属性值。这些错误的做法,都给那些不能看到图像的浏览者造成了困难。
额外的说明信息和非本质的信息请使用title属性。
title属性
title属性为设置该属性的元素提供建议性的信息。
来源: The title attribute.
title属性可以用在除了base,basefont,head,html,meta,param,script和title之外的所有标签。但是并不是必须的。可能这正是为什么很多人不明白何时使用它。
使用title属性提供非本质的额外信息。大部分的可视化浏览器在鼠标悬浮在特定元素上时显示title文字为提示信息(tool tip),然而这又由制造商来决定如何渲染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 テクニックの草稿では、説明リンクは「非推奨」になっています。
画像の長い説明が閲覧者にとって役立つ場合は、他のページにリンクしたり非表示にしたりするのではなく、単に同じドキュメント内に画像を表示することを検討する必要があります。だから誰でも読むことができます。これはシンプルでローテクなアプローチです。
詳細情報
alt、title、longdesc 属性について詳しく知りたいですか?ここを見てください:
img 要素の alt テキストに関するガイドライン
適切な ALT テキストの書き方
アクセシブルな代替案
アクセシビリティ脚注
画像の問題
タイトル属性 – あなたの意見
ユーザーを助けるためのリンク タイトルの使用どこへ行くのかを予測する
代替テキストの指定方法
タイトル属性