5568 sujets

Sémantique web et HTML

Bonjour,

Je suis en train de réaliser mon book en ligne mais j'ai un petit problème dans la validité de ma structure html5... J'ai une balise
a
qui englobe une balise
img
et une balise
figcaption
et le validateur m'explique que ce n'est pas possible.

J'aimerais comprendre pourquoi et quelle est la solution puisque je n'arrive pas à englober directement la balise
figure
...

Merci d'avance.
Modifié par charlescoiffier (19 Oct 2010 - 08:56)
Salut charlescoiffier

Le validateur dit que figcaption ne peut pas être un enfant dans ce contexte. Tu as placer « figcaption » dans la balise <a> et </a>

Voici un exemple du w3c


<figure>
 <img src="ex-a.png" alt="Two squiggles on a dirty piece of paper.">
 <figcaption>Exhibit A. The alleged <cite>rough copy</cite> comic.</figcaption>
</figure>


Sa documentation : figcaption et figure

Toi selon ton code tu as envelopper « figcaption » dans la balise <a> et </a>
Tu ne dois pas. Déplace ta balise de fermeture </a> juste après la balise <img>

Comme ceci

<figure>
 <a href="#"><img src="dossier/fichierImage.png" alt="alternative"></a>
 <figcaption>Ta légende ici <cite>et ici</cite></figcaption>
</figure>

Remarque aussi que le w3c ne termine pas la balise img comme ceci <img /> en HTML5

En un mot « figcaption » ne peut être qu'un enfant de « figure ». Mais d'aucune autre balise.

++
Modifié par zardoz (19 Oct 2010 - 07:58)
Merci !

J'avais un petit problème car la balise <a> se retrouve derrière la légende et perturbe la navigation mais j'ai résolu cela avec javascript (qui gère déjà cette mise en superposition de la légende et de l'image).

Merci encore ! Smiley biggrin