2016-05-22 3 views
1

Когда я пытаюсь выполнить validate файл HTML с настраиваемыми элементами, тогда он получит ошибки.HTML-валидатор не работает с пользовательскими элементами html

Может ли кто-нибудь объяснить, почему? Вот пример:

<!DOCTYPE html> 
 
<html> 
 
\t <head> 
 
\t \t <title>Some app</title> 
 
\t </head> 
 
\t <body> 
 
\t \t <div data-wt="hmm"> 
 
\t \t \t <hello-world>Yes!</hello-world> 
 
\t \t </div> 
 
\t </body> 
 
</html>

Затем он говорит, что привет-мировой элемент не является действительным. Но пользовательские атрибуты действительны.

+0

Спецификация Custom Elements находится в черновике, поэтому валидатор не может проверять что-то, что находится под изменением и не работает в большинстве браузеров. – Rob

ответ

1

Хотя вы можете изобретать новые атрибуты (используя data-...), вы не можете просто изобретать новые элементы - это сделало бы HTML недействительным.

Вы можете зарегистрировать новые элементы, такие как described here.

var XFoo = document.registerElement('hello-world', { 
    prototype: Object.create(HTMLElement.prototype) 
}); 

Но поскольку это использование JavaScript, валидатор все равно не пройдет.

+0

Требуется ли зарегистрировать пользовательский элемент? Я не вижу причин, почему я должен. – Assassinbeast

+0

Nevermind, я просто нашел, что это необходимо сделать. https://www.smashingmagazine.com/2014/03/introduction-to-custom-elements/#what-about-accessibility – Assassinbeast

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