html5 microdata

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 de content , 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 en span (consulte El elemento span 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:

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 .