去年 3 月,我们宣布了 Interop 2022 项目,这是 Apple、Bocoup、Google、Igalia、Microsoft 和 Mozilla 之间的合作项目,旨在提高其 Web 平台实现的质量和一致性。
现在已经到了 2023 年,我们正在积极筹备下一轮 Interop,这是一个回顾 Interop 第一年的成果的好时机。
Interop 成果
令人高兴的是,Interop 2022 似乎取得了巨大成功。所有浏览器在其 Interop 重点领域都取得了显著的测试通过率提升,现在所有浏览器的得分都超过了 90%。在视窗单位重点领域,取得了显著的成功,不到一年时间内,该领域从所有浏览器的 0% 通过率提升至 100% 通过率。这在 Web 平台功能方面几乎从未发生过!
查看浏览器的发布版本(反映实际交付给用户的版本)——Firefox 在今年年初的 Firefox 95 中的得分约为 60%,并在 12 月发布的 Firefox 108 中达到了 90%。这反映了 Gecko 投入了大量的努力,包括添加新功能和提高现有功能的实现质量,例如 CSS 包含,其通过率从 85% 提升至 98%,其中包含 Firefox 103 中的改进。
2022 年的一个重要新 Web 平台功能是级联层,该功能于 2 月首次在 Firefox 97 中发布。随后,Chrome 99 和 Safari 15.4 也发布了该功能,再次证明了 Interop 能够快速推动 Web 平台功能从初始实现到生产质量,并在所有浏览器中可用。
另一个值得重点提到的重大成果是所有浏览器在“Web 兼容性”重点领域取得了 >95% 的进展。该重点领域包含一小部分已实现功能的测试,这些功能的浏览器差异会导致用户问题(例如,通过向webcompat.com 报告错误)。在一个容易关注新事物而忽略旧问题的环境中,看到大家齐心协力解决这些长期存在的、导致实际网站崩溃的问题,令人欣慰。
其他已发布或已实现互操作性的新功能,如 Interop 2022 的一部分,已在Apple 和Google 的回顾文章中有所提及。其中有许多值得骄傲的工作,建议您查看他们的文章。
调查
除了基于通过测试数量的“重点领域”之外,Interop 2022 还进行了三项“调查”,涵盖了在使 Web 实现互操作性的要求方面缺乏明确性的领域,并且进展无法通过测试通过率来衡量。
视窗调查导致提交了多个规范错误,并与 CSSWG 达成协议,开始着手制定视窗规范。我们知道,与视窗相关的差异是造成困扰的常见来源,尤其是在移动浏览器上;因此,这对未来改进该领域非常有希望。
鼠标和指针事件调查收集了大量有关输入事件处理方面的浏览器差异。其中一部分问题得到了测试,并成为 Interop 2023 重点领域的提议基础。显然,要解决实现之间的其他输入相关差异,还有很多工作要做。
编辑调查处理了平台历史上最棘手的领域之一,长期以来,人们认为,复杂的任务需要使用库来解决差异,并通过对每个浏览器引擎进行专门处理来平滑差异。从这项调查中可以明显看出,输入法输入(用于输入无法直接在键盘上键入的字符)在行为方面存在差异,而我们缺乏编写跨浏览器自动测试的基础设施。这项 Interop 调查有望推动该领域未来的工作。
下一步
所有迹象表明,Interop 2022 有助于协调 Web 实现并确保用户能够在不遇到兼容性问题的情况下自由选择浏览器。我们计划在即将推出的 Interop 2023 中利用这一成功,希望它能进一步推动 Web 开发者的技术发展,并帮助 Web 浏览器开发者关注最重要的问题,以确保开放 Web 健康发展的未来。
关于 James Graham
专注于维护健康的开放 Web 的软件工程师。Web 平台测试核心团队成员。