这个问题可以分为几个部分。
1)何时应开始使用HTML5 doctype?
HTML5 doctype会使浏览器以完整标准模式渲染页面。除非你目前正在使用严格doctype,否则页面可能会显示不同。因此,你需要权衡转换现有网站所需的工作量,并了解渲染行为的差异。其次,doctype会导致W3C验证器选择将HTML5作为默认语言进行验证。鉴于HTML5仍处于草案阶段,这意味着要针对一个不断变化的目标进行开发。验证的有效性对你来说是否重要?一些在HTML4中有效的功能当前在HTML5中无效。如果HTML5将更改以使这些功能再次有效,那么你是否需要立即更改你的标记?只要你对此感到舒适,你就可以开始使用HTML5 doctype。
另一方面,单独使用HTML5 doctype能得到什么好处?如果你想让浏览器以完整标准模式渲染页面,你可以使用HTML 4.01或XHTML 1.x的严格doctype。你是否需要HTML5验证,考虑到它将通过在不同浏览器上不一致处理的东西?请注意,任何当前在浏览器中运行的HTML5功能,无论你是否使用HTML5 doctype,都可以正常工作。
2)何时应开始使用当前在主要浏览器中实现互操作性的功能,但是在HTML5中首次标准化?
你现在可以使用这些功能,但请确保你的页面能被适当访问。例如,Canvas对于不视力障碍用户没有提供良好的支持。
3)何时应开始使用当前在某些浏览器中实现并将由HTML5标准化的功能?
这取决于你的目标用户和交付时间表。你的用户是否会使用支持这些功能的浏览器?如果他们不会怎么办?页面是否具备良好的回退支持?如果一些用户无法使用你的网站,你是否关心?
4) 何时开始使用尚未完全实现的HTML5功能?
为什么要这样做?这可能是为了培训目的或调查回退行为。但是,HTML5仍处于草案形式,一些功能可能永远不会被实现,或者将以与当前描述完全不同的方式实现,因此您可能会浪费大量精力。
总结一下,重要的不是HTML5草案中有什么,而是今天实际可用的是什么。该草案描述了一系列功能,其中一些已经存在于浏览器中多年,一些是新的,但具有支持或良好的回退行为,而另一些则目前无法使用,可能永远无法使用。
对我来说,我会等到需要一个HTML5功能,并且我知道该功能在主要浏览器中以一致和稳定的方式实现。这可能会发生在HTML5的最后呼叫阶段,或可能发生在候选推荐阶段。