2011-09-28 17 views
8

Después de añadir microdatos a mis páginas, tengo muchos errores de validación de W3C que se quejan del itemprop:microdatos itemprop causa de error de validación W3C

no hay ningún atributo "itemprop"

De código como este :

<p itemprop="description">...</p> 

Ésta es mi DOCTYPE y html etiqueta

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:fb="http://www.facebook.com/2008/fbml"> 

Cómo corregir los errores del validador?

p.s. Anteriormente tengo el error del validador para itemscope también. Pero después de que lo cambié a itemscope="itemscope", se corrigió el error.

Respuesta

15

documentos con HTML 5 además de microdatos utilizado para validar correctamente pero debido a Bug #14020 el validador se ha vuelto más estricta sobre la declaración de los documentos como "válida". Su documento es HTML 5 + Microdata válido, pero no es estrictamente un documento HTML 5 solo.

Puede usar http://Validator.nu/ para validar HTML 5 + Microdatos.

El sitio vinculado a en la respuesta de Fabian es no el sitio W3C él menciona, por lo que no habría que confiar tanto para HTML 5, como puede ser que tenga por lo de antes (pre-2000) versions of HTML.

El motivo por el que tuvo que cambiar itemscope a itemscope = "itemscope" es que los navegadores y especificaciones anteriores han definido interpretaciones incompatibles (a veces verdaderas, a veces falsas) de código como itemscope (sin valor), itemscope = "" (cadena vacía es interpretada como falsa por XPath) y itemscope = "false" (cualquier cadena no vacía a veces se interpreta como verdadera). Por lo tanto, la afirmación en la especificación de que "los valores 'verdadero' y 'falso' no están permitidos en atributos booleanos". Sin embargo, "verdadero" y "falso" pueden aparecer en ciertos valores de atributo porque son permitidos en atributos enumerados como draggable. Ver viñeta # 4 con respecto a coding boolean values.

Las soluciones (en otro lugar) para insertar código no válido con scripting pueden ocultar ese código del validador, pero no creará un documento que sea más válido que usar código HTML estático porque la especificación HTML 5 se define en términos del modelo de documento interno, no la representación externa. Ver HTML 5 Specifications focus on the DOM.

4

OK, aquí es lo que hice para hacer este trabajo con el validador:

En referencia a esta página: http://www.w3.org/TR/2011/WD-microdata-20110525/

que encerraba el principal en mi página (el "envoltorio" si se quiere) con lo siguiente:

<div id="layout" itemscope> 

Si tiene itemscope en la etiqueta div para su página o para el div que contiene microdatos, entonces el Validtor W3C le va a gustar muy bien.

0

si sólo desea eliminar esta etiqueta, puede hacerlo mediante la eliminación de la etiqueta del archivo que se encuentra en la carpeta raíz principal

"wp-includes/template.php-general de" en la línea de

puede simplemente eliminar la etiqueta adicional.

Cuestiones relacionadas