Что такое действительный документ HTML5? - PullRequest
27 голосов
/ 21 марта 2012

Я только что прочитал спецификацию автора HTML5. В нем говорится, что теги <html>, <head> и <body> являются необязательными . Означает ли это, что вы можете полностью исключить их и при этом иметь действующий документ HTML5?

Если я правильно интерпретирую это, это означает, что это должно быть полностью правильно:

<!DOCTYPE html>
<p>Hello!</p>

Это правильно?

Вы можете проверить спецификации здесь:

http://dev.w3.org/html5/spec-author-view/syntax.html#syntax

"8.1.2.4 Необязательные теги" - это то, что все нормально, если пропустить <html>, <head> и <body>

Ответы [ 5 ]

30 голосов
/ 10 октября 2014

Элемент title действительно необходим, но, как отмечает Юкка Корпела , он также должен быть не пустым.Кроме того, модель содержимого элемента title:

Текст , который не является пробелом между элементами .

Поэтому наличие только символа пробела в элементе title не считается допустимым HTML.Вы можете проверить это в W3C validator .

Итак, пример минимального и действительного документа HTML5 следующий:

<!doctype html><title>a</title>
20 голосов
/ 21 марта 2012

Это минимальный HTML5-действительный документ:

<!doctype html><title> </title>
9 голосов
/ 24 февраля 2015

Поддерживающий валидатор HTML W3C здесь. К вашему сведению, что касается поведения валидатора, на сегодняшний день валидатор теперь применяет требование в спецификации HTML о том, что элемент title должен содержать хотя бы один непробельный символ -

http://validator.w3.org/nu/?doc=data%3Atext%2Fhtml%3Bcharset%3Dutf-8%2C%3C%2521doctype%2520html%3E%3Ctitle%3E%2520%2520%2520%3C%252Ftitle%3E

7 голосов
/ 21 марта 2012

Хотя начальные и конечные теги <html>, <head> и <body> являются необязательными, теги <title> требуются, за исключением особых случаев, поэтому нет, ваш образец недействителен (обычно).

1 голос
/ 21 марта 2012

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

...