We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

L'élément <abbr> représente une abréviation ou un acronyme et permet, de façon optionnelle, d'en fournir une description complète. S'il est présent, l'attribut title doit contenir cette même description complète et rien d'autre.

<p>J'écris du 
  <abbr title="Hypertext Markup Language">HTML</abbr>
</p>
Catégories de contenu Contenu de flux, contenu phrasé, contenu tangible.
Contenu autorisé Contenu phrasé.
Omission de balises Aucune, la balise d'ouverture et la balise de fermeture sont obligatoires
Parents autorisés Tout élément acceptant du contenu phrasé.
Rôles ARIA autorisés Tous les rôles sont autorisés.
Interface DOM HTMLElement

Note : Voir cet article introductif pour la mise en forme du texte en général.

Attributs

Cet élément n'a pas d'autres attributs que les attributs universels.

On notera que l'attribut title possède ici une sémantique spécifique et il représente la description complète de l'abréviation. Souvent, mais pas nécessairement, il s'affiche comme une info-bulle au survol de la souris.

Chaque élément <abbr> est indépendant, rattacher un titre à l'un ne l'associe pas aux abrévations identiques qui suivent.

Notes d'utilisation

Cas d'usage généraux

Il n'est pas obligatoire d'utiliser <abbr> pour toutes les abrévations d'un document mais voici quelques cas où cet élément s'avère pertinent :

  • Lorsqu'une abrévation est utilisée et qu'on souhaite fournir une définition ou une explication en dehors du contenu du document, on utilisera <abbr> avec un attribut title adéquat.
  • Lorsqu'une abrévation fait partie d'un jargon ou d'un vocabulaire qui risque d'être inconnu du lecteur, un élément <abbr> avec un attribut title explicatif pourra être utilisé.
  • Lorsqu'on souhaite bénéficier de la sémantique liée à l'abrévation (par exemple pour les manipuler en script ou les mettre en forme avec des feuilles de style), on pourra utiliser <abbr> pour identifier ces contenus.
  • Lorsqu'on souhaite définir des termes qui sont des abrévations, on pourra utiliser une combinaison de <abbr> et de <dfn>. Voir ci-après pour un exemple.

Grammaire

Lorsqu'il est présent, le nombre (grammatical) du texte de l'attribut title devrait correspondre à celui du contenu de l'élément abbr. C'est également le cas dans les langues avec plus de deux genres grammaticaux (par exemple, l'Arabe, en plus des catégories pour le singulier et le pluriel, possède également une catégorie double).

Mise en forme par défaut

Le but de cet élément est purement explicatif. Tous les navigateurs l'affichent en ligne (display: inline) par défaut mais le reste de la mise en forme par défaut peut varier d'un navigateur à l'autre :

  • Certains navigateurs tels qu'Internet Explore lui appliquent la même mise en forme qu'à un élément <span>.
  • Opera, Firefox et d'autres navigateurs souligne l'abréviation avec une ligne de points.
  • D'autres navigateurs ne soulignent pas le texte mais l'écrivent en petites majuscules. Pour éviter ce comportement, on pourra utiliser la règle CSS font-variant: none.

Exemples

Baliser une abrévation pour marquer la sémantique

On peut baliser une abrévation sans fournir de description ou de définition, il suffit d'utiliser <abbr> sans attribut.

HTML

<p>Nous allons voir le <abbr>HTML</abbr> qui sert à construire des pages web.</p>

Résultatt

Mettre en forme des abréviations

CSS peut être utilisé pour appliquer une mise en forme particulière sur les abréviations.

HTML

<p>Avec <abbr>CSS</abbr>, on peut mettre en forme les éléments.</p>

CSS

abbr {
  font-variant: all-small-caps;
}

Résultat

Fournir une description

On peut ajouter un attribut title afin de fournir une description de l'abréviation ou de l'acronyme.

HTML

<p>Et là je lui ai répondu <abbr title="Laugh Out Loud">LOL</abbr>.</p>

Résultat

Définir une abréviation

Il est possible d'utiliser l'élément <abbr> avec <dfn> afin de formellement définir une abréviation.

HTML

<p><dfn id="html"><abbr title="HyperText Markup Language">HTML</abbr>
</dfn> est un langage de balise qui permet de créer la structure et d'organiser
la sémantique d'une page web.</p>

<p>Une <dfn id="spec">Spécification</dfn>
(<abbr title="Specification">spec</abbr>) est un document qui décrit, de façon
détaillée comme une technologie ou une API fonctionne et comment l'utiliser.</p>

Résultat

Accessibilité

C'est une bonne pratique que d'épeler l'acronyme ou l'abréviation lorsqu'elle est utilisée pour la première fois. Cela permet au lecteur de mieux comprendre le terme, notamment si celui-ci est technique ou appartient à un jargon spécifique.

Exemple

<p>JavaScript Object Notation (<abbr>JSON</abbr>) est un format léger d'échange de données.</p>

Cela peut servir aux personnes qui découvrent ces concepts pour la première fois ou pour les personnes souffrant de troubles cognitifs.

Specifications

Specification Status Comment
HTML Living Standard
La définition de '<abbr>' dans cette spécification.
Standard évolutif  
HTML5
La définition de '<abbr>' dans cette spécification.
Recommendation  
HTML 4.01 Specification
La définition de '<abbr>' dans cette spécification.
Recommendation  

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple2 Oui117 Oui Oui
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple Oui Oui Oui4 Oui Oui Oui

1. Before Firefox 4, this element implemented the HTMLSpanElement interface instead of the standard HTMLElement interface.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : SphinxKnight, marie-ototoi, fscholz, msherefel, tregagnon, Pandark, Fredchat
Dernière mise à jour par : SphinxKnight,