日期:2013-08-13 浏览次数:21110 次
当浏览器卖主扭曲了标准并且自顾自的不按规则去做一些事,他们可能会形成一些问题,或者至少产生了混淆。例子之一就是一些浏览器处理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属性意在用来替换提交按钮的图片。比如:<input type="image" src="http://edu.cnzz.cn/NewsInfo/image.gif" alt="Submit" />.
使用alt属性是为了给那些不能看到你文档中图像的浏览者提供文字说明。这包括那些使用本来就不支持图像显示或者图像显示被关闭的浏览器的用户,视觉妨碍的用户和使用屏幕阅读器的用户。替换文字是用来替代图像而不是提供额外说明文字的。
在写替换文字前细心想想,保证那些文字确实为那些看不到图像的人提供了说明信息,并且在上下文中有意义。对于那些装饰性的图片可以使用空的值(alt="",引号两头没有空格),而不是使用不相关的替换文字比如“blue bullet”或者“spacer.gif”。不要忽略它,如果你忽略了,那么一些屏幕阅读器会直接阅读图像文件的文件名,那些文字浏览器,比如Lynx会显示图像文件的文件名,而那对于你的浏览者就没什么用了。
包含文字的图像图片设置替换文字是最简单的,图像中包含的文字普通来说就可以作为alt属性值。
至于替换文字的长度,看看WCAG 2.0(网站内容可用性指南2.0)是怎样说的:
我把它理解为“尽可能短,尽需求长”。
即便你想让它显示为提示(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属性有一个很好的用途,即为链接添加描述性文字,特别是当连接本身并不是十分清楚的表达了链接的目的。这样就使得访问者知道那些链接将会带他们到什么地方,他们就不会加载一个可能完全不感兴味的页面。另外一个潜在的使用就是为图像提供额外的说明信息,比如日期或者其他非本质的信息。
title属性值可以比alt属性值设置的更长。不过要留意的是,有些浏览器会截断过长的文字(比如工具提示或其他)。比如Mozilla核心的浏览器只能显示最先的60个字符。这被认为是一个Mozilla bug,这是你要留意的。
使用前先考虑
我的建议是保证替换文字(alt text)精要。在大多数的使用里,都应该被留白,alt=""(留意两引号中没有空格)。 想想那些图像,为那些浏览者提供了什么样的信息,你应该用什么文字去描述它,或者你该为看不到图像的人提供什么信息? 将替换文字写成“照片:站在大楼外的CEO,穿着灰色西装和黑色领带,望着天”对于看不到图像的人真的有协助?如果你觉得是,那么你就写吧。在很多情况下,