现在可以使用有效的HTML5吗?

我一直在阅读关于HTML5,并希望开始使用它的一些,特别是数据集,因为我发现了一个有趣的外观jQuery插件,我可以开始使用…

http://www.barklund.org/blog/2009/08/28/html-5-datasets/

现在,据我所知,像IE6这样的老式浏览器可能不喜欢在那里有额外的属性,可能不知道如何处理它们,但如果他们忽略它们,并且该网站仍然使用HTML5validation器validation,那么应该没问题?

我特别想确保我不会因为没有有效的标记而受到Google的惩罚,并且我不会收到客户的投诉,他们的网站在使用沼泽进行检查时“无效”标准的W3Cvalidation器。

人们对此有什么想法?

我build议检查Dive Into HTML 5并自己决定,如果你认为权衡是可以接受的。 据我所知,使用HTML 5没有负面的SEO影响。我刚刚在Dive Into HTML 5中运行了w3cvalidation器,它自动检测到它是HTML 5并validation了它,所以我不认为也是一个问题。

答案很简单:

还没! 但很快。

不,这不对。 甚至不可能有有效的HTML5,因为规范还没有准备好。

然而,你可以准备你的HTML4的变化。 第一步是开始使用有效的HTML4严格和CSS。

规范中有一些稳定的部分,比如<canvas>标签。 <video>标签正在发展,已经被WebKit和Gecko所实施。 更重要的是, <video>标签允许向后兼容Flash,但浏览器不支持使用JavaScript 。

第二步是从您的网站中删除专有(和免费)插件的所有要求,包括Flash,Silverlight和JavaFx。 换句话说,在可能的时候总是使用开放标准。 转换为HTML5是一个过程,可以一次完成一个步骤。 无需匆忙的事情。

使用HTML 5,你会遇到很多问题,特别是在旧版本的Internet Explorer上。 最近John Resig做了一个简短的谈话 (最后10分钟),讲述你将遇到的问题。

  1. 试图使用未知的元素会导致它是无风格的,通常格式不正常(内部内容转义) – 但是,这里解释了一个修复HTML5 Shiv

  2. 尽pipe未知元素仍然不能容纳其他未知元素。

  3. 使用innerHTML注入未知元素会导致各种奇怪的事情发生。 它可能会破坏你的DOM。

最重要的是testing您希望使用的HTML5的部分对您希望支持的浏览器,并确认没有问题。 你应该特别检查一下你的JS访问数据集数据是否在IE6中工作。你也可以看看Microdata或者RDFa ,看看它们是否提供了更适合你想做的事情。 除了新元素(需要使用Javascript脚本才能在Internet Explorer中工作)之外,几乎所有其他内容都与HTML4 / XHTML1相同,或者应该被不支持的浏览器忽略。

谷歌不关心你使用的文档types,向数据集添加数据与Google无关(如果你想将这些数据公开给search引擎/用户,可以考虑另一种方法)。

W3validation器自动检测HTML5文档types并使用适当的validation器。 请注意,它可能会出现伪码错误/警告 – 这是一个已知的错误。

关于答案,这里有很多FUD:

  • 使用HTML5 doctype!=使用新的HTML5元素
  • 使用HTML(而不是说XHTML)!=forms不佳的代码
  • HTML5!=不受IE6支持

大多数HTML5都是HTML4,具有定义的error handling。 这意味着现在可以使用大部分HTML5 ,因为您已经在HTML4 / XHTML1中。 当然,在IE6中不支持HTML5的部分 ,但HTML4的部分也是如此。 如果你想支持IE6, 不要使用这些部分

没有“有效的HTML 5”这样的东西。 该规范尚未build立。 HTML5甚至没有规范的定义,这是一个工作草案。

有效的HTML4,有效的XHTML和有效的HTML5都是单独的东西。 它们的有效性由页面顶部的XML模式定义来定义。 你可以创build自己的“CupOfTML”模式定义,如果你真的想要,它可以是有效的。 显然不可以build议,因为无论有效性,浏览器仍然需要能够解决什么问题。 这很好地导致HTML5 …

即使是最现代化的浏览器,浏览器的实现并不完整,而一些元素在那里,工作正常,其他人则不太理想。 如果你/你的组织能够应付这样一个事实,那就是有些人(不只是IE6)得不到最佳的观看体验 – 那就去HTML5吧。 更好的是,如果HTML5失败,则可以提供运行于其他网站的“优雅降级”版本。 但是请注意,你正在有效地限制你的观众(那些视障人士可能有自适应浏览器不支持它,而任何仍然使用Win2K的人都会被IE6所困住 )。

如果您为商业网站开发,那么XHTML 1.0 Strict仍然是推荐的DocType使用,并将保持至less2 – 3年。

JavaScript是不可行的解决scheme,使HTML5文件在商业网站上的工作,因为你有一个法律义务可访问性(至less在欧盟,美国和澳大利亚)。

  • 在纯HTML上使用XHTML来获得更好的机器可读代码,而且不需要标签
  • 请记住,HTML5之前的error handling并没有很好的定义,因此,无论您select哪一个,您的页面都对指定的DocType进行validation非常重要。 select一个更宽松的DocType比打破更严格的DocType更好

HTML5的哪些部分可以作为最终的build议可以使用,事实上,我也可以。 我上个星期也完成了一个使用CSS3属性完全用HTML5构build的电子商务网站。 虽然你必须小心,一旦我对新的东西感到满意,这是相对容易的。 我会给一个链接,但新的东西将不会在线,直到下个月。

这不是我们用HTML5完成的第一个网站,但其他网站则更简单。 不要害怕HTML5。 继续吧,但是,正如我所说的,不要用肢体出去,而是用那些已经解决了的元素:nav,header,footer等等。

html5doctor.com有关于HTML5的伟大信息,伟大的开发人员也为它写。 人们喜欢布鲁斯劳森(歌剧开发)雷米夏普。

有趣的是,这个问题很久以前就被问到了。 我在Turtle-Necked-Wonder开始大声疾呼之后调查了一下。 即使在2010年的夏天,我也得出了与上述相同的结论 – 尚未达到标准。 虽然现在(2011年1月)的书已经开始出现,但W3C仍然在修改规范,但似乎还有点早。

虽然有些人可能喜欢这样的事情,但我们很多人都没有时间,直到它非常稳固,并有相当广泛的浏览器支持。

HTML5 DOCTYPE肯定是安全的,但是新的HTML5元素可以对DOM做奇怪的事情。

其他人已经说过了。

深入HTML5展示了浏览器如何处理他们无法识别的元素。 这很复杂。 相反, <article>会出现在IE DOM中。 造型可能会很棘手。 提到了解决scheme,链接到HTML5 Shiv(javascript)和HTML5重置样式表(CSS)。

谷歌可以随意开始判断它不喜欢你的网站,因为它的HTML是无效的,但它会是非常奇怪的。 谷歌和所有其他的search引擎一样,希望给人们最好的search结果。 我不明白如何忽略HTMLvalidation错误的网站会帮助他们做到这一点。

通常已经指定了HTML5,以便在旧浏览器中优雅地降级。 我对自己的数据属性并不熟悉(主要是因为他们尚未被HTML5潜入 ,但是我怀疑IE6对他们来说是没问题的。

至于你的客户抱怨无效,这几乎是一个人事pipe理问题。 HTML5是由W3C发布的标准,并且有一个validation器( http://html5.validator.nu/ )。 如果他们仍然不满意使用它,也许可以解释一下让你使用它会带来哪些好处?

这真的取决于你的用户群。 您可以通过调用所有的结构元素来显示块。

 header, section, footer,aside,article,nav ...{display:block;} 

用IE浏览器很难处理,因为它不允许你使用元素,除非它们在DOM中。 所以为了让网站甚至显示出来,你必须将元素注入到DOM中。 你是依靠JavaScript的页面加载,所以你这就是为什么我说这取决于你的用户群。

document.createElement("header"); document.createElement("footer");
document.createElement("nav");
document.createElement("article");
document.createElement("section"); document.createElement("aside");

您还可以执行一些用户代理检测,以查看是否有人正在使用IE并提示他们下载Google Chrome Frame http://code.google.com/chrome/chromeframe/