• 原文: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属性意在用来替换提交按钮的图片。比如:<input type="image" src="data:image.gif" alt="Submit" />.

使用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属性有一个很好的用途,即为链接添加描述性文字,特别是当连接本身并不是十分清楚的表达了链接的目的。这样就使得访问者知道那些链接将会带他们到什么地方,他们就不会加载一个可能完全不感兴趣的页面。另外一个潜在的应用就是为图像提供额外的说明信息,比如日期或者其他非本质的信息。

title属性值可以比alt属性值设置的更长。不过要注意的是,有些浏览器会截断过长的文字(比如工具提示或其他)。比如Mozilla核心的浏览器只能显示最先的60个字符。这被认为是一个Mozilla bug,这是你要注意的。

使用前先考虑

我的建议是保证替换文字(alt text)精要。在大多数的应用里,都应该被留白,alt=""(注意两引号中没有空格)。 想想那些图像,为那些浏览者提供了什么样的信息,你应该用什么文字去描述它,或者你该为看不到图像的人提供什么信息? 将替换文字写成“照片:站在大楼外的CEO,穿着灰色西装和黑色领带,望着天”对于看不到图像的人真的有帮助?如果你觉得是,那么你就写吧。在很多情况下,我觉得让替换文字留白比较好。

对于title属性,比较难于给出严格的使用说明。我大部分用在那些不能自我释意的链接上,比如同一页面上的相同的链接文字,不同的链接页面。有时候也为一些按钮或者表单元素提供更多的说明文字。

更长的描述

当一个图片需要更加长的描述,而超过alt属性的限制,那么还有一些选择。

longdesc属性可以用来提供链接到一个包含图片文字描述的单独页面。这就意味着把浏览者链接到另外的页面,这可能会造成理解上的困难。另外浏览器对于longdesc属性的支持也是不一致的,并且不是非常好。

longdesc属性可以包含一个链接到当前文档的其他部分(锚点)来取代链接到另外的页面。在Accessibility footnotes, Andy Clarke很好的解释说明了如何应用。

描述链接(D links)可以用来补充longdesc。一个描述链接就是一个常规的链接,连接到含有替换文字的页面。该链接被置于图像的旁边,并且在所有浏览器中都是可是的。对于它的有效性人们有很多不同意见,我的个人意见不大喜欢这个注意。WCAG也是,在他们的工作草案HTML Techniques for WCAG 2.0中,描述链接是被“不赞成”的。

如果对图片的长的描述对于任何浏览者都有用,那么你得考虑让它简单的显示在同一个文档里面,而不是链接到其他页面里或者藏起来。这样每个人都可以阅读到。这是一种简单低技术含量的方法。

更多信息

想了解更多关于alt,title和longdesc属性?看这里:

  • Guidelines on alt texts in img elements
  • Writing good ALT text
  • Accessible alternatives
  • Accessibility footnotes
  • The image problem
  • Title Attribute – Your Take
  • Using link Titles to Help Users Predict Where They Are Going
  • How to specify alternate text
  • The title attribute

Alt属性和Title属性相关推荐

  1. 【CSS】CSS中alt属性和title属性用法

    你对CSS中的alt属性和title属性的使用是否熟悉,这里和大家分享一下两者的使用,CSS中alt属性只能用在img.area和input元素中(包括applet元素),对于input元素,alt属 ...

  2. HTML语言中img标签的alt属性和title属性的作用与区别

    alt属性是在你的图片因为某种原因不能加载时在页面显示的提示信息,它会直接输出在原本加载图片的地方,而title属性是在你鼠标悬停在该图片上时显示一个小提示,鼠标离开就没有了,有点类似jQuery的h ...

  3. html免费编辑器图片alt,织梦模板kindeditor编辑器图片上传增加图片说明alt属性和title属性...

    织梦kindeditor编辑器图片上传增加图片说明alt属性和title属性效果图: 1.在织梦/include/kindeditor/kindeditor-all.js 或者 /kindeditor ...

  4. <img>标签中alt属性和title属性的区别

    alt属性的特点: ①倘若图片加载不成功未能显示出来,就会在图片未显示的地方出现一段文字.这一作用是为了给未加载出来的图片提供信息,方便用户浏览网页,同时也方便开发人员维护网页. ②搜索引擎可以通过这 ...

  5. html中如何在标题中加样式,html title属性 样式

    css 中title属性怎样设置文本样式?如加颜色.设置 打开开发工具,新建一个HTML文件. 使用font-family属性设置,字体代码:.demo1{font-family: "mic ...

  6. 中 自动展示链接的内容_织梦DEDECMS文章内容中的图片自动添加ALT和title属性方法...

    今天下载我资源网(www.xiazaiwo.net)要说的是织梦DEDECMS文章内容中的图片自动添加ALT和title属性,如果觉得不错,请分享给大家,也给大家做个参考.一起跟随小编过来看看吧! 织 ...

  7. img标签中alt和title属性的正确使用

    在的img标签有两个属性分别为alt和title,对于很多初学者而言对这两个属性的正确使用都还抱有迷惑,当然这其中一部分原因也是ie浏览器所导致的.正确的使用这两个属性除了可以提高图片的搜索能力外,在 ...

  8. php 给富文本里的图片增加ALT、TITLE属性

    php 给富文本里的图片增加ALT.TITLE属性 $text = '内容<img src="http://www.test.com/test1.jpg">内容'; $ ...

  9. <img>标签上title属性与alt属性的区别

    alt属性是为了给那些不能看到你文档中图像的浏览者提供文字说明的.且长度必须少于100个英文字符或者用户必须保证替换文字尽可能的短, 下·不支持图像显示或者图像显示被关闭的浏览器的用户,视觉障碍的用户 ...

  10. 标签上的 title属性与 alt属性的区别

    1.含义不同 alt是当图片不存在时的替代文字;title是对图片的描述与进一步说明 2.在浏览器中的表现不同 在firefox(火狐浏览器)和ie8中,当鼠标经过图片时title值会显示,而alt的 ...

最新文章

  1. docker mysql开发环境_Docker 构建PHP+Apache+MySQL 开发环境
  2. Self-Tuning Spectral Clustering论文阅读和代码理解
  3. 沃尔玛建立自家的人工智能网络,抗衡竞争对手亚马逊
  4. A problem while linking c++ to python
  5. [css] 你有使用过css的writing-mode属性吗?说说它有哪些应用场景?
  6. 自定义控件之瀑布流与水波纹实现
  7. 南华桌面计算机,南华大学计算机应用基础试题题.doc
  8. Real Vision CEO预测以太坊币价将在今年年初达到2万美元
  9. Motion and Optical Flow
  10. html教图片程,html教的程大全.pdf
  11. 一行 Python 代码,20款经典小游戏
  12. 网页加速优化简单总结
  13. ps水彩效果教程-庞姿姿
  14. 如何制作关于pos.txt序列的文件
  15. 全栈工程师是什么,为什么需要全栈工程师?
  16. pp影视播放器官方版
  17. TiDB数据库架构概述
  18. react-router嵌套路由页面无法显示
  19. vue 服务器代码更新 浏览器页面不更新
  20. edup无线网卡驱动安装linux,EDUP EP-N8513 (RTL8188CUS芯片)在Ubuntu 12.10下的wifi不能连接问题解决方法...

热门文章

  1. UWB定位系统场景的分析
  2. 转发:一个总经理的11个经典面试问题
  3. AntDesign前端分页
  4. cad插入块_CAD中的块,用得好,画图快人一步!
  5. 线面图标设计样式解析
  6. 微信公众平台开发网页开发
  7. 【CSS】学习iview的icon样式+font字体
  8. 你可能知道“道哥”,但你一定不知道“道哥”...
  9. 深度学习语音降噪方法对比_一种语音降噪方法与流程
  10. matlab矩形频谱图,如何用matlab画出周期矩形脉冲信号及频谱图?