因此,HTML 5已被广泛宣传,预计将于2022年准备就绪.这是一段很长的等待时间,对这种准备情况的测试是"至少有两个浏览器完全通过[HTML 5测试套件]"
显然,对于浏览器通过此测试,他们必须在此之前开始实现可用的HTML 5功能.在新的HTML5特性的支持列表正在瘦的时刻.但是现有元素有一些重大变化,例如允许A标签围绕块级别,现在可能非常有用.
现在有些网站正在使用HTML 5,那么有哪些因素会让您开始或阻止您构建具有HTML 5文档类型的网站?
我自己,我在几个个人网站上玩弄HTML5,但是会等待一些工作网站,直到看起来像一个可靠的验证器.
它有助于将这个问题分成几个部分.
1)何时应该开始使用HTML5 doctype?
HTML5 doctype导致浏览器以完全标准模式呈现页面.除非您当前使用严格的doctype,否则页面可能会以不同的方式显示.因此,如果您要转换现有网站,则需要权衡所需的返工量,并且您需要了解渲染行为的差异.其次,doctype将导致w3c验证器选择HTML5作为要验证的默认语言.鉴于HTML5仍在草案中,这意味着瞄准移动目标.有效性对您很重要吗?HTML4中有效的某些功能目前在HTML5中无效.您是否应该立即更改标记以删除这些功能,因为HTML5可能会更改以使这些功能再次有效?如果您对此感到满意,可以立即开始使用HTML5文档类型.
另一方面,就它本身而言,你获得了什么?如果您希望浏览器以完全标准模式呈现,则可以使用HTML 4.01或XHTML 1.x中的严格doctype.您是否需要HTML5验证,因为它会传递目前可能无法跨浏览器一致处理的内容?请注意,目前适用于浏览器的任何HTML5功能都可以使用,无论您是否使用HTML5文档类型.
2)何时应该开始使用目前在主流浏览器中实现互操作的功能,但是首次在HTML5中进行标准化?
您现在可以使用这些,但请尝试确保您的网页可以正常访问.例如,Canvas不能为没视力的用户提供良好的支持.
3)何时应该开始使用当前在某些浏览器中实现的功能,并且将由HTML5标准化?
这取决于您的目标用户和交付时间表.在您的网站上线时,您的用户是否会使用支持这些功能的浏览器?如果他们不这样做会怎么样?页面优雅地回落了吗?您是否关心某些用户是否无法使用您的网站?
4)何时应该开始使用尚未实现的HTML5功能?
你为什么想这么做?对于培训目的或调查后退行为可能是合理的,但HTML5仍处于草稿形式,并且很可能某些功能永远不会实现,或者将以与当前描述的完全不同的方式实现,因此您可以浪费了很多精力.
总而言之,重要的不是HTML5草案中的内容,而是今天实际可用的内容.该草案描述了一系列功能,其中一些功能已经在浏览器中使用多年,一些功能是新功能但具有支持或良好的后退行为,还有一些功能目前尚无法使用.
对我来说,在我需要HTML5功能之前,我会暂时不说,而且我知道该功能是在主流浏览器中以一致且稳定的方式实现的.这可能会发生在HTML5的最后呼叫阶段,或者可能在候选推荐阶段.