面向 Web 团队的浏览器版本说明
将浏览器版本说明转化为兼容性检查、发布决策和回退证据。
版本说明是变化信号,不是兼容性证书。用它选择有限调查,再验证能力、权限、备用操作和用户可见结果。
阅读变化信号
查看 Chrome 版本说明 和 Firefox 版本说明。记录渠道、版本、日期、功能、标志、来源和迁移提示,区分发布、实验、警告和移除。
版本说明描述实现状态,不代表任务或服务器完成。先确定自有页面、合成数据、可见结果和备用操作。
选择候选矩阵
包含稳定版、候选版和仍支持的旧版。每个单元标明规范证据、运行时能力或应用流程。
记录版本、来源、安全上下文、权限、fixture 和预期结果。失败可能来自浏览器、应用、测试基础设施或外部服务。
决策表
| 观察 | 决定 | 可见结果 | 边界 |
|---|---|---|---|
| 版本说明匹配且候选通过 | 分阶段发布 | 保留主路径和备用路径 | 声明版本 |
| 功能需要标志或实验 | 保留备用操作 | 解释不可用原因 | 策略 |
| 方法缺失或上下文受限 | 不强制使用 | 提供备用操作 | 当前页面能力 |
| 调用拒绝 | 分类一次 | 显示恢复操作 | 浏览器行为 |
| 调用完成 | 验证应用 | 确认可见信号 | 浏览器与应用 |
失败 fixture
fixture 创建控件,只模拟自有 API,检查可见分支,并在 finally 中删除节点。不要修改指纹或发送凭据。
async function test() {
const h = document.createElement('div');
h.innerHTML = '<p id="status"></p><button id="fallback" hidden>使用备用操作</button>';
document.body.append(h);
const status = h.querySelector('#status');
const fallback = h.querySelector('#fallback');
try {
const ok = typeof navigator.share === 'function';
const r = ok
? await navigator
.share({ title: '合成版本检查', url: '/fixture' })
.then(() => 'done')
.catch(() => 'fail')
: 'missing';
status.textContent = r === 'done' ? '已完成' : '请使用备用操作';
if (r !== 'done') fallback.hidden = false;
console.assert(status.textContent && (r === 'done' || !fallback.hidden));
return r;
} finally {
h.remove();
}
}
发布与回退
记录版本、功能、范围、断言、负责人和回退阈值。验证应用确认,不只看 promise;检查标签、焦点、键盘和错误消息。
出现异常增加、焦点陷阱、备用操作缺失或服务器确认中断时回退。保留版本说明、测试输出和可见结果。
维护与 BotBrowser
BotBrowser 可为授权的候选版本流程提供受控上下文和可重复检查。它不负责解释版本说明、不授予权限、不替代规范测试,也不证明服务器完成。隔离文档说明可重复性,不是普遍保证。
维护来源、版本、状态、备用操作、结果和复核日期,不保存个人数据。另请阅读浏览器 API 兼容指南和 WPT 指南。
按影响分类每个变化,并关联 fixture 与可见断言。
记录标志、证书、上下文和配置状态,公平比较候选版本。
分开记录浏览器调用和应用确认,并保留第一个失败。
每次更新后复核矩阵,只有明确决定后才移除候选版本。
记录应回答变化内容、受影响版本、检测方式、用户可见结果和下一步操作。
新 API 要测试存在与失败,移除标志后要测试默认路径和备用路径。
供应商日期不等于应用准备日期;记录负责人和证据。
完整记录应覆盖变化、版本、检测方式、可见结果和下一步操作。
比较准确的 build 与上下文,因为标志、证书、策略和网络可能不同。
发布决定前分开记录浏览器调用、可见状态和服务器确认。
更新后复核记录,并为每个例外写明负责人和到期日期。
将每个移除、默认变化或安全策略与正向检查和可解释的阻断路径关联。
最终记录应说明变更已准备、分阶段发布、延期或回退,并列出证据和负责人。
证据不足时,将决定标为待定,并记录负责人、缺失观察和下一次检查日期。
交接完成的标准是他人能复现决定、看到同一备用操作,并知道哪些证据会改变决定。
记录应便于复核,同时清楚区分浏览器行为和应用行为。
统一使用候选、检测到、可见、已确认、待定和回退等证据状态。
这样复核者能区分已观察边界和仍开放的部分。
这种区分让发布决定有用,同时不夸大兼容性。
明确说明范围。
该决定保留这一边界。