作者: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浏览器。
Une bonne utilisation de l'attribut title consiste à ajouter un texte descriptif à un lien, en particulier lorsque le but du lien n'est pas très clair à partir du lien lui-même. De cette façon, les visiteurs savent où les liens les mèneront et ils ne chargeront pas une page qui ne les intéresserait pas du tout. Une autre application potentielle consiste à fournir des informations descriptives supplémentaires pour les images, telles que des dates ou d'autres informations non essentielles.
La valeur de l'attribut title peut être définie plus longtemps que la valeur de l'attribut alt. Sachez cependant que certains navigateurs tronqueront les textes trop longs (comme les infobulles ou autres). Par exemple, le navigateur principal de Mozilla ne peut afficher que les 60 premiers caractères. Ceci est considéré comme un bug de Mozilla et vous devez en être conscient.
Réfléchissez avant d'utiliser
Mon conseil est de garder votre texte alternatif à l'essentiel. Dans la plupart des applications, il doit être laissé vide, alt="" (notez qu'il n'y a pas d'espace entre les guillemets). Pensez à ces images, quelles informations fournissent-elles à ceux qui les regardent, quels mots devriez-vous utiliser pour les décrire ou quelles informations devriez-vous fournir aux personnes qui ne peuvent pas voir les images ? Est-ce que cela aidera vraiment quelqu'un qui ne peut pas voir l'image d'écrire le texte alternatif comme « Photo : PDG debout à l'extérieur d'un bâtiment, vêtu d'un costume gris et d'une cravate noire, regardant le ciel » ? Si vous le pensez, écrivez-le. Dans de nombreux cas, je pense qu'il est préférable de laisser le texte de remplacement vide.
Pour l'attribut title, il est difficile de donner des instructions d'utilisation strictes. Je l'utilise principalement sur des liens qui ne sont pas explicites, comme le même texte de lien sur la même page, mais des pages liées différentes. Parfois, un texte plus descriptif est fourni pour certains boutons ou éléments de formulaire.
Description plus longue
Lorsqu'une image nécessite une description plus longue que celle autorisée par l'attribut alt, il existe quelques options.
L'attribut longdesc peut être utilisé pour fournir un lien vers une page distincte contenant une description textuelle de l'image. Cela signifie relier le spectateur à une autre page, ce qui peut entraîner des difficultés de compréhension. De plus, la prise en charge par le navigateur de l'attribut longdesc est incohérente et pas très bonne.
L'attribut longdesc peut contenir un lien vers d'autres parties du document actuel (ancre) au lieu d'un lien vers une autre page. Dans les notes de bas de page sur l'accessibilité, Andy Clarke explique très bien comment l'appliquer.
Les liens de description (liens D) peuvent être utilisés pour compléter longdesc. Un lien de description est un lien régulier vers une page contenant du texte alternatif. Le lien est placé à côté de l'image et est disponible dans tous les navigateurs. Il existe de nombreuses opinions différentes sur son efficacité, et personnellement, je n'aime pas cette note. WCAG également, dans leur version de travail des techniques HTML pour WCAG 2.0, les liens de description sont "obsolètes".
Si une longue description de l'image est utile à tout spectateur, vous devriez alors envisager de simplement l'afficher dans le même document, plutôt que de créer un lien vers d'autres pages ou de la masquer. Ainsi tout le monde peut le lire. Il s’agit d’une approche simple et peu technologique.
Plus d'informations
Vous voulez en savoir plus sur les attributs alt, title et longdesc ? Regardez ici :
Directives sur les textes alternatifs dans les éléments img
Rédiger un bon texte ALT
Alternatives accessibles
Notes de bas de page sur l'accessibilité
Le problème de l'image
Attribut de titre – Votre avis
Utiliser des titres de liens pour aider les utilisateurs Prédire où ils vont
Comment spécifier un texte alternatif
L'attribut titre