HTMLImageElement : propriété alt
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since juillet 2015.
La propriété alt
de l'interface HTMLImageElement
fournit un texte de remplacement (alternatif) à afficher lorsque l'image spécifiée par l'élément HTML <img>
n'est pas chargée.
Cela peut arriver en cas d'erreur, si l'utilisateur·ice a désactivé le chargement des images, ou si l'image n'a pas encore fini de se charger.
La raison la plus importante d'utiliser la propriété alt
est de favoriser l'accessibilité, car le texte alt
peut être utilisé par les lecteur·ice·s d'écran et autres technologies d'assistance pour permettre aux personnes en situation de handicap de profiter pleinement de votre contenu.
Par exemple, il sera lu à voix haute ou envoyé à un dispositif braille pour soutenir les utilisateur·ice·s aveugles ou malvoyant·e·s.
À retenir : Lorsque vous choisissez une chaîne de caractères
alt
pour vos images, imaginez ce que vous diriez en lisant la page à quelqu'un·e au téléphone, sans mentionner qu'il y a une image sur la page.
Le texte alternatif s'affiche à la place de l'image et doit pouvoir la remplacer sans modifier le sens de la page.
Valeur
Une chaîne de caractères contenant le texte alternatif à afficher lorsque l'image n'est pas chargée ou à destination des dispositifs d'assistance.
L'attribut alt
est officiellement obligatoire : il doit toujours être renseigné.
Si l'image ne nécessite pas de texte de remplacement (par exemple, pour une image décorative ou une icône d'information de faible importance), vous pouvez indiquer une chaîne de caractères vide (""
).
Pour des raisons de compatibilité, les navigateurs acceptent généralement une image sans attribut alt
, mais il est recommandé de toujours l'utiliser.
Notes d'utilisation
La règle fondamentale pour l'attribut alt
est que le texte alternatif de chaque image doit pouvoir remplacer l'image sans modifier le sens de la page. Il ne faut jamais utiliser alt
pour un texte qui pourrait être interprété comme une légende ou un titre.
Il existe d'autres attributs et éléments prévus à cet effet.
Exemples
Au-delà de cela, il existe des recommandations supplémentaires pour bien utiliser alt
selon l'usage de l'image. Elles sont illustrées dans les exemples suivants.
Images décoratives
Les images sans signification sémantique — purement décoratives ou à valeur informative très limitée — doivent avoir leur attribut alt
défini à la chaîne de caractères vide (""
).
C'est illustré dans l'exemple suivant.
HTML
Dans le HTML de cet exemple, l'élément <img>
inclut la propriété alt
, ce qui empêche l'image d'avoir un texte alternatif, puisqu'il s'agit d'un détail décoratif.
<div class="container">
<div class="left-margin">
<img src="margin-flourish.svg" alt="" />
</div>
<div class="contents">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque quis orci
ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ac
neque libero. Vivamus consectetur rhoncus elit eget porta. Etiam pulvinar
ex id sapien laoreet, quis aliquet odio lobortis. Nam ac mauris at risus
laoreet cursus vitae et sapien. Etiam molestie auctor eros, ac porta risus
scelerisque sit amet. Ut nunc neque, porta eu auctor at, tempor et arcu.
</p>
</div>
</div>
body {
margin: 0;
padding: 0;
}
p {
margin-block-start: 0;
margin-block-end: 1em;
margin-top: 0;
margin-bottom: 1em;
}
.container {
width: 100vh;
height: 95vh;
font:
16px Arial,
Helvetica,
sans-serif;
}
.left-margin {
background-color: rgb(241 240 237);
width: 9em;
height: 100%;
float: left;
margin-right: 5px;
padding-right: 1em;
display: flex;
align-items: center;
justify-content: center;
}
.left-margin img {
width: 6em;
}
.contents {
background-color: rgb(241 240 235);
height: 100%;
margin-left: 2em;
padding-top: 1em;
padding-left: 2em;
padding-right: 1em;
}
Résultat
Images utilisées comme boutons
Lorsque vous utilisez une image comme bouton (en l'utilisant comme unique enfant visible d'un élément HTML <a>
représentant un lien), l'attribut alt
doit servir à exprimer la fonction du bouton.
Autrement dit, il doit s'agir du même texte que celui que vous utiliseriez pour un bouton textuel ayant le même objectif.
Par exemple, dans l'extrait HTML ci-dessous, une barre d'outils utilisant des icônes comme libellés de liens fournit un attribut alt
pour chacune, donnant un libellé textuel à utiliser à la place de l'icône si les icônes ne sont pas affichées ou sont volontairement désactivées.
<li class="toolbar" role="toolbar">
<a href="songs.html" role="button">
<img src="songicon.svg" alt="Songs" />
</a>
<a href="albums.html" role="button">
<img src="albumicon.svg" alt="Albums"
/></a>
<a href="artists.html" role="button">
<img src="artisticon.svg" alt="Artists" />
</a>
<a href="playlists.html" role="button">
<img src="playlisticon.svg" alt="Playlists" />
</a>
</li>
Images contenant des schémas ou des cartes
Lorsqu'une image présente des informations sous forme de schéma, graphique, diagramme ou carte, le texte alt
doit fournir la même information, au moins sous forme résumée.
C'est valable que l'image soit au format bitmap comme PNG ou JPEG, ou au format vectoriel comme SVG.
- Pour une carte, le texte
alt
peut donner les indications pour se rendre à l'endroit indiqué, comme vous l'expliqueriez à l'oral. - Pour un graphique, le texte peut décrire les éléments du graphique et leurs valeurs.
- Pour un schéma, le texte peut expliquer le concept présenté.
Gardez à l'esprit que tout texte inclus dans les schémas et graphiques au format SVG peut être lu par les lecteur·ice·s d'écran.
Cela peut influencer la façon dont vous rédigez le texte alt
du schéma.
Icônes ou logos
Les logos (par exemple, d'entreprise ou de marque) et les icônes informatives doivent utiliser le texte correspondant dans leur chaîne de caractères alt
.
Autrement dit, si l'image est un logo d'entreprise, le texte alt
doit être le nom de l'entreprise.
Si l'image est une icône représentant un état ou une information, le texte doit être le nom de cet état.
Par exemple, si une image est un badge affiché sur une page pour indiquer que le contenu est nouveau et a été récemment mis à jour, le texte alt
correspondant pourrait être « Mis à jour récemment » ou même « Mis à jour le 27 août 2019 ».
Dans cet exemple, une image en étoile avec le mot « Nouveau ! » est utilisée pour indiquer qu'un article porte sur une nouveauté (et probablement aussi quelque chose de supposé enthousiasmant).
L'attribut alt
est défini à « Nouvelle page ! » pour permettre à ce texte d'être affiché à la place de l'image si celle-ci n'est pas disponible.
Il sera également lu par les lecteur·ice·s d'écran.
HTML
Le code HTML suivant crée un extrait de contenu d'un site utilisant l'icône décrite.
Notez l'utilisation de l'attribut alt
sur <img>
, fournissant une bonne chaîne de substitution à utiliser si l'image ne se charge pas.
Notez l'utilisation de l'attribut alt
sur <img>
, fournissant une bonne chaîne de substitution à utiliser si l'image ne se charge pas.
<div class="container">
<img
src="https://www.bitstampede.com/mdn-test/new-page.svg"
alt="New Page!"
class="page-info-badge" />
<p class="contents">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque quis orci
ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ac neque
libero. Vivamus consectetur rhoncus elit eget porta. Etiam pulvinar ex id
sapien laoreet, quis aliquet odio lobortis. Nam ac mauris at risus laoreet
cursus vitae et sapien. Etiam molestie auctor eros, ac porta risus
scelerisque sit amet. Ut nunc neque, porta eu auctor at, tempor et arcu.
</p>
</div>
CSS
L'élément principal du CSS ici est l'utilisation de clip-path
et shape-outside
pour habiller le texte autour de l'icône de façon esthétique.
.container {
max-width: 500px;
}
.page-info-badge {
width: 9em;
padding-right: 1em;
float: left;
clip-path: polygon(
100% 0,
100% 50%,
90% 70%,
80% 80%,
70% 90%,
50% 100%,
0 100%,
0 0
);
shape-outside: polygon(
100% 0,
100% 50%,
90% 70%,
80% 80%,
70% 90%,
50% 100%,
0 100%,
0 0
);
}
.contents {
margin-top: 1em;
font:
16px Arial,
Helvetica,
Verdana,
sans-serif;
}
Résultat
Autres images
Les images montrant des objets ou des scènes doivent avoir un texte alt
décrivant ce qui est visible sur l'image. Une photo d'une théière jaune pourrait littéralement avoir son attribut alt
défini à « Une théière jaune ».
Spécifications
Specification |
---|
HTML> # dom-img-alt> |
Compatibilité des navigateurs
Loading…