タグ省略のHTML5仕様(http://www.w3.org/TR/html51/syntax.html#syntax-tag-omission)は、次の2つのステートメントで始まります(私の強調)。
- html要素内の最初のものが コメントでない場合は、html要素の開始タグを省略できます。
- html要素の直後にコメントがない場合は、html要素の終了タグを省略できます 。
それらのステートメントは同じように読まれますが、同じではありません。誰かがそれらの意味を明確にすることができるかどうか疑問に思います。
次の場合は明確に見えます。開始タグまたは終了タグを削除することはできません。
<html><!-- start --> ... </html><!-- end -->
しかし、空白がミックスに導入された場合はどうでしょうか。次の場合、の開始タグをhtml
削除できますか?
<html>
<!-- comment after whitespace -->
...
同様のシナリオで終了タグを削除できますか?
...
</html>
<!-- comment after whitespace -->
他のルールのいくつかは、空白文字について具体的に言及しているため、それらを考慮に入れる必要があると私は信じています。ほとんどのルールは「...直後に...」と言っていますが、これは最初にリストされている箇条書きとは異なります。