Itemprop микроданных вызывает ошибку валидатора W3C - PullRequest
8 голосов
/ 28 сентября 2011

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

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

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

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

Это мой DOCTYPE и html тег

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

15 голосов
/ 19 января 2012

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

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

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

Причина, по которой вам пришлось изменить itemscope на itemscope = "itemscope", заключается в том, что предыдущие браузеры и спецификации определяли несовместимые интерпретации (иногда истинные, иногда ложные) кода, такого как itemscope (значение отсутствует), itemscope = "" (пустая строка интерпретируется как XPath как false) и itemscope = "false" (любая непустая строка иногда интерпретируется как true).Таким образом, утверждение в спецификации: «Значения« истина »и« ложь »недопустимы для логических атрибутов».Однако «true» и «false» могут присутствовать в определенных значениях атрибута, поскольку они допускаются для перечисляемых атрибутов, таких как draggable .См. П. 4 относительно кодирования логических значений .

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

4 голосов
/ 01 ноября 2013

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

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

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

<div id="layout" itemscope>

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

1 голос
/ 11 декабря 2011

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

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

Будет работать с тегом абзаца:

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

0 голосов
/ 11 апреля 2017

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

" wp-includes / general-template.php 891 строке

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...