L' <a>
nchor élément est simplement un point d'ancrage ou de certains contenus. À l'origine de la spécification HTML autorisés pour les ancres nommées (<a name="foo">
) et les liens ancres (<a href="#foo">
).
L'ancre nommée format est moins couramment utilisés, comme l'identificateur de fragment est maintenant utilisé pour spécifier un [id]
d'attribut (bien que pour la compatibilité ascendante, vous pouvez toujours spécifier [name]
d'attributs). Un <a>
élément sans [href]
attribut est toujours valide.
Autant que de la sémantique et de style, l' <a>
élément n'est pas un lien (:link
) sauf s'il a un [href]
d'attribut. Un effet secondaire de ceci est qu'un <a>
élément sans [href]
ne seront pas dans l'ordre de tabulation par défaut.
La vraie question est de savoir si l' <a>
seul élément est une représentation appropriée d'un <button>
. Sur un plan sémantique, il y a une nette différence entre un link
et button
.
Un bouton est quelque chose que quand on clique dessus les causes de la réalisation d'une action.
Un lien est un bouton qui provoque un changement dans la navigation dans le document actuel. La navigation qui se produit pourrait être de déplacer dans le document, dans le cas d'identificateurs de fragment (#foo
) ou déménagement vers un nouveau document dans le cas d'url (/bar
).
Comme les liens sont un type spécial de bouton, ils ont souvent eu leurs actions substituée à effectuer d'autres fonctions. En continuant à utiliser une ancre comme un bouton est ok à partir d'un point de vue de la cohérence, même si ce n'est pas tout à fait exacte du point de vue sémantique.
Si vous êtes inquiet au sujet de la sémantique et l'accessibilité de l'aide d'un <a>
(ou <span>
ou <div>
) sous forme d'un bouton, vous devez ajouter les attributs suivants:
<a role="button" tabindex="0" ...>...</a>
Le bouton rôle de l'utilisateur indique que l'élément est traité comme un bouton comme un remplacement pour quelle que soit la sémantique de l'élément sous-jacent peut avoir eu.
Pour <span>
et <div>
éléments, vous pouvez ajouter du JavaScript clé auditeurs de l' Espace ou Entrée pour déclencher l' click
événement. <a href>
et <button>
éléments de le faire par défaut, mais non le bouton éléments ne sont pas. Parfois, il est plus judicieux de lier l' click
de déclencheur à une clé différente. Par exemple, un bouton "aide" dans une application web pourrait être lié à la F1.