Microdatos HTML5: ¿contenido extendido?
microdata (2)
He leído la especificación HTML5 , la especificación de microdatos y la especificación WHATWG HTML5 (con microdatos) . Estos están bien escritos y son fáciles de entender.
Pero ahora leí la especificación del libro de schema.org y encontré fragmentos como los siguientes:
<span itemprop="price" content="6.99">$6.99</span>
<span itemprop="inLanguage" content="en">English-language</span>
<span itemprop="name" content="Tolkien, J. R. R. (John Ronald Reuel)">
J. R. R. Tolkien</span>
Aparentemente (en comparación con la versión JSON), los valores de estas propiedades de microdatos son los valores de los atributos de
content
de los elementos
span
.
(Por supuesto, si no hay un atributo de
content
, el valor es el
textContents
de
textContents
del elemento
span
).
Pero no puedo encontrar ningún soporte para esta práctica en las especificaciones de HTML y microdatos.
De hecho, ¡ni siquiera puedo encontrar ninguna evidencia de que haya un atributo de
content
en los elementos
span
en absoluto!
-
La especificación de microdatos no dice nada sobre un atributo de
content
span
cuando da las reglas para los values . [A menos que ''el contenido del texto del elemento'' sea anulado por el atributo decontent
, pero tampoco puedo encontrar ningún soporte para esto.] -
Ni siquiera la especificación completa de microdatos WHATWG HTML5 + admite la afirmación de que hay un atributo de
content
enspan
(consulte El elementospan
y Atributos globales ).
Entonces, supongo que el ejemplo de schema.org no es conforme. ¿Pero también es simplemente incorrecto? Si no, ¿de dónde viene esta práctica y qué tan aceptada es?
Sí, esto está mal.
Ni Microdata ni HTML5 definen un atributo de
content
para el elemento
span
.
Varias personas querían usarlo, vea por ejemplo el código en estas preguntas:
- ¿Ocultar el valor de la propiedad Microdata en el atributo ''contenido''?
- ¿Categorías para Producto en schema.org?
- ¿Es válido el atributo "contenido" para la etiqueta <span>> si es así, es una buena práctica?
- marcado de etiquetas de disponibilidad de producto de schema.org
No estoy seguro de dónde viene exactamente esta confusión.
(No ayuda que la Herramienta de prueba de datos estructurados de Google use incorrectamente el atributo de
content
lugar del contenido del elemento; pero al menos todos los
demás analizadores de microdatos
parecen hacerlo correctamente).
Quizás algunas personas se confundieron porque RDFa (pero no Microdata) define y permite el
atributo de
content
para
span
.
Vea las
extensiones de
HTML + RDFa
a la sintaxis HTML5
:
Para evitar dudas, los siguientes atributos RDFa están permitidos en todos los elementos del modelo de contenido HTML5:
@vocab
,@typeof
,@property
,@resource
,@prefix
,@content
,@about
,@rel
,@rev
,@datatype
y@inlist
.
(Lo siento, no tenía suficiente reputación para publicar un comentario).
Estamos a finales de 2017 ahora.
De alguna manera, los documentos web de MDN (
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop
) y los documentos de esquema (
http://schema.org/telephone
) todavía proponen usar un atributo de
content
en el
span
utilizando microdatos.
Ningún validador html5 aceptará esto, por supuesto.