Ошибка проверки HTML-атрибута атрибута свойства
Я использую несколько плагинов для facebook, и я использую мета-заголовок. При проверке страницы валидатор W3C выдает ошибку → "Ошибка: свойство атрибута отсутствует".
Я использую XHTML Transitional doctype - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Pls Предложите, если мне нужно изменить doctype на что-то еще.
Ответы
Ответ 1
Плагины Facebook используют Open Graph, который построен на RDFa. Он RDFa, который добавляет атрибут property
к элементам. Без этого добавления обычный HTML не имеет такого атрибута. (Если вы спросите меня, это странный дизайн, чтобы добавить новый атрибут без имён пространства имен и повторно использовать половину тега <meta>
. Но никто не делал этого.)
Чтобы проверить XHTML-с-RDFa, вам понадобится DOCTYPE:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
Это означает, что вам придется писать действительный XHTML 1.1. Подробнее
Ответ 2
Чтобы документ утверждал, что он соответствует документу HTML + RDFa, он должен предоставить средства, описанные как обязательные в этом разделе. Ниже перечислены критерии соответствия документа, из которых только подмножество является обязательным:
- Все требования к совместимости документов, указанные как обязательные в спецификации HTML5, должны быть выполнены.
- В элементе
html
должен быть атрибут version
. Значение атрибута version должно быть HTML+RDFa 1.0
, если документ является документом режима, отличным от XML, или XHTML+RDFa 1.0
, если документ является документом режима XML.
- Может быть элемент ссылки, содержащийся в элементе head, который содержит профиль для атрибута
rel
и http://www.w3.org/1999/xhtml/vocab для href
.
Пример:
<html version="HTML+RDFa 1.1" lang="en">
<head>
<title>Example Document</title>
</head>
<body>
<p>Moved to <a href="http://example.org/">example.org</a>.</p>
</body>
</html>
Ответ 3
Как Open Graph предлагает, если вы используете HTML5, вам лучше использовать атрибут префикса, например:
<!doctype html>
<html prefix="og: http://ogp.me/ns#">
<head>
<title>HTML5 site</title>
<meta property="og:title" content="The Rock" />
</head>
<body>
</body>
</html>
Вы можете оставить doctype как есть, и он будет validate.
Этот подход также был рекомендован разработчиком Open Graph.