从浏览器规范到实现状态
追踪 Web 规范从公开意图到有边界的浏览器实现证据,不把可用性、兼容性与质量混为一谈。
BotBrowser Team
BotBrowser 可以在声明过的版本和 profile 上下文中重复获授权的浏览器观察,但不能证明浏览器实现了全部要求,也不能证明功能质量或替代公开规范。它不能让一次观察代表所有浏览器,也不能保证该上下文之外的实现质量。实现状态审查应分开四个问题:规范想要什么、浏览器文档写了什么、受控测试观察到什么,以及证据支持什么决定。
从公开规范开始
先读取规范来源。W3C 说明技术的目的、生命周期和要求,WHATWG 说明持续演进的平台行为,MDN 把面向浏览器的概念解释成可用文档。记录文档、章节、读取日期和状态词。提案、候选、持续规范、实验性和废弃并不等价。规范可能先描述意图,浏览器也可能只提供部分实现。
不要把 tracker 标签当成规范本身。索引可以帮助定位,但状态必须有公开来源和范围。写清主张是在说 API 形状、权限要求、默认行为、互操作要求还是质量期望。一个来源只能支持它实际说明的内容。
把意图映射到实现证据
建立小型证据链:规范条款、浏览器文档、版本和平台范围、功能检测结果以及可见行为。文档可以说明限制,但不是每个构建都保证。兼容性数据说明报告状态,局部测试说明一个声明上下文发生了什么。两者都要保留,也要记录缺失证据。
用一致词汇描述可用性。“已记录”表示公开来源描述了行为,“已暴露”表示页面可以观察到表面,“可工作”表示断言通过,“质量”还需要性能、无障碍、错误恢复或互操作证据。不要把这些压成一个绿色结果。
运行有边界的验证
使用一个浏览器版本、一个运行环境、一个声明过的 profile 和一个受控页面。记录路径、权限、预期结果、观察结果和日期。比较版本或平台时一次只改变一个维度。通过只支持测试上下文,缺失或降低结果说明边界,不证明规范错误。
保持 fixture 与问题成比例。测试功能决定,不要收集无关浏览器属性。BotBrowser 可以在声明的版本、profile 和环境中重复并比较获授权的观察;它不能证明标准在所有浏览器上都合规、第三方网站行为或该上下文之外的实现质量。
状态记录表
| 字段 | 记录 | 不要推断 |
|---|---|---|
| 公开来源 | 文档、章节、状态和日期 | 所有浏览器都部署 |
| 实现范围 | 版本、平台、权限和 profile | 普遍可用 |
| 可见断言 | 预期和观察状态 | 超出断言的质量 |
| 缺失证据 | 未测路径、无障碍、性能或恢复 | 功能一定有缺陷 |
| 复查触发 | 规范、版本、策略或路径变化 | 永久有效 |
来源
参阅浏览器 API 兼容性数据与回退和浏览器功能支持与功能质量。
记录没有测试的版本、系统、权限、辅助技术、负载性能、服务器行为和第三方集成。规范或浏览器版本变化时重新审查。