141 votes

Est-il correct d'utiliser la balise alt pour un lien d'ancrage?

Est-il correct d'utiliser la balise alt pour un lien d'ancrage, quelque chose comme

 <a href="#" class="test" alt="Something" src="sfasfs" ></a>
 

145voto

unor Points 14115

De telles choses sont mieux traitées en regardant les spécifications officielles.

  1. aller à la spécification: http://www.w3.org/TR/html5/
  2. recherche pour "a ": http://www.w3.org/TR/html5/text-level-semantics.html#the-a-element
  3. cochez la case "attributs de Contenu":

    Attributs globaux
    href
    target
    rel
    media
    hreflang
    type

  4. cochez la case "attributs Globaux" pour alt: http://www.w3.org/TR/html5/dom.html#global-attributes

Comme vous le verrez, l' alt de l'attribut n'est pas autorisée sur l' a élément.

Aussi, vous remarqueriez que l' src attribut n'est pas autorisé.

Par la validation de votre code HTML des erreurs de ce type sont signalés.

63voto

tomis Points 418

Pour les ancres, vous devriez utiliser le titre à la place. alt n'est pas valide atribute de a. Voir http://w3schools.com/tags/tag_a.asp

9voto

dcc Points 1033

Vous devez utiliser l'attribut title de l'ancre des mots-clés si vous souhaitez demander des informations descriptives de la même manière que vous le feriez pour un attribut alt. L'attribut title est valable sur les balises d'ancrage et se sert pas d'autre but que de fournir des informations sur la page liée.

Le W3C recommande que la valeur de l'attribut title doit correspondre à la valeur du titre du document lié mais il n'est pas obligatoire.

http://www.w3.org/MarkUp/1995-archive/Elements/A.html


Sinon, et susceptible d'être le plus bénéfique, vous pouvez utiliser l'air de l'accessibilité de l'attribut aria-label (à ne pas confondre avec aria-labeledby). aria-label sert la même fonction que l'attribut alt pour les images mais pour les non-éléments de l'image et de mesure de l'optimisation depuis votre optimisation pour les lecteurs d'écran.

http://www.w3.org/WAI/GL/wiki/Using_aria-label_to_provide_labels_for_objects


Si vous voulez décrire une balise d'ancrage cependant, il est généralement approprié d'utiliser le rel ou rev tag, mais limitée à des valeurs spécifiques, ils ne devraient pas être utilisés pour des descriptions compréhensibles.

Rel sert à décrire la relation de la page du lien de la page en cours. (par exemple, si la page du lien est le suivant dans la logique de la série, il serait rel=next)

Le rev attribut est essentiellement l'inverse de la relation de l'attribut rel. Rev décrit la relation de la page en cours à la page liée.

Vous pouvez trouver une liste des valeurs valides ici: http://microformats.org/wiki/existing-rel-values

6voto

Jukka K. Korpela Points 71599

Non, un alt d'attribut (il serait un attribut, pas un tag) n'est pas autorisée pour un a élément de spécification du HTML ou du projet. Et il ne semble pas être reconnu par n'importe quel navigateur, soit comme ayant une signification.

C'est un peu un mystère pourquoi les gens essaient de l'utiliser, alors, mais l'explication probable est qu'ils le font en analogique avec alt d'attribut pour img éléments, s'attendant à voir une "info-bulle" sur passage de la souris. Il y a deux choses qui clochent dans cette. Tout d'abord, chaque élément comporte les attributs de son propre, défini dans les spécifications de chaque élément. Deuxièmement, le "info-bulle", le rendu de l' alt attributs dans certains anciens navigateurs est/était un caprice ou même un bug, plutôt que quelque chose qui doit être prévu; l' alt attribut est censé être présenté à l'utilisateur si et seulement si l'image elle-même n'est pas présenté, pour quelque raison que ce soit.

Pour créer une "info-bulle", l'utilisation de l' title attribut au lieu de cela ou, beaucoup mieux, Google pour "CSS info-bulles" et utiliser les CSS basé sur les info-bulles de votre choix (ils peuvent être caractérisés comme caché "couches" qui deviennent visibles à la souris).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X