Je travaille sur un effet de survol de la légende de l'image pour mon site et c'est à peu près terminé. J'utilise une combinaison de CSS et jQuery.Balisage sémantique pour les survols de légende d'image?
Il ressemble à quelque chose comme ça ...
Il fonctionne bien. La légende apparaît à gauche de l'image lorsque vous passez la souris sur l'image.
Toutefois, j'obtiens un avertissement dans Visual Studio indiquant qu'une balise h2
ne peut pas être placée à l'intérieur d'une étiquette conformément à XHTML 1.0 Transitional.
Voici le balisage Je travaille avec ...
<ul>
<li>
<a href="/controls/27/saturation-rollover-effect">
<label class="info">
<h2>Saturation Rollover Effect</h2>
<p>Product description here...</p>
</label>
<img src="/thumbnail/small/27-saturation-rollover-effect.jpg" alt="Saturation Rollover Effect" />
</a>
</li>
</ul>
J'ai aussi essayé un span
à la place du label
, et je reçois le même message. J'ai également essayé un div
, mais les div ne sont pas supposés être à l'intérieur de la balise a
.
Je préfère garder tout cela à l'intérieur du lien comme je l'ai pour que le SEO profite du texte. Mais j'aimerais aussi être XHTML Transitional conforme, et sémantique/significatif en même temps. Des idées?
Je ne pense pas qu'un 'label' soit l'élément auquel vous songez, ce sont des éléments 'form', pour associer le [label étant défini avec un autre contrôle] (http://www.w3.org /TR/html4/interact/forms.html#h-17.9.1): [DTD XHTML Transitional] (http://www.w3.org/TR/xhtml1/dtds.html). Aussi, c'est un élément en ligne, et ne devrait pas contenir (pour autant que je sache, bien que sans référence externe) des éléments au niveau du bloc. –
@David - J'avais d'abord essayé un 'span 'en premier.Le 'label 'était juste moi en train de saisir les pailles, mais je ne devrais probablement pas l'utiliser de toute façon. –
Vous ne pouvez pas placer un 'h2' ou un' p' n'importe où dans une balise 'a' non plus, pas simplement' div' – BoltClock