11

正确使用HTML title属性

 3 years ago
source link: https://yanhaijing.com/html/2014/03/26/using-the-html-title-attribute/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

如果你想对使用手机,平板电脑和辅助技术的用户隐藏某些内容,而只对键盘用户显示,那么请使用title属性。

HTML的title属性本身有问题。之所以有问题是因为它在一些重要的方面表现的不够好,尽管它陪伴我们超过14年了。随着触摸设备的兴起,这个属性的作用进一步降低。title属性的可访问性变得很鸡肋,由于缺少浏览器的支持,屏幕阅读器的支持和制作人员的重视。

下列情况下title属性由于缺乏支持变得多余:

  • 对于在手机浏览器里访问web内容信息的人。通常title属性的内容在桌面浏览器里显示为提示信息。据我所知,没有任何手机浏览器支持显示提示信息,并且也没有其他访问title属性内容的视觉方法。
  • 对于那些无法使用鼠标的人提供信息。通常title属性的内容在桌面浏览器里显示为提示信息。虽然提示信息的行为已经有10多年历史,但一直没有浏览器实现使用键盘显示title属性的方法。
  • 对于在大多数HTML元素上使用它为使用各种辅助技术的人提供信息。据我所知屏幕阅读器对访问title属性信息一致不支持。

title属性不友好用户如下

  • 仅使用键盘的用户
  • 使用屏幕放大器的用户
  • 屏幕阅读器用户
  • 精细运动技能障碍的用户
  • 认知障碍的用户

title属性有用的例子:

  • 为frame或iframe元素贴上标签:
    • <frame title="navigation">
  • 提供需要程序才能实现的在特殊情况下才显示的标签,直接使用可见的文本标签会显得多余:
  • 为不能作为文本的链接或周围内容添加额外信息:
    • <a href="newsletter.PDF" title="PDF file, size 1 mb.">newsletter</a>
    • 相反这样的信息应该作为链接文本的部分或在链接的旁边。
  • 提供和链接文本相同的信息:
    • <a href="newsletter.PDF" title="newsletter">newsletter</a>
    • 建议不要复制链接内容作为title属性。这其实相当于什么都没做。
  • 用于图像的标题:
    • <img src="castle1858.jpeg" title="Oil-based paint on canvas. Maria Towle, 1858." alt="The castle now has two towers and two walls.">
    • 大概标题信息是最重要的信息,应该能被所有用户默认访问。如果是这样,那么这个内容应该紧挨着图片。
  • 用来代替表单的标签,去掉可见的文本标签:
    • <input type="text" title="name">
    • 屏幕阅读器的用户将会访问表单元素的标签,由于title属性被列入可访问性api内的属性名称(当文本标签使用标签元素时是不被支持的)。许多其他用户并不如此。建议尽可能包括一个可见的文本标签。
  • 为表单元素提供和可见的标签内容相同的信息:
    • <label for="n1">name</label> <input type="text" title="name" id="n1">
    • 重复可见的标签文本不可能除了添加一系列的用户认知噪声。不做它。重复可见的标签文本除了添加一系列令人讨厌的认知噪声外,似乎没有其他作用,停止这种用法。
  • 为表单元素提供额外的指令:
    • <label for="n1">name</label> <input type="text" title="Please use uppercase."id="n1">
    • 如果这指令对于正确的使用表单元素非常重要,请在元素周围提供文字信息,确保每个用户都能读到。
  • 作为缩写的扩展:
    • <abbr title="world wide web consortium">W3C</abbr>
    • 虽然abbr元素的title属性被屏幕阅读器软件所支持,但使用它仍然是有问题的,因为其他用户群无法使用。建议当缩写词在文档中首次出现时提供文本格式的全称,或提供全称形式的术语表。这并不是说不可以使用title属性,因其具有局限性,应该提供文本形式的全称。

HTML 5.1 包括使用title属性的一般性建议:

依赖title属性目前是不被鼓励的,由于许多用户代理不能按照规范的要求显示这个属性(如需要鼠标指针设备引起提示信息的显示,排除了仅使用键盘的用户和触摸屏用户)

来源: HTML 5.1 – title属性

用title属性代替img元素的alt属性或作为图片的标题是被禁止的

依托title属性目前来看是被禁止的,由于许多用户代理对这属性的可访问性支持很差……

来源: HTML 5.1

原文:http://blog.paciellogroup.com/2010/11/using-the-html-title-attribute/

原文网址:http://yanhaijing.com/html/2014/03/26/using-the-html-title-attribute/

微信公众号:颜海镜关注微信公众号 颜海镜微信支付二维码赞赏支持 微信扫一扫

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK