Микроданные itemprop вызывает ошибку валидатора W3C

после добавления микроданных на мои страницы я получил много ошибок от валидатора W3C, жалующегося на itemprop:

нет атрибута "itemprop"

из такого кода:

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

это мой DOCTYPE и html tag

<!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">

как исправить ошибки валидатора?

p.s. Ранее у меня была ошибка валидатора для itemscope как хорошо. Но после того, как я изменил его на itemscope="itemscope" тогда ошибка исправлена.

4 ответов


документы HTML 5 плюс микроданные, используемые для успешной проверки, но из-за ошибка #14020 валидатор стал более строгим при объявлении документов как "действительных". Ваш документ действителен HTML 5 + микроданные, но не является строго HTML 5-только документ.

вы можете использовать http://Validator.nu/ для проверки HTML 5 + микроданных.

сайт, связанный с ответом Фабиана, -не в W3C по сайт он упоминает, поэтому я бы не доверял этому столько для HTML 5, сколько я мог бы иметь для более раннего (до 2000) версии HTML.

причина, по которой вам пришлось изменить itemscope на itemscope= "itemscope" заключается в том, что предыдущие браузеры и спецификации определили несовместимые интерпретации (иногда true, иногда false) кода, такого как itemscope (no value), itemscope= " "(пустая строка интерпретируется как false XPath) и itemscope="false" (любая непустая строка string иногда интерпретируется как true). Таким образом, утверждение в спецификации, что "значения" true " и "false" не разрешены для булевых атрибутов.- Однако "истинно" и "ложно"!--11-->can отображаются в определенных значениях атрибутов, потому что они are разрешено для перечисленных атрибутов, таких как разрешить. Увидеть пули #4 в отношении кодирования логических значений.

обходные пути (в другом месте) для вставки недопустимого кода со сценариями могут скрыть это код от валидатора, но он не будет создавать документ, который является более допустимым, чем использование статического HTML-кода, потому что спецификация HTML 5 определяется в терминах внутренней модели документа, а не внешнего представления. См.HTML 5 спецификации сосредоточиться на DOM.


OK, вот что я сделал, чтобы сделать эту работу с валидатором:

ссылка на эту страницу:http://www.w3.org/TR/2011/WD-microdata-20110525/

Я вложил main в мою страницу ("обертку", если хотите) со следующим:

<div id="layout" itemscope>

Если у вас есть itemscope в теге div для вашей страницы или для div, содержащего микроданные, то валидатору W3C это понравится.


DOCTYPE должен быть HTML5 для проверки микроданных.

<!DOCTYPE html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
.....

Он будет работать с тег абзаца:

http://www.w3.org/TR/2011/WD-microdata-20110525/


Если вы просто хотите удалить этот тег, вы можете сделать это путем удаления тега из файла, который находится в корневой папке

"wp-includes / general-template.в PHP " at 891 строку

вы можете просто удалить лишние метки.