# Baseline 支持概览

> Baseline 的含义、广泛可用、新近可用与有限可用三档、被追踪的七款浏览器、30 个月窗口，以及仍在累积的年度特性集「Baseline 2026」。

Baseline 是面向 Web 平台特性（API、CSS 属性、JavaScript 语法）的跨浏览器支持信号，按七款浏览器与平台组合上的持续支持情况分为三档：广泛可用、新近可用、有限可用。「Baseline 2026」是收录 2026 年内跨入「新近可用」的特性的年度特性集，在年底之前一直处于开放状态。

## 工作原理

Baseline 由 Chrome 团队发起，由 [W3C WebDX Community Group](https://www.w3.org/community/webdx/) 定义；数据以 `web-features` npm 包的形式从 [web-platform-dx/web-features](https://github.com/web-platform-dx/web-features) 仓库发布，MDN、Can I Use、Lighthouse 与 DevTools 读取的都是这份数据。

### 计入支持判定的七款浏览器

[MDN 的 Baseline 词条](https://developer.mozilla.org/en-US/docs/Glossary/Baseline/Compatibility)列出了判定所依据的固定集合：iOS 上的 Safari、macOS 上的 Safari、Android 上的 Chrome、桌面 Chrome、桌面 Edge、Android 上的 Firefox、桌面 Firefox。集合之外的浏览器不会改变特性的档位：Samsung Internet、Opera、Android WebView 与微信内置 WebView 都不计入，因此一项「广泛可用」的特性仍可能在嵌入式 WebView 中失效。

### 三档划分

| 档位 | 判定条件 | MDN 徽标 |
|---|---|---|
| 广泛可用 | 在七款浏览器中各自持续支持至少 30 个月 | 绿色对勾 |
| 新近可用 | 至少在七款浏览器的最新稳定版中都可用 | 蓝色对勾并标注年份，例如「Baseline 2022」 |
| 有限可用 | 七款中至少缺一款 | 灰色叉号 |

[web.dev/baseline](https://web.dev/baseline) 上的 30 个月计时从特性的基准日期（keystone date）开始，[Baseline 定义](https://github.com/web-platform-dx/web-features/blob/main/docs/baseline.md)把它定为核心浏览器中最后一个加入支持的那次发布的日期（依据 `@mdn/browser-compat-data`，并排除标为 `partial_implementation` 的条目），而不是从年度标签开始。高档还有第二个条件：基准日期必须早于最新的 Firefox x.0 ESR 发布，所以 Firefox 在某次 ESR 切分后不久才支持的特性可能要等超过 30 个月。不计这一条，2026-02 跨入新近可用的特性在 2028-08 成为广泛可用，2026-11 才跨入的则要等到 2029-05，同属「Baseline 2026」的两项特性晋级时间可以相差 9 个月。

### 年度特性集

特性还会按跨入「新近可用」的日历年份分组：web.dev 把 Baseline 2024 定义为「2024 年内成为 Baseline 新近可用的全部项目」，对 2025 年沿用同一公式，并把 2026 年描述为「最新且仍在发展中的特性集」。因此 Baseline 2026 不是一份已封闭的清单，它会随浏览器发版持续增长到 2026-12。本站追踪的 PWA 特性在[按浏览器](/zh/compatibility/by-browser/)中按浏览器逐一标注 Baseline 状态，同时也列出 Baseline 未覆盖的浏览器。

## 示例

Baseline 是构建期信号，有公开的数据结构；它在运行时什么都不说，所以下面两个示例分别位于部署的两侧。

### 从 web-features 读取特性的 Baseline 状态

`web-features` 包为每个特性暴露 `status`：`baseline` 取值 `"high"`、`"low"` 或 `false`，日期字段 `baseline_low_date` 与 `baseline_high_date`，以及以 `chrome`、`chrome_android`、`edge`、`firefox`、`firefox_android`、`safari`、`safari_ios` 为键、记录最近引入该特性的版本的 `support` 映射（[data.schema.json](https://github.com/web-platform-dx/web-features/blob/main/schemas/data.schema.json)，github.com）。构建脚本可以据此决定代码路径：

```js
import { features } from 'web-features';

const { status } = features['web-share'];
if (status.baseline === 'high') {
  console.log(`广泛可用，自 ${status.baseline_high_date} 起`);
} else if (status.baseline === 'low') {
  console.log(`新近可用，自 ${status.baseline_low_date} 起；Firefox ${status.support.firefox ?? '无'}`);
} else {
  console.log('有限可用：保留回退路径');
}
```

按浏览器的细节在 `support` 映射里；只看 `baseline` 并不知道七款中缺的是哪一款。

### 在运行时检测特性本身

「广泛可用」的徽标到不了用户手里的浏览器，WebView 也在定义之外，所以页面仍要检测 API 并保留回退：

```js
async function shareOrCopy(url) {
  if (!('share' in navigator)) {
    await navigator.clipboard.writeText(url); // 没有分享面板：改为复制
    return 'copied';
  }
  await navigator.share({ url });
  return 'shared';
}
```

Baseline 决定回退路径值不值得维护；特性检测决定它是否运行。

## 实测行为

Baseline 只衡量浏览器支持。MDN 明确写道，它「不能替代无障碍、可用性、性能、安全性或其他测试」，也可能不反映更旧的设备与版本、定义之外的浏览器（例如操作系统 WebView）以及屏幕阅读器等辅助技术。对 PWA 而言，这意味着其他平台页面记录的 manifest、安装提示与 WebAPK 行为要按浏览器、按操作系统逐一判断，而不是看档位。

:::observed
MDN 上 manifest `display` 成员的参考页顶部横幅显示「Limited availability — This feature is not Baseline because it does not work in some of the most widely-used browsers.」（英文界面，2026-10 读取）。本站的 `manifest-display` 数据集记录该成员在 Android 版 Chrome 39、Chrome 73、Edge 79、iOS 版 Safari 11.3、macOS 版 Safari 17 与 Samsung Internet 4.0 中受支持，在桌面 Firefox 中不受支持（它没有由 manifest 驱动的安装路径）；七款中缺一款就足以让特性停留在有限可用档。
:::

Baseline 状态会出现在 web.dev/baseline 列出的工具里：Chrome DevTools 的 Elements 面板（针对 CSS 属性）、Lighthouse 的「Baseline Features」审计、ESLint 的 CSS 规则、Browserslist 查询、webstatus.dev 仪表盘、VS Code 以及一个 Netlify 扩展。它们读取的是同一份 `web-features` 数据，两个工具之间的分歧只会是包版本的差异，而不是不同的判定。

## 另请参阅

- [Baseline (compatibility)](https://developer.mozilla.org/en-US/docs/Glossary/Baseline/Compatibility)（developer.mozilla.org）
- [Baseline](https://web.dev/baseline)（web.dev）
- [web-platform-dx/web-features](https://github.com/web-platform-dx/web-features)（github.com）
- [按浏览器](/zh/compatibility/by-browser/)
- [按 OS](/zh/compatibility/by-os/)
- [Firefox 上的 PWA](/zh/reference/platforms/firefox/)