Puis-je utiliser des <link>
balises dans le corps d'une page HTML? J'ai essayé de trouver la réponse à cette question, mais j'ai trouvé des informations contradictoires.
Lors de l'ajout d'un balisage de microdonnées Schema.org à une page HTML, je souhaite ajouter des informations canoniques dans une balise de lien comme celle-ci:
<div itemscope itemtype="http://schema.org/Book">
<span itemprop="name">The Catcher in the Rye</span>—
<link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
by <span itemprop="author">J.D. Salinger</span>
</div>
J'ai obtenu l'exemple de code ci-dessus de Schema.org . Selon eux, c'est la voie à suivre pour les personnes qui souhaitent ajouter une référence canonique à un itemprop, mais ne veulent pas placer un lien hypertexte sur leur site Web.
W3 indique cependant clairement que les <link>
balises ne doivent être placées que dans la section head, rendant ainsi l'exemple Schema.org invalide.
Si je veux m'en tenir à un balisage correct, quels conseils dois-je suivre?
Réponses:
Microdata étend HTML5 d'une manière qui
link
et desmeta
éléments peuvent être utilisés dans lebody
, si elles contiennent unitemprop
attribut.Cette extension est actuellement également incluse dans le HTML 5.1 Nightly (Editor's Draft) (voir
link
élément etmeta
élément ). Mais comme la spécification des microdonnées est récemment devenue une note du W3C , nous devrons voir ce qui se passe avec cette référence.RDFa 1.1 étend HTML5 de manière à ce que les éléments
link
etmeta
puissent être utilisés dans lebody
, s'ils contiennent unpropertỳ
attribut.Vous n'êtes donc pas autorisé à utiliser n'importe quel
link
élément (par exemple,<link href="" rel="" />
) dans lebody
, mais uniquement ceux avec unitemprop
attribut (pour les microdonnées) resp. unproperty
attribut (pour RDFa).Ainsi, votre
link
élément peut être utilisé dansbody
:la source
<link>
balise dans le corps tant qu'elle contient un attribut itemprop? Et tant que l'attribut itemprop est inclus, je peux également inclurehref
tel qu'utilisé dans ma question d'origine?href
attribut dans tous les cas. Aussi longtemps que l'link
élément a unitemprop
attribut, vous pouvez l'utiliser dans lebody
. Il ne s'agit alors plus de métadonnées pour l'ensemble du document (comme ce serait le cas pour leslink
éléments habituels dans lehead
), mais d'un élément "caché" pour les microdonnées.W3Schools ne définit pas les normes de l'industrie sur le codage HTML. Il s'agit simplement d'un site de référence tiers qui n'est en aucun cas affilié au W3C . W3Schools et d'autres sites ont souvent tort lorsqu'ils utilisent des technologies de codage de pointe telles que Schema et Responsive design . Lorsque vous utilisez un code assez nouveau, votre guichet unique devrait être le W3C, conformément aux normes de conformité, et peut-être HTML5 Doctor si vous avez besoin d'aide pour comprendre HTML5, car ils ne sont pas officiels mais très respectés.
En regardant votre code, il passe la validation W3C sans aucun problème avec l'élément de lien contenu dans le
<body> </body>
RÉPONSE COURTE: Oui, vous pouvez utiliser à l'
<LINK>
intérieur<body> </body>
mais comme Unor l'a mentionné dans sa réponse doit inclure itemprop.la source
L'élément link peut être ajouté au corps d'un document HTML si l'
itemprop
attribut est présent. Voici une démo .Voici également un exemple d'attribut link itemprop .
la source