¿Puedo usar <link>
etiquetas en el cuerpo de una página HTML? Traté de encontrar la respuesta a esta pregunta, pero encontré información contradictoria.
Al agregar el marcado de microdatos de Schema.org a una página HTML, quiero agregar información canónica en una etiqueta de enlace como esta:
<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>
Obtuve el código de ejemplo anterior de Schema.org . Según ellos, este es el camino a seguir para las personas que desean agregar una referencia canónica a un itemprop, pero no quieren colocar un hipervínculo en su sitio web.
Sin embargo, W3 establece claramente que las <link>
etiquetas solo deben colocarse dentro de la sección de cabecera, lo que invalida el ejemplo de Schema.org.
Si quiero seguir con el marcado correcto, ¿qué consejo debo seguir?
Respuestas:
Los microdatos extienden HTML5 de una manera que
link
y losmeta
elementos pueden usarse en elbody
, si contienen unitemprop
atributo.Esta extensión también se incluye actualmente en HTML 5.1 Nightly (Borrador del editor) (ver
link
elemento ymeta
elemento ). Pero a medida que la especificación Microdata se convirtió en una Nota W3C recientemente, tendremos que ver qué sucede con esta referencia.RDFa 1.1 extiende HTML5 de una manera que
link
y losmeta
elementos pueden usarse en elbody
, si contienen unpropertỳ
atributo.Por lo que son no puede usar ningún
link
elemento (p. Ej.<link href="" rel="" />
) En elbody
, sino solo aquellos con unitemprop
atributo (para Microdatos) resp. unproperty
atributo (para RDFa).Por lo tanto, su
link
elemento puede usarse enbody
:fuente
<link>
etiqueta en el cuerpo siempre que contenga un atributo itemprop? Y siempre que se incluya el atributo itemprop, ¿también puedo incluirlohref
como se usa en mi pregunta original?href
atributo en cualquier caso. Por lo tanto, siempre que ellink
elemento tenga unitemprop
atributo, puede usarlo en elbody
. Entonces ya no son metadatos para todo el documento (como sería el caso de loslink
elementos habituales en elhead
), sino un elemento "oculto" para Microdata.W3Schools no establece los estándares de la industria en la codificación HTML. Son simplemente un sitio de referencia de terceros que no está afiliado de ninguna manera con el W3C . W3Schools y otros sitios a menudo se equivocan al usar tecnologías de codificación de vanguardia como el esquema y el diseño receptivo . Cuando use un código bastante nuevo, su ventanilla única debería ser W3C, ya que establece los estándares de cumplimiento, y tal vez HTML5 Doctor si necesita ayuda para comprender HTML5 a través de ellos, no son oficiales pero son muy respetados.
Al mirar su código, pasa la validación W3C sin ningún problema con el elemento de enlace contenido en el
<body> </body>
RESPUESTA CORTA: Sí, puede usar
<LINK>
dentro,<body> </body>
pero como Unor ha mencionado en su respuesta, debe incluir itemprop.fuente
El elemento de enlace se puede agregar al cuerpo de un documento HTML si el
itemprop
atributo está presente. Aquí hay una demostración .También aquí hay un ejemplo de atributo itemprop de enlace .
fuente