2012-04-20 4 views
1

При проверке моей страницы, то W3-Validator дает мне ошибку для каждого атрибутаHTML5 действует имена тегов префиксы

<tag addthis:title="AddThis share title" /> 

в моем коде. Как я могу сделать эти атрибуты действительными для HTML5, поэтому страница проверяет? Мне нужны эти теги, поэтому addthis использует правильные заголовки для моих разделяющих ссылок, поэтому я не могу избавиться от них ...

ответ

1

Вы не можете сделать их действительными. Не в HTML, а не в XHTML. Единственные допустимые пользовательские атрибуты, разрешенные в HTML5, запускают «данные».

Вы можете сделать свою разметку действительной HTML5 + что-то или XHTML5 + что-то, но получение валидатора для проверки этого является нетривиальной задачей.

+0

На самом деле, в XHTML они действительны, если вы правильно объявляете пространство имен в пространстве имен, отличном от HTML. Однако элемент 'tag' недействителен, он должен находиться в другом пространстве имен. См. Http://www.w3.org/TR/xhtml1/#well-formed – Abel

+0

@Abel - Пожалуйста, укажите, где в каких-либо спецификациях HTML или XHTML говорится, что они действительны. – Alohci

+0

Я уже обновил свой комментарий, пока вы отвечали;). Кроме того, в HTML5 допускаются два других пространства имен, MathML и SVG. – Abel

4

Я должен был предположить, что «addthis» - это пространство имен XML; тэг html объявляет что-то вроде <html xmlns:addthis="..">? Если нет, он не будет проверяться, потому что пространство имен не определено для документа. Если это так, оно не будет проверяться, потому что «addthis» не является стандартным пространством имен.

См: «синтаксис HTML не поддерживает объявления пространств имен, даже в иностранных элементов» http://www.w3.org/TR/2011/WD-html5-20110405/namespaces.html

посрамлены в своих неприятностях является тот факт, что

Отъезд http://www.w3.org/TR/2011/WD-html5-20110405/syntax.html#elements-0, пример cdr:license.

К сожалению (в вашем случае) HTML5 не является XML, поэтому пространства имен XML необязательно действительны в HTML5. Ваш единственный реальный вариант - игнорировать ошибку проверки.

Не несвязанный вопрос: HTML5 validator failing on Facebook OpenGraph XML Namespace xmlns:og

О, и в то время как вы там, синтаксис <tag /> также XML, не HTML5.

Смежные вопросы