Google、Mozilla 和 Opera 质疑微软的 HTML 5 兼容性测试结果

  • Abel Avram
  • 侯伯薇

2010 年 6 月 19 日

话题:测试架构语言 & 开发

微软近日发布了192 项测试的结果,这些测试分为 HTML5、SVG 1.1、CSS3 以及二级、三级 DOM 等八类,结果显示 IE9 成功通过了所有测试,而 Chrome、Firefox、Opera 以及 Safari 在各个类别中都或多或少有未通过的情况。 由此得出的结论是,与 Google、Mozilla、Opera 相比,IE9 对于 W3C 标准有着最好的兼容性。

微软与万维网联盟(World Wide Web Consortium W3C)合作,创建了 192 个测试页面,各种主要浏览器在这些页面中的测试结果如下图所示:

image

结果的总结之后是详细的各项结果,并带有包含各种测试页面的链接,任何人都可以执行这些测试。 由此得出的结论是: IE 9 的预览版完全兼容这些测试中所包括的 W3C 标准,而其他浏览器无法达到这一点。 在其他浏览器中,成绩最好的是 Firefox,它完全通过了 DOM 2 的测试,但是大多数浏览器在很多类别中的测试结果都是黄色或者红色。 InfoQ 采访了 Google、Mozilla 和 Opera,想要了解他们对于此次测试、结果以及结论的看法。

Google 提到了Google I/O 大会第一天中的内容,在其中他们讲述了浏览器中有关 HTML5 的问题,并且期望在 2010 年底,除 IE 之外的所有浏览器都能够完全实现 HTML5 以及其他一些标准。

image

Mozilla 认为微软的测试覆盖范围有限,因此不够准确,并会产生误导:

我们很高兴微软热衷于使用这套测试来衡量浏览器对标准的兼容性,但是 MSDN 上这些特定的测试涉及到的范围很有限,并且关于浏览器兼容性的说法很显然会产生误导。

大家都知道,MSDN 提到的 SVG-in-HTML 的测试是不正确的 [1][2],它不符合 HTML5 解析规则和 DOM 规范,事实上利用的是 IE 的缺陷。微软的工程师都了解该缺陷,并且知道该项测试本身就是错误的,因此很让人奇怪的是,这项测试竟然被作为浏览器之间更进一步的互操作性的重要部分来介绍。另一方面,Firefox 的 beta 版本确实已经具备了 HTML5 解析器 [3],并且每夜构建 [4] 将会通过 SVG-in-HTML 的正规测试。

此外,MSDN 上列出的 CSS 测试很不精确,事实上,完全通过了这些测试的浏览器并不与标准兼容。有一份官方的 CSS3 选择器测试,我们已经通过了所有测试 [5],并且,我觉得对于 web 开发者来说,当讨论浏览器对 HTML5、CSS3 和 SVG 的支持的时候,像caniuse.com [6] 这样的站点会更有用。Mozilla 会继续致力于为处于考虑之中的规范 [7] 创建开发和公平的测试套件,也希望其他浏览器厂商能够参与进来。

更新:Mozilla 还更新了他们的声明,增加了下面这段简短但很有意义的信息:

我们得到微软的反馈,他们正在试图修正那些测试。

Opera 知道微软的测试和结果,但是他们使用了不同的测试套件,并得到了完全不同的结果:

我们没有执行内部的专门测试,而是一直在做大范围的测试,以确保我们在自己的浏览器产品中实现了所有 HTML5 中我们所制定的部分。 Opera 对 HTML5 标准作出了很大的贡献,正是在 Opera 提出了 Video 标签之后,它才被加入到标准之中。 我们一直在努力改善产品,以确保最大可能地遵守规范。

这项测试是非常有选择性的,它慎重地选择了所有要测试的元素,使结果看起来是“独赢”的效果。 当评估 HTML5 测试的时候,标准应该与其他所有类型测试相同。 测试的权威性应该是独立的,并且测试应该反应出规范的真实情况。 我们很容易就能指出 Opera 比 IE 表现得好的 HTML5 相关的测试,比如下面这个: http://www.codedread.com/svg-support.php. …

我们一直在测试,以了解我们的浏览器的兼容性如何,但是对于 HTML5 的兼容性工作还在进行之中。 因此根据微软的网页,他们看起来只测试了 HTML5 中特定的一部分,而没有测试更多的内容,像 Canvas 元素等。

很有趣的是,Opera 指出测试结果显示,Opera 10.53 浏览器对 SVG 1.1 测试的通过率是 94.89%,而 IE 9 Preview 2 的通过率只是 30.55%。 Opera 10.52 在微软的测试中有同样的表现,但是 IE9 在该项测试中的通过率是 100%,这与 30.55% 相去甚远。

一位软件开发者 Jeff Schiller 执行了 Opera 所提到的测试,并对微软的测试结果做出了评论

尽管我对 IE9 的发展方向感到很激动,并且一直对于你们参与 SVG 工作组的程度有很深的印象,但是我感觉“IE 测试中心”有很大的问题,并且会 误导他人。 即使是微软也承认他们只包含了自己所编写的测试(声称 IE9 可以通过)而不是完全的测试套件。

例如: SVG 测试套件包括 275 项测试。 而微软在测试页面中只包含了 31 项。 例如,IE9 甚至不支持渐变色。

另外一个例子,他们的 HTML5 的测试中关于一行中的 SVG 标记的测试实际上是错误的。 它们之所以在 IE9 中能够通过,是因为浏览器在处理子节点的时候存在缺陷。 如果我修正该项测试,它们就只会在 Firefox 每夜构建版本中通过,而在 IE9 中会失败。

Apple 没有对我们的调查作出响应,但是他们发布了HTML5 Showcase,其中提到了他们自己的观点

查看英文原文:Microsoft’s HTML5 Compliance Test Results Are Disputed by Google, Mozilla, and Opera [UPDATED]

测试架构语言 & 开发