Résumé
L'élément HTML <a> (pour anchor) définit un hyperlien, une cible de destination nommée pour un hyperlien, ou les deux à la fois.
- Catégories de contenu Contenu de flux, contenu phrasé, contenu interactif, contenu palpable.
- Contenu autorisé Transparent, contenant soit des contenus de flux ou des contenus phrasé,
- Omission de balises Aucune, tant le tag d'ouverture que de fermeture est obligatoire
- Élément parents autorisés Tout élément acceptant du contenu phrasé, ou tout élément acceptant du contenu de flux.
- Interface DOM
HTMLAnchorElement.
Attributs
Cet élément inclus les attributs globaux.
-
charsetObsolète depuis HTML5 -
Cet attribut définit le jeu de caractères de la ressource liée. La valeur est une liste de jeux de caractères (défini dans RFC 2045) séparés par des espaces ou des virgules. La valeur par défaut est ISO-8859-1.
Note d'utilisation : Cet attribut est obsolète en HTML5, et ne doit plus être utilisé par les auteurs. Pour obtenir le même effet, utilisez l'entête HTTP Content-Type sur la ressource liée.
-
coordsHTML 4 seulement, Obsolète depuis HTML5 - Pour utiliser avec des objets formes. Cet attribut utilise une liste de nombres séparés par des virgules, définissant les coordonnées de l'objet sur la page.
-
datafld -
Cet attribut définit le nom de la colonne pour l'objet data source qui fournit les données associées.
Note d'utilisation : Cet attribut est obsolète en HTML5, et ne doit plus être utilisé par les auteurs. Pour obtenir le même effet, utilisez des scripts et un mécanisme comme XMLHttpRequest pour modifier la page dynamiquement.
Support Gecko Presto WebKit Trident Non implémenté Non implémenté Non implémenté IE4, IE5, IE6, IE7 (Retiré dans IE8) Document normatif Microsoft's Data Binding: dataFld Property (MSDN) -
datasrc -
Cet attribut définit l'ID de l'objet data source qui fournit les données associées à l'élément.
Note d'utilisation : Cet attribut est obsolète en HTML5, et ne doit plus être utilisé par les auteurs. Pour obtenir le même effet, utilisez des scripts et un mécanisme comme XMLHttpRequest pour modifier la page dynamiquement.
Support Gecko Presto WebKit Trident Non implémenté Non implémenté Non implémenté IE4, IE5, IE6, IE7 (Retiré dans IE8) Document normatif Microsoft's Data Binding: dataSrc Property (MSDN) -
downloadHTML5 -
Cet attribut, si présent, indique que l'auteur souhaite que le lien soit utilisé pour télécharger la ressource pour que, lorsque l'utilisateur clique dessus, il lui soit proposé d'enregistrer la cible du lien comme un fichier local. Si l'attribut a une valeur, le navigateur doit l'interpréter comme le nom de fichier par défaut pour l'invite qui s'ouvre quand l'utilisateur clique sur le lien (bien sûr, l'utilisateur pourra modifier le nom de fichier avant de cliquer sur Enregistrer). Il n'y a aucune limitation sur les valeurs autorisées, mais vous devez vous souvenir que la plupart des systèmes de fichiers ont des limitations concernant la ponctuation dans les noms de fichier, et les navigateurs procèderont sûrement à des ajustements en conséquence.
Note : Vous pouvez utiliser des URL
blob:,data:etfilesystem:, pour rendre plus facile à vos utilisateurs le téléchargement de contenus générés par un programme JavaScript (ex : une image générée automatiquement). Si l'en-tête HTTPContent-Disposition:est présent et fournit un nom de fichier différent que celui fourni par l'attribut alors c'est l'en-tête HTTP qui prime sur l'attribut. Si l'attribut est présent et queContent-Disposition:vautinlineFirefox donnera la priorité à l'en-tête alors que Chrome donnera la priorité à l'attribut. Dans Firefox 20, cet attribut n'est respecté que pour les liens des ressources de même origine. -
href -
Il s'agissait du seul attribut obligatoire pour définir un hyperlien, mais il n'est plus obligatoire en HTML5. Ne pas mettre cet attribut crée un lien d'espace reservé.
L'attributhrefindique la cible du lien, soit une URL, soit un fragment d'URL. Un fragment d'URL est un nom précédé par un dièse (#), qui indique une cible interne au document (un ID). Les URLs ne se limitent pas au documents Web sur HTTP. Les URLs peuvent utiliser n'importe quel protocole supporté par le navigateur. Par exemple,file,ftpetmailtofonctionnent dans la majorité des agents-utilisateur.
Note : Vous pouvez utiliser le fragment spécial "
top" pour créer un lien de retour vers le haut de la page ; par exemple<a href="#top">Retourner en haut</a>. Ce comportement est défini par HTML5. -
hreflang -
Cet attribut indique la langue de la ressource liée. Il est purement indicatif. Les valeurs permises pour HTML5 sont définies par BCP47 et pour HTML 4 par RFC1766. Utilisez cet attribut seulement si l'attribut
hrefest présent. -
mediaHTML5 -
Cet attribut indique le media pour lequel la ressource liée a été conçue. Sa valeur doit être une media query (requête média). Si omis, sa valeur par défaut est "
all". La valeur de cet attribut est purement indicative. -
methods - La valeur de cet attribut fournit des informations sur les fonctions qui peuvent être exécutées sur un objet. Les valeurs sont généralement données par le protocol HTTP quand il est utilisé, mais il peut être utile d'inclure des informations additionnelles à l'avance sur le lien. Par exemple, le navigateur pourrait choisir un rendu différent du lien en fonction de la méthode renseignée ; quelque chose de « cherchable » pourrait avoir une icône différente, ou un lien sortant pourra être rendu avec une information indiquant le sortie du site actuel. Cet attribut n'est pas très bien compris, ni supporté, même par le navigateur qui l'a défini, Internet Explorer 4. Propriété Methods (MSDN)
-
nameHTML 4 seulement, Obsolète depuis HTML5 -
Cet attribut est utilisé pour définir une ancre cible au sein de la page. La valeur de
nameest similaire à la valeur de l'attribut globalid, et doit être un identifiant alphanumérique unique au document. Sous la spécification HTML 4.01,idetnamepeuvent être tous les deux utilisés sur un élément<a>s'ils ont des valeurs indentiques.
Note d'utilisation : Cet attribut est obsolète en HTML5, utilisez l'attribut global id à la place.
-
pingHTML5 -
Le support de
pinga été désactivé à partir de Firefox 3 beta 3.bug 415168 -
rel -
Pour les éléments
<a>avec un attributhref, cet attribut indique la relation entre la cible du lien et l'objet faisant le lien. La valeur est une liste de relations séparées par des espaces. Les valeurs disponibles et la sémantique seront définies par une autorité tierce. La relation par défaut, si aucune n'a été définie, est nulle. Utilisez seulement cet attribut si l'élément possède un attributhref. -
revHTML 4 seulement, Obsolète depuis HTML5 -
L'attribut indique un lien inversé : la relation inverse de l'attribut
rel. Il est utile pour indiquer l'origine d'un objet, tel que l'auteur d'un document.
-
shapeHTML 4 seulement, Obsolète depuis HTML5 -
Cet attribut est utilisé pour définir une zone cliquable pour un lien associé à une image, pour créer une image map. Les valeurs pour cet attribut sont
circle,default,polygon, etrect. Le format de l'attributcoordsdépend de la valeur deshape. Pourcircle, la valeur estx,y,roùxetysont les coordonnées en pixel pour le centre du cercle etrest le rayon du cercle en pixel. Pourrect, l'attributcoordsdoit êtrex,y,w,h. Les valeursx,ydéfinissent le coin supérieur gauche du rectangle, pendantwethdéfinissent respectivement la largeur et la hauteur. Une valeurpolygonpour shape nécessite les valeursx1,y1,x2,y2,...pourcoords. Chaque paire dex,ydéfinissent un point du polygone, avec les points successifs joints par des lignes droites, et le dernier point joint au premier. La valeurdefaultpourshapenécessite que la totalité de la zone, habituellement une image, soit utilisée. -
target -
Cet attribut indique où afficher la ressource liée. En HTML4, il s'agit du nom, ou du mot-clé, d'une frame. En HTML5, il s'agit du nom, ou du mot-clé, d'un contexte de navigation (par exemple, un onglet, une fenêtre, ou une
<iframe>). Les mots-clés suivants ont un sens particulier :_self: Charge la réponse dans la frame HTML4 actuelle (ou contexte de navigation HTML5). Il s'agit de la valeur par défaut quand l'attribut n'est pas renseigné._blank: Charge la réponse dans une nouvelle fenêtre HTML4 non nommée (ou contexte de navigation HTML5)._parent: Charge la réponse dans le<frameset>HTML4 parent de la frame courante (ou le contexte de navigation HTML5 parent, par rapport à l'actuel). S'il n'y a pas de parent, l'option se comporte de la même façon que_self._top: Dans HTML4 : Charge la réponse dans la fenêtre originale, annulant toutes les autres frames. Dans HTML5 : Charge la réponse dans le contexte de navigation de plus haut niveau (c'est à dire, le contexte de navigation parent par rapport à l'actuel, et qui n'a lui-même aucun parent). S'il n'y a pas de parent, l'option se comporte de la même façon que_self.
hrefest présent. -
type -
Cet attribut indique le type de média de la cible du lien, sous la forme d'un type MIME. Généralement, il s'agit d'une information purement indicative ; mais, dans le futur, un navigateur pourrait afficher une petite icône correspondant au type de média. Par exemple, un navigateur pourrait ajouter une petite icône d'enceinte quand le type est défini à
audio/wav. Pour une liste complète des types MIME reconnus, consultez http://www.w3.org/TR/html4/references.html#ref-MIMETYPES. Utilisez cet attribut seulement si l'attributhrefest présent. -
urn - Cet attribut supposément supporté par Microsoft, définit une URN (Uniform Resource Name) pour le lien. Bien qu'il soit basé sur des travaux de standardisation datant de plusieurs années, le sens des URN n'est pas encore très bien défini, cet attribut n'est donc pas très utile. Propriété urn (MSDN)
Exemple: Hyperlien vers une ressource externe
<a href="http://www.mozilla.com/">
Lien externe
</a>
Résultat
Exemple: Créer une image cliquable
Ce petit exemple utilise une image qui redirige vers la page d'accueil de MDN. La page d'accueil s'ouvrira dans un nouveau contexte de navigation, c'est une nouvelle page ou un nouvel onglet.
<a href="https://developer.mozilla.org/en-US/" target="_blank"> <img src="https://mdn.mozillademos.org/files/6851/mdn_logo.png" alt="MDN logo" /> </a>
Résultat
Exemple: Créer un lien email
Il est courant de créer des boutons ou des hyperliens qui vont ouvrir l'application de messagerie de l'utilisateur pour leur permettre d'envoyer un nouveau message.
Cela est possible en utilisant un lien mailto. Voici un exemple simple:
<a href="mailto:nowhere@mozilla.org">Envoyer un mail à nowhere</a>
Cela produit comme résultat, un lien qui ressemble à ceci: Envoyer un mail à nowhere.
Pour plus de détails sur le schema URL de mailto, comme comment inclure un sujet, un corps de texte, ou tout autre contenu prédéterminé, voir les liens Emails ou RFC 6068.
Exemple: Utiliser l'attribut de téléchargement pour sauvegarder un canvas comme un PNG
Si vous voulez permettre à un utilisateur de télécharger un Canvas HTML en tant qu'image, vous pouvez créer un lien avec un attribut de téléchargement et les données associées au <canvas> comme une URL de fichier.
var link = document.createElement('a');
link.innerHTML = 'Télécharger une image';
link.addEventListener('click', function(ev) {
link.href = canvas.toDataURL();
link.download = "mypainting.png";
}, false);
document.body.appendChild(link);
Vous pouvez voir le résultat de ce code ici http://jsfiddle.net/codepo8/V6ufG/2/
Spécifications
| Spécification | Statut | Commentaires |
|---|---|---|
| WHATWG HTML Living Standard | Living Standard | |
| HTML5 | Candidate Recommendation | |
| HTML 4.01 Specification | Recommendation |
Compatibilité des navigateurs
| Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Support basique | (Oui) | 1.0 (1.7 ou moins) | (Oui) | (Oui) | (Oui) |
href="#top" |
(Oui) | 10.0 (10.0) | (Oui) | (Oui) | (Oui) |
download |
14 | 20.0 (20.0) | Pas de support | Pas de support | ? |
| Fonctionnalité | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Support basique | (Oui) | 1.0 (1.0) | (Oui) | (Oui) | (Oui) |
href="#top" |
(Oui) | 10.0 (10.0) | (Oui) | (Oui) | (Oui) |
download |
(Oui) | 20.0 (20.0) | Pas de support | ? | ? |
Notes
Les raccourcis clavier suivants sont réservés par deux des principaux navigateurs, et ne doivent pas être utilisés comme valeur pour accesskey : a, c, e, f, g, h, v, flèche droite et flèche gauche.
HTML 3.2 définit seulement name, href, rel, rev, et title.
L'attribut target n'est pas défini dans les navigateurs qui ne supportent pas les frames, tel que les navigateurs de la génération Netscape 1. De plus, target n'est pas autorisé dans les variantes stricts de XHTML, mais limité à frameset et transitional.
Recommandations JavaScript
Les éléments <a> sont souvent utilisés avec l'évènement onclick. Pour éviter à la page d'être rafraîchie, href est souvent défini soit à "#" ou "javascript:void(0)". Ces deux valeurs peuvent amener des erreurs inattendues quand les liens sont copiés, ou ouvert dans une nouvelle fenêtre ou onglet. Faites-y attention pour des questions d'utilisabilité, quand vous utilisez des <a> et que vous désactivez son comportement par défaut.
Voir également
Autres éléments de sémantique au niveau texte : <abbr>, <em>, <strong>, <small>, <cite>, <q>, <dfn>, <time>, <code>, <var>, <samp>, <kbd>, <sub>, <sup>, <b>, <i>, <mark>, <ruby>, <rp>, <rt>, <bdo>, <span>, <br>, <wbr>.