Bonjour,
Avant tout, la "sémantique" des images va passer obligatoirement par le respect de la norme et donc par l'utilisation de l'attribut
alt :
<img src="..." alt="..." />
(Aucun des deux exemples de ton message n'est donc correct)
La contrainte "sémantique" est que l'information véhiculée par l'image, ou la fonction qu'elle assume soient retranscrites textuellement par cet attribut si elles ne le sont pas par ailleurs, et si elles sont nécessaires pour la compréhension du document ou l'utilisation du service.
Partant de là, chaque image est un cas particulier dans un contexte particulier. L'attribut
alt pourra contenir par exemple
Tableau représentant une pipe, ou bien
une pipe, mais également rien (alt="") si cette information est donnée par ailleurs dans le document de manière satisfaisante, ou si elle n'est pas nécessaire.
Pour ce qui est de la légende : la
sémantique HTML ne comporte pas d'élément ou d'attribut destiné à cet usage. Et là encore, tout est fonction du contexte.
Dès lors, on peut tout aussi bien utiliser, à la suite de l'image, ou avant celle-ci :
- un paragraphe (élément souvent fourre-tout, mais ce n'est pas bien grave),
- un élément "div" (générique, utilisé faute d'élément spécifique : il est fait exactement pour cela)
- un titre <h> (précédant l'image, dans une série d'images)
Voire même une combinaison d'un de ces éléments et d'un élément <cite> (référence à une ressource, et non citation comme souvent employé à tort), plutôt pour le principe qu'autre chose en l'absence d'exploitation de celui-ci par les "machines" courantes...
En revanche, l'attribut
title est à manier avec précautions : il ne sera pas exploité par de nombreux navigateurs (textes par exemple), ne sera pas accessible à certains utilisateurs même dans un navigateur graphique moderne, et ne devrait donc pas véhiculer à lui seul une information vitale. Même s'il est tout à fait possible d'afficher son contenu via la propriété
content: attr(title) appliqué à un
img:after...
Modifié par Laurent Denis (10 Dec 2005 - 07:08)