<figcaption> en HTML : la légende qui décrit vraiment une figure

La balise figcaption fournit la légende d'une figure, associée automatiquement à son contenu pour les technologies d'assistance.
4 min de lecture
Believemy logo

Une image accompagnée d'une légende n'a rien d'exceptionnel : un graphique suivi d'une phrase qui en précise la source, une photo suivie d'un numéro de figure et d'une description. Le réflexe courant est d'ajouter cette légende dans un simple paragraphe placé juste après l'image, sans lien technique entre les deux. Pour un visiteur qui voit la page, l'association est évidente. Pour un lecteur d'écran, ce paragraphe reste un texte isolé parmi d'autres, sans rapport formel avec l'image qui le précède.

<figcaption> répare ce manque : associée à une <figure>, elle en devient la légende officielle, reconnue comme telle par le navigateur et par les technologies d'assistance.


Définition

<figcaption> est la légende d'une <figure> : elle décrit ce que montre le contenu qu'elle accompagne, qu'il s'agisse d'une image, d'un graphique ou d'un extrait de code. La norme n'en accepte qu'une seule par figure, et elle doit se trouver à un endroit précis : soit tout au début, soit tout à la fin du contenu de la figure, jamais au milieu.


Une place précise : premier ou dernier enfant

Les deux positions sont valides et répondent à des habitudes de lecture différentes. Placée en premier, la légende fonctionne comme un titre qui annonce ce qui va suivre, une habitude fréquente dans les publications scientifiques ou techniques (« Figure 1 : évolution du trafic mensuel »). Placée en dernier, elle fonctionne comme une explication qui vient après coup, l'usage le plus courant sur le web pour les photos et les illustrations.

HTML
<figure>
  <img
    src="trafic-mensuel.png"
    alt="Courbe du trafic mensuel de janvier à décembre"
  />
  <figcaption>Figure 1 : le trafic double après la refonte de juin</figcaption>
</figure>


Une association automatique pour les technologies d'assistance

Dès qu'une <figcaption> est présente, le navigateur associe automatiquement son texte au contenu de la figure comme description accessible, sans qu'il soit nécessaire d'ajouter un aria-describedby à la main. Un lecteur d'écran annonce alors la figure et sa légende comme un seul ensemble cohérent, dans l'ordre où elles sont écrites. C'est ce lien automatique qui distingue vraiment <figcaption> d'un paragraphe placé au hasard à côté d'une image : l'un est structurellement rattaché, l'autre reste un voisin de circonstance.


Différence avec la légende d'un tableau

<caption> joue un rôle comparable, mais réservé aux tableaux : elle ne peut apparaître qu'à l'intérieur d'un tableau, et uniquement comme premier enfant. <figcaption>, elle, ne fonctionne qu'à l'intérieur d'une <figure>, jamais ailleurs. Les deux balises partagent la même idée, légender un contenu, mais chacune reste strictement liée à son propre conteneur.


Bonnes pratiques de rédaction

Une bonne légende ajoute une information que l'image seule ne donne pas : un numéro de référence, la source des données, la date de prise de vue, ou une explication du contexte. Elle gagne à rester courte, une phrase ou deux suffisent largement. Le piège à éviter est de répéter mot pour mot ce que dit déjà l'attribut alt de l'image : les deux textes se lisent l'un après l'autre pour un lecteur d'écran, et une répétition intégrale n'apporte rien, elle allonge simplement l'écoute pour rien.

Bon à savoirUne figure ne peut contenir qu'une seule <figcaption>. En ajouter une deuxième, par erreur ou par copier-coller, ne provoque pas d'erreur visible : le navigateur ignore simplement celle qui n'est ni en première ni en dernière position, ou ne retient que la première rencontrée selon les cas. Le résultat est une légende manquante que personne ne remarque avant un audit d'accessibilité.
QuestionPeut-on mettre plusieurs figcaption dans une même figure ?

Non, la norme n'en accepte qu'une seule par figure. Si plusieurs légendes sont présentes, le comportement devient incohérent d'un navigateur à l'autre, et le résultat le plus sûr reste toujours une seule légende, bien positionnée en premier ou en dernier enfant.

QuestionLe texte du figcaption remplace-t-il l'attribut alt de l'image ?

Non, les deux jouent des rôles différents et ne devraient pas répéter la même phrase. L'attribut alt décrit l'image elle-même pour quelqu'un qui ne peut pas la voir, tandis que la légende décrit la figure dans son ensemble, avec son numéro, sa source ou son contexte, et reste visible pour tout le monde.

QuestionPeut-on utiliser figcaption si la figure ne contient pas d'image ?

Oui, sans problème. Une figure peut contenir un extrait de code, un graphique, une citation ou une vidéo, et <figcaption> fonctionne exactement de la même façon pour légender n'importe lequel de ces contenus.

Termes connexes

Découvrez notre glossaire HTML et CSS

Parcourez les termes et définitions les plus couramment utilisés dans le domaine du développement HTML et CSS.

Partager cet article

Tu veux nous aider ? Fais un lien vers cet article sur tes réseaux ou encore mieux : sur ton site, dans un article ou dans ta newsletter.