网络与其他平台之间的关键区别在于,网络赋予用户控制权:人们可以自由选择最符合其需求的浏览器,并将其用于任何网站。这就是互操作性:能够选择系统的组件,只要它们符合通用标准。
对于 Mozilla 来说,基于标准的互操作性是网络特殊性和与其他专有平台区别的关键要素。因此,维护这一点是我们对网络愿景的重要部分也就不足为奇了。
然而,互操作性并非自然发生。即使有精确且写得很好的标准,实现也可能存在错误或其他与商定行为的偏差。在希望向平台添加新功能与返工修复已发布功能的缺陷之间也存在着矛盾。
互操作性差距会导致网站在不同浏览器上的行为不同,这通常会给所有人带来问题。当网站作者注意到这种差异时,他们必须花费时间和精力来解决它。当他们没有注意到时,用户就会承担后果。因此,作者认为跨浏览器差异是开发网站时最令人沮丧的事情之一,也就不足为奇了。
显然,这个问题需要从源头解决。我们尝试解决此问题的途径之一是通过web-platform-tests。这是一个关于网络平台的共享测试套件,每个人都可以为其做出贡献。它在 Firefox CI 系统以及其他供应商的 CI 系统中运行。每当 Gecko 工程师实现一项新功能时,他们编写的新的测试都会贡献回上游,以便每个人都可以使用。
拥有共享测试使我们能够找出平台实现的不同之处,并为实施者提供明确的目标。但是,用户的需求很大,因此网络平台也很大。这意味着仅仅尝试修复所有已知的测试错误是行不通的:我们需要一种方法来确定优先级,并确保我们能够在修复最重要的错误和发布最有用的新功能之间取得平衡。
Interop 项目旨在帮助解决此过程,并使供应商能够以对网络长期健康最有帮助的方式集中精力。从 2022 年开始,Interop 项目是苹果、Bocoup、谷歌、Igalia、微软和 Mozilla(以及任何实施网络平台的组织)之间的合作,旨在设立一个公开指标,用于衡量网络互操作性的改进。
Interop 2022 显示了多个平台功能的互操作性显着改善,以及一些跨浏览器调查,这些调查深入研究了平台中复杂、未充分规范的领域,这些领域一直难以实现互操作性。在此基础上,我们很高兴地宣布Interop 2023,这是 Interop 项目的下一个迭代。
Interop 2023
与 Interop 2022 一样,Interop 2023 考虑了两种平台改进方式
关注领域涵盖我们已经拥有高质量规范和 web-platform-tests 中良好测试覆盖率的平台部分。因此,通过查看这些测试在各种实现中的通过率来衡量进度。“活跃关注领域”是为今年的得分做出贡献的领域,而“非活跃”关注领域是之前几年中我们预计不会进一步改进的领域。
除了计算每个浏览器引擎的测试通过率外,我们还计算“Interop”得分:Gecko、WebKit 和 Blink 通过了多少测试。这反映了我们的目标不仅仅是改进一个浏览器,而是确保功能在所有浏览器中都能可靠地运行。
调查是针对我们知道互操作性存在不足,但仅通过通过现有测试无法取得进展的领域。这些领域可能包括在没有良好规范或测试的情况下发布的平台遗留部分,或由于缺少测试基础设施而难以测试的领域。对这些调查的进展是根据一组共同商定的目标来衡量的。
关注领域
可以在 Interop 2023 自述文件中看到关注领域的完整列表。这是基于共识的流程的结果,并获得了网页作者的意见,例如使用State of CSS 2022 调查的结果,以及 MDN“简短调查”。这意味着您可以确信所有参与者都致力于今年取得有意义的改进。
我不会详细介绍所有关注领域,而是仅重点介绍一些亮点。
CSS
在过去几年中,CSS 添加了强大的新布局原语 - flexbox 和 grid,随后是 subgrid - 以便实现复杂、易于维护的设计。这些是我们一直在推动和倡导的多年来的功能,并且我们很高兴地看到它们被纳入 Interop 2022。它们已被带入 Interop 2023,并添加了额外的测试,反映了确保它们在所有实现中都完全可靠的重要性。
除了较旧的功能外,Interop 2023 还包含一些 CSS 的新补充。根据来自网页开发者的反馈,我们知道其中有两个特别受期待:容器查询 和通过 :has() 实现的父选择器。这两个功能目前正在 Gecko 中实现;容器查询已可在Firefox 预发布版本中试用,并预计在本月晚些时候发布的 Firefox 110 中发布,而 :has() 正在积极开发中。我们相信,将这些新功能纳入 Interop 2023 将有助于确保它们在发布后立即可在跨浏览器中使用。
网络应用程序
Interop 2023 中包含的几个功能是那些扩展和增强平台功能的功能;这些功能要么允许作者实现以前无法实现的事情,要么改善构建网页应用程序的人体工程学。
网络组件 关注领域是关于人体工程学的;组件允许人们创建和共享交互式元素,这些元素封装了它们的行为并集成到本地平台 API 中。这对大型网页应用程序尤其重要,其成功取决于所有浏览器中实现的坚如磐石。
Offscreen Canvas 和 Web Codecs 是真正关于扩展平台功能的关注领域;允许以前使用网络技术难以有效地实现的丰富视频和图形体验。
兼容性
与其他关注领域不同,网络兼容性不涉及特定功能或规范。相反,此关注领域中的测试是根据观察到的网站中断来编写和选择的,例如来自浏览器错误报告或通过webcompat.com。这些错误会导致网站立即中断,这使得它们成为提高网络互操作性的最高优先级。
调查
不幸的是,并非所有互操作性挑战都可以简单地用需要修复的一组测试来定义。在某些情况下,我们需要进行初步工作来了解问题,或开发允许进行测试的新基础设施。
对于 2023 年,我们将专注于两个我们知道当前测试基础设施不足的领域:移动平台和辅助功能 API。
移动浏览交互模式通常会产生网页开发和互操作性挑战,而这些挑战在桌面设备上不会出现。例如,浏览器视窗在移动设备上要动态得多且复杂得多,反映了有限的屏幕尺寸。虽然浏览器供应商有办法测试自己的移动浏览器,但我们缺少在 web-platform-tests 中运行移动特定测试并将结果包含在 Interop 指标中的共享基础设施。移动测试调查将着眼于填补这一差距。
使用辅助技术(例如屏幕阅读器)的用户依赖于平台的某些部分,而这些部分目前难以以跨浏览器的方式进行测试。辅助功能测试调查旨在确保辅助功能技术与网络技术栈的其他部分一样可测试,并且可以包含在未来的 Interop 轮次中作为关注领域。
这些调查共同反映了确保网络对所有人都有效的重要性,无论他们如何访问它。
仪表板
要关注 Inteop 2023 的进展,请查看 wpt.fyi 上的仪表板。它提供每个关注领域的详细得分,以及 Interop 和调查的整体进展。
Mozilla & Firefox
Interop 项目是 Mozilla 对安全、开放网络愿景的重要组成部分,在这个网络中,用户拥有控制权,并且可以在任何设备上使用任何浏览器。与其他供应商合作,将工作重点放在提高跨浏览器互操作性方面,是实现这一愿景的重要组成部分。我们也知道领导产品的重要性,并期待将这些改进带到 Firefox 中,并交付到用户手中。
合作伙伴公告
- 苹果 - 在 2023 年推动 Interop 发展
- Bocoup - Interop 2023 更新
- 谷歌 - Interop 2023
- Igalia - Interop 2023
- 微软 - Microsoft Edge 和 Interop 2023
关于 James Graham
专注于维护健康的开放网络的软件工程师。web-platform-tests 核心团队成员。
一条评论