Является ли эта минималистская разметка HTML5 действительной?

<!DOCTYPE html>
<meta charset="utf-8">
<body>
Hello, world!

ИСТОЧНИК ДЛЯ КОДА

Если это так, кроме удаления "Привет, мир!" есть ли тег, который можно удалить, и он все еще будет действительным, и как вы узнаете, что он все еще действителен?

4 ответа

Решение

Это не действительно. Чтобы проверить это, вы можете запустить его в W3C Validator

Ошибка: в заголовке элемента отсутствует обязательный экземпляр заголовка дочернего элемента.

...

ОБНОВИТЬ

Как заявил vcsjones head Элемент не является обязательным. Это title один требуется. Благодарю mootinator за указание на то, что body также необязательно.

Таким образом, самый простой действительный документ будет:

<!DOCTYPE html>
<title></title>

(Предполагая HTML-синтаксис HTML5.)

Обратите внимание, что в некоторых ситуациях title элемент тоже необязательный.

Из определения HTML5 head:

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

Таким образом, минимальная разметка для документа, который получает заголовок из "протокола более высокого уровня", такова:

<!DOCTYPE html>

Если документ является значением iframe - srcdoc вот это (при условии, что заголовок предоставлен документом контейнера):

<html>

И для отдельного документа это (title элемент нуждается в некотором фактическом содержании, как отметил kapep, поэтому "…" это просто пример):

<!DOCTYPE html>
<title>…</title>

Тег заголовка не может быть пустым или состоять только из пробелов. Поэтому, если документ находится в контексте, где требуется тег заголовка, вам нужно будет установить допустимое значение заголовка.

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

"Пустые текстовые узлы и текстовые узлы, состоящие только из последовательностей [пробельных символов]" являются межэлементными пробелами. Пробелами являются пробел, табуляция, перевод строки, перевод формы и возврат каретки.

Если тег заголовка пуст, W3C Validator жалуется, что "Заголовок элемента не должен быть пустым". Валидатор подходит только для добавления только пробелов, хотя это не правильно в соответствии со спецификациями.

Это допустимо, если вы добавите еще один непробельный символ:

<!DOCTYPE html>
<title>x</title>

Вы можете использовать другие пробельные символы, такие как пробел без пробелов или пробел нулевой ширины, если вы хотите подделать "пустой" заголовок.

Самый маленький HTML-документ, для которого Nu Html checker (единственный HTML-валидатор, в настоящее время одобренный WHATWG) не выдает никаких ошибок или предупреждений, следующий:

      <!DOCTYPE html>
<html lang="">
<title>x</title>
Другие вопросы по тегам