---
title: ' : l''élément d''ancre'
slug: Web/HTML/Element/a
tags:
- Contenu
- Element
- HTML
- Reference
- Web
translation_of: Web/HTML/Element/a
---
L'élément Cet élément inclut les attributs universels. Note : Note : Le fragment spécial Lorsque 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, utiliser l'entête HTTP Content-Type sur la ressource liée. Note d'utilisation : Cet attribut est obsolète en HTML5, il faut utiliser l'attribut global id à la place. Note : La spécification actuelle de HTML 5.2 du W3C n'indique plus l'attribut {{EmbedLiveSample("Hyperlien_vers_une_ressource_externe")}} 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. Dans le cas d'une image cliquable, le texte alternatif doit contenir l'objet du lien, tel qu'indiqué dans l'exemple 9 des WCAG 1.1.1 relatives aux alternatives textuelles. {{EmbedLiveSample("Exemple_Cr%C3%A9er_une_image_cliquable", "320", "64")}} Lorsqu'on utilise des appareils connectés à des téléphones, il peut être pratique d'utiliser des liens avec le schéma Pour plus de détails sur ce schéma, se référer à la RFC {{RFC(3966)}}. Il est courant de créer des boutons ou des hyperliens qui vont ouvrir l'application de messagerie de l'utilisateur pour lui permettre d'envoyer un nouveau message. Cela est possible en utilisant un lien Cela produit comme résultat, un lien qui ressemble à ceci: Envoyer un courriel à personne. Si on souhaite permettre à un utilisateur de télécharger un canvas HTML comme une image, on peut créer un lien avec un attribut download et lui associer les données liées au {{HTMLElement('canvas')}} pour construire une URL de fichier. Vous pouvez voir le résultat de ce code ici https://jsfiddle.net/codepo8/V6ufG/2/ Bien que l'élément L'utilisation de Les ancres sont souvent détournées avec l'évènement Ces valeurs produisent des résultats inadéquats lorsqu'on copie/déplace des liens, qu'on ouvre des liens dans de nouveaux onglets ou fenêtres, qu'on ajoute des marque-pages ou lorsque le JavaScript est encore en train d'être téléchargé. De plus, la sémantique exposée par le document, utilisée par les outils d'assistance, est incorrecte. Dans ces cas, on privilégiera plutôt l'utilisation d'un bouton {{HTMLElement("button")}}. De façon générale, une ancre ne doit être utilisée que pour naviguer vers une URL correcte. Les liens qui ouvrent un nouvel onglet ou une nouvelle fenêtre grâce à Les personnes qui utilisent des outils d'assistance à la navigation comme des lecteurs d'écran et/ou qui souffrent de troubles de la vision, cognitifs peuvent être confuses lorsqu'un nouvel onglet, fichier ou une nouvelle fenêtre s'ouvre de façon inattendue. Les anciennes versions des lecteurs d'écran peuvent également ne pas annoncer ce comportement. Si une icône est utilisée en lieu et place du texte pour indiquer ce comportement, on s'assurera qu'elle contient bien une description alternative. Un skip link (aussi appelé skipnav en anglais) est un élément Ce lien permet alors de passer plus facilement le contenu qui se répète sur l'ensemble des pages (l'en-tête et la barre de navigation par exemple). Les skip links sont particulièrement utiles pour les personnes qui naviguent à l'aide d'outils d'assistance (commande vocale, stylets buccal ou frontal) pour lesquels devoir passer par des liens répétés peut freiner la lecture du document. Les éléments interactifs tels que les liens doivent fournir une surface suffisamment grande pour qu'il soit facile de les activer. Cela facilitera la tâche à une variété de personnes : celles qui ont des problèmes moteur, celles qui utilisent des dispositifs de pointage peu précis (doigt ou stylet). La taille interactive minimale recommandée est de 44x44 pixels CSS. Lorsque plusieurs contenus interactifs (y compris les ancres) sont placés les uns à côté des autres, il est nécessaire de les espacer suffisamment pour minimiser le risque d'activer le mauvais contenu lors de la navigation. Un tel espacement peut être obtenu grâce à la propriété CSS {{cssxref("margin")}}.<a>
(pour ancre ou anchor en anglais) définit un hyperlien vers un autre endroit de la même page ou vers une autre page sur le Web.Attributs
file:
.blob:
, data:
et filesystem:
peuvent être utilisées afin de simplifier le téléchargement de contenus générés par un programme JavaScript (ex. : une image générée automatiquement).Content-Disposition:
vaut inline
, Firefox donnera la priorité à l'en-tête, Chrome donnera la priorité à l'attribut.href
indique la cible du lien sous la forme d'une URL ou d'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 URL ne se limitent pas au documents web sur HTTP. Les URL peuvent utiliser n'importe quel protocole supporté par le navigateur. Par exemple, file
, ftp
et mailto
fonctionnent avec la plupart des agents-utilisateur.
href="#top"
ou le fragment vide href="#"
peuvent être utilisés 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.PING
lorsque l'utilisateur suit le lien. Cet attribut est généralement utilisé pour tracer un utilisateur.
'no-referrer'
indique que l'en-tête Referer
ne sera pas envoyé.'no-referrer-when-downgrade'
indique que l'en-tête Referer
ne sera pas envoyé lorsque l'utilisateur navigue depuis une origine sans TLS/HTTPS. C'est le comportement par défaut de l'agent utilisateur si aucune autre politique n'est spécifiée.'origin'
indique que le référent sera l'origine de la page (ce qui correspond au schéma utilisé, à l'hôte et au port).'origin-when-cross-origin'
indique que lorsqu'on navigue sur d'autres origines, seule l'origine du document sera envoyée. Lorsqu'on navigue sur la même origine, le chemin de la ressource sera inclus dans le référent.'strict-origin-when-cross-origin'
fonctionne comme origin-when-cross-origin
mais les en-têtes d'origine sont envoyés via HTTPS plutôt que par HTTP.'unsafe-url'
indique que le référent envoyé inclura l'origine et le chemin (mais pas le fragment, le mot de passe ou le nom d'utilisateur). Ce cas n'est pas considéré comme sûr car il peut laisser fuiter des origines et des chemins de ressources protégées par TLS vers des origines non-sécurisées.
_self
: charge la réponse dans le contexte de navigation courant. Il s'agit de la valeur par défaut quand l'attribut n'est pas renseigné._blank
: charge la réponse dans un nouveau contexte de navigation.
target="_blank"
exécutera la page dans le même processus que la page courante. Si la nouvelle page consomme de nombreuses ressources, les performances de la page courante pourront en pâtir. Pour éviter ce problème, on pourra utiliser rel="noopener"
._parent
: charge la réponse dans le {{HTMLElement("frameset")}} HTML4 parent de la frame courante ou dans le contexte de navigation HTML5 parent relativement au contexte courant). S'il n'y a pas de parent, l'option se comporte de la même façon que _self
._top
: En HTML4 : charge la réponse dans la fenêtre originale, annulant toutes les autres frames. En 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
.target
est utilisé, on pourra ajouter rel="noopener noreferrer"
afin d'éviter la fuite de données via l'API Window.opener
.Attributs obsolètes
name
est similaire à la valeur de l'attribut global id
, et doit être un identifiant alphanumérique unique au document. Sous la spécification HTML 4.01, id
et name
peuvent être tous les deux utilisés sur un élément <a>
s'ils ont des valeurs identiques.
rel
. Il est utile pour indiquer l'origine d'un objet, tel que l'auteur d'un document.
rev
comme obsolète. En revanche, la spécification du WHATWG le considère toujours comme obsolète. Tant que cette incohérence n'est pas résolue, mieux vaut considérer cet attribut comme obsolète.circle
, default
, polygon
, et rect
. Le format de l'attribut coords
dépend de la valeur de shape
. Pour circle
, la valeur est x,y,r
où x
et y
sont les coordonnées en pixel pour le centre du cercle et r
est le rayon du cercle en pixel. Pour rect
, l'attribut coords
doit être x,y,w,h
. Les valeurs x,y
définissent le coin supérieur gauche du rectangle, pendant w
et h
définissent respectivement la largeur et la hauteur. Une valeur polygon
pour shape nécessite les valeurs x1,y1,x2,y2,...
pour coords
. Chaque paire de x,y
définissent un point du polygone, avec les points successifs joints par des lignes droites, et le dernier point joint au premier. La valeur default
pour shape
nécessite que la totalité de la zone, habituellement une image, soit utilisée.
shape
.Exemples
Hyperlien vers une ressource externe
<a href="https://www.mozilla.com/">
Lien externe
</a>
Résultat
Créer une image cliquable
<a href="https://developer.mozilla.org/fr/" target="_blank">
<img src="https://mdn.mozillademos.org/files/6851/mdn_logo.png" alt="Documentation du web - MDN" />
</a>
Résultat
Créer un lien vers un numéro de téléphone
tel:
:<a href="tel:+615701564">+6 15 70 15 64</a>
Créer un lien pour écrire un e-mail
mailto
. Voici un exemple simple:<a href="mailto:personne@mozilla.org">Envoyer un courriel à personne</a>
Pour plus de détails sur le schéma 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)}}.Utiliser l'attribut
download
pour sauvegarder un canvas en PNGvar link = document.createElement('a');
link.textContent = 'Télécharger une image';
link.addEventListener('click', function(ev) {
link.href = canvas.toDataURL();
link.download = "maToile.png";
}, false);
document.body.appendChild(link);
Notes
accesskey
: a, c, e, f, g, h, v, flèche droite et flèche gauche.Sécurité et vie privée
<a>
soit la plupart du temps utilisé innocemment, les informations qu'il peut transporter peuvent avoir des effets indésirables sur la sécurité et sur la vie privée des utilisateurs. Pour plus d'informations, voir cet article sur l'en-tête Referer
et les problématiques qu'il soulève.target="_blank"
sans rel="noreferrer"
et sans rel="noopener"
peut rendre un site vulnérable à certaines formes d'attaques utilisant l'API window.opener
(voir ce billet).Accessibilité
Évènements
onclick
onclick
afin de créer des pseudo-boutons avec l'attribut href
qui vaut "#"
ou "javascript:void(0)"
pour empêcher le rafraîchissement de la page.Liens externes, liens vers des ressources non-HTML
target="_blank"
, ainsi que le liens qui ouvrent des fichiers devraient fournir une indication sur ce qui se produira lorsqu'on cliquera sur ces liens.Lien vers un nouvel onglet ou une nouvelle fenêtre
<a target="_blank" href="https://www.wikipedia.org/">Wikipédia (s'ouvre dans une nouvelle fenêtre)</a>
Lien vers une ressource non-HTML
<a target="_blank" href="2017-rapport-annuel.ppt">Rapport annuel 2017 (PowerPoint)</a>
Skip links - liens pour l'accès rapide au contenu
a
qui est placé le plus près possible de l'élément {{HTMLElement("body")}} et qui renvoie au début du contenu principal de la page.
Dimensionnement et proximité
Dimensionnement - taille
Proximité
Résumé technique
Catégories de contenu | Contenu de flux, contenu phrasé, contenu interactif, contenu tangible. |
---|---|
Contenu autorisé | Contenu transparent qui contient du contenu de flux (mais pas de contenu interactif) ou du contenu phrasé. |
Omission de balises | {{no_tag_omission}} |
Parents autorisés | Tout élément qui accepte du contenu phrasé ou tout élément qui accepte du contenu de flux. (un élément <a> ne peut pas avoir d'élément parent qui soit également un élément <a> ). |
Rôles ARIA autorisés | {{ARIARole("button")}}, {{ARIARole("checkbox")}}, {{ARIARole("menuitem")}}, {{ARIARole("menuitemcheckbox")}}, {{ARIARole("menuitemradio")}}, {{ARIARole("option")}}, {{ARIARole("radio")}}, {{ARIARole("switch")}}, {{ARIARole("tab")}}, {{ARIARole("treeitem")}} |
Interface DOM | {{domxref("HTMLAnchorElement")}} |
Spécification | État | Commentaires |
---|---|---|
{{SpecName('Referrer Policy', '#referrer-policy-delivery-referrer-attribute', 'referrer attribute')}} | {{Spec2('Referrer Policy')}} | Ajout de l'attribut referrer . |
{{SpecName('HTML WHATWG', 'text-level-semantics.html#the-a-element', '<a>')}} | {{Spec2('HTML WHATWG')}} | |
{{SpecName('HTML5 W3C', 'text-level-semantics.html#the-a-element', '<a>')}} | {{Spec2('HTML5 W3C')}} | |
{{SpecName('HTML4.01', 'struct/links.html#h-12.2', '<a>')}} | {{Spec2('HTML4.01')}} |
Note : HTML 3.2. définit uniquement les attributs name
, href
, rel
, rev
et title
.
{{Compat("html.elements.a")}}