人们普遍认为,验证HTML的最佳理由是确保所有浏览器都能一致且可预测地对待它.
但是,HTML 5草案包含两个规范.首先是作者规范,描述HTML作者应该使用的元素和属性,以及它们之间的相互关系.HTML 5页面的验证基于此规范.包含的元素和属性不是直接从HTML 4中提取的,而是需要从第一原则开始证明,这意味着某些HTML 4功能,例如<table>上的summary属性,<img>上的longdesc和profile属性在<head>上,目前不会出现在此草稿中.这些功能不被视为已弃用,它们根本不包含在内.(他们缺席草案仍然存在争议,尽管很快就会将其纳入其中.)
其次,草案定义了一个浏览器处理规范,该规范试图准确定义浏览器的解析器将如何处理它给出的任何字节流,而不管HTML的形成和有效性如何.这意味着当浏览器完全支持HTML 5时,可以预测任何浏览器如何处理HTML以获得更广泛的输入,而不仅仅是那些通过验证的输入.
特别是,因为HTML 5被定义为100%向后兼容当今的Web,所有有效的HTML 4和所有无效但常用的标记将继续处理与现在完全相同,无论是否HTML 5有效与否.
因此,至少,使用HTML 5,HTML 4或任何以前版本的HTML以及许多专有扩展的任何功能的任何人都可以确信他们的HTML将在所有浏览器中获得一致且可预测的处理.
鉴于此,将HTML 5限制为将验证的是否有任何意义,以及我们将从中获得哪些实际好处?