5568 sujets

Sémantique web et HTML

Bonjour
J'ai besoin de regrouper plusieurs <figure> dans un ensemble.
On peut toujours écrire
<div>
  <figure>...</figure>>
  <figure>...</figure>>
  <figure>...</figure>
</div>

Mais est-ce une "bonne pratique" d'écrire
<figure>
  <figure>...</figure>>
  <figure>...</figure>>
  <figure>...</figure>
</figure>

Merci de donner votre opinion.
Bonjour,
Si j'en crois les spécifications du W3C pour l'élément figure, il est dit ceci :
The figure element represents a unit of content, optionally with a caption, that is self-contained, that is typically referenced as a single unit from the main flow of the document, and that can be moved away from the main flow of the document without affecting the document’s meaning.
Avec un "permitted content" défini à :
one figcaption element, followed by flow content
"Flow content" est lui-même défini à :
Flow content consists of flow elements intermixed with normal character data.
Et enfin, "Flow elements" est défini à :
phrasing elements or a or p or hr or pre or ul or ol or dl or div or h1 or h2 or h3 or h4 or h5 or h6 or hgroup or address or blockquote or ins or del or object or map or noscript or section or nav or article or aside or header or footer or video or audio or figure or table or form or fieldset or menu or canvas or details
L'élément "Figure" étant dans la liste des "Flow elements", je serai tenté de dire qu'il est donc possible d'avoir une balise Figure directement en dessous d'une autre balise du même type.
Merci de ta réponse

C'est effectivement ce que je pense, et ça correspond à une logique:
<figure> a été inventé pour contenir des "figures" de document, et celles-ci dans la pratique sont souvent des montages d'images, certaines avec une légende attachée, c'est à dire des <figure>
Les <figure>sont un concept récursif, comme les <table> qui peuvent contenir des <table>.

Maintenant savoir comment tout cela est implémenté dans les navigateurs.
De façon intéressante, j'ai arrêté de mettre <h3> à l'intérieur de <figcaption>, car ça ne fonctionnait pas correctement sur certains navigateurs récents (Chrome si je me souviens bien).
Et pourtant l'élément figcaption est lui aussi défini avec "Permitted contents: flow content"
Bonjour,


Techniquement, c'est valide.

Par contre perso ça ne me paraît pas très logique. Si tu as 3 illustrations qui se suivent par exemple, soit c'est 3 éléments de contenu indépendants et donc il doit y avoir 3 figure et 3 figcaption, ou alors c'est une série d'images liées entre elles p.ex. représentant un processus suivi, et alors il y a 3 img dans le figure + un seul figcaption expliquant le tout. Ce n'est pas interdit d'avoir plusieurs img dans un figure.
QuentinC a écrit :
Si tu as 3 illustrations qui se suivent par exemple, soit c'est 3 éléments de contenu indépendants et donc il doit y avoir 3 figure et 3 figcaption, ou alors c'est une série d'images liées entre elles p.ex. représentant un processus suivi, et alors il y a 3 img dans le figure + un seul figcaption expliquant le tout. Ce n'est pas interdit d'avoir plusieurs img dans un figure.

J'ai un <figcaption> par <img> plus un pour l'ensemble des images, et cela peut être récursif comme par exemple dans une planche de l'Encyclopédie où on regroupe les images avec leurs légendes.
Pendant longtemps on a dû ajouter du texte dans des images par logiciel de traitement d'images, avec autant de manipulations que de langues. Grâce aux balises <figure> on a quelque chose de construit pour traiter ce genre de situation, je trouve que c'est un progrès conceptuel et technique très intéressant.
Mon problème n'est pas trop de savoir si c'est "interdit" par je ne sais quelle instance, mais plus prosaïquement si c'est "supporté" par les principaux navigateurs.