Тег <html>
не требуется.
Из DTD:
<!ELEMENT HTML O O (%html.content;) -- document root element -->
Два O
указывают, что начальный и конечный теги (соответственно) являются необязательными.
Элемент, с другойhand, требуется (но язык разработан так, чтобы браузеры могли это подразумевать).
Поскольку DOM состоит из дерева узлов, вам нужно иметь один узел (корневой элемент) для всего остального, с чем можно повиснуть, и это элемент html.
Это такжедействительно полезное место для вставки атрибута lang
, который будет применяться ко всему документу.