我正在閱讀D3,其中一張幻燈片提到Paul Irish提供的most minimal HTML page。最小的HTML5 - 是否有效?
<!DOCTYPE html>
<meta charset="utf-8">
<body>
Hello, world!
我明白究竟這是什麼HTML那樣 - 但是,如何在世界上難道這是有效的HTML5,而且,是符合標準的?或者這只是它的工作原理,但它彎曲規則?
我正在閱讀D3,其中一張幻燈片提到Paul Irish提供的most minimal HTML page。最小的HTML5 - 是否有效?
<!DOCTYPE html>
<meta charset="utf-8">
<body>
Hello, world!
我明白究竟這是什麼HTML那樣 - 但是,如何在世界上難道這是有效的HTML5,而且,是符合標準的?或者這只是它的工作原理,但它彎曲規則?
HTML5 spec描述了在文本/ html中的標記遺漏下可以省略哪些標記。然而,spec states:
是否在text/html的語法,可以省略 開始和結束標記一個非規範描述。此信息與 冗餘在可選標籤部分中給出的規範要求,並且爲了方便起見在元素定義中提供了 。
由於它是非規範性的,我們不能依靠它進行一致性檢查。在規範optional tags部分,它列出:如果內部 的HTML元素的第一件事不是註釋
一個HTML元素的開始標記可以省略。
如果html元素不是 後面緊跟一個註釋,則可以省略html元素的結束標記。
如果元素爲空,則頭元素的開始標記可以省略,或者如果頭元素內的第一個元素是元素,則可以省略。
如果頭元素不是 後面緊跟着空格字符或註釋,則可以省略頭元素的結束標記。
的主體元素的開始標記可如果元素是空的,或者 如果body元素中的第一件事情是不是一個空格字符或 評論,除非在body元素中的第一件事情是 可以省略元,鏈接,腳本,樣式或模板元素。
如果主體元素不是 後面緊跟着註釋,則可以省略主體元素的結束標記。
所以它似乎文件是有效的,除了缺少<title>
,這可能是爲什麼w3 validator抱怨。還有跡象表明<title>
是必需的。首先,內容模型部分,用於<head>
,這是規範的,規定:
如果文檔是iframe srcdoc文檔或如果標題信息 可以從更高級別的協議:零個或多個元件元數據內容,其中不超過一個是標題元素,而不是多於一個是基本元素。
否則:元數據內容的一個或多個元素,其中一個是標題元素,不超過一個是基本元素。
而且spec states:
的哪些內容規範性描述必須作爲孩子 和元素的後裔。
[w3 validator](http://validator.w3.org/check)這樣說:Error Line 3,第6列:Element head缺少子元素標題的必需實例。 – Paolo 2015-02-06 07:07:38
@Paolo使用哪種標準兼容驗證器,在哪種模式下? – Qix 2015-02-06 07:08:06
默認設置,我想HTML5驗證。 – Paolo 2015-02-06 07:09:05