Web標準の互換性を表す Baseline という概念の紹介

# はじめに

この記事は [2023 年の MDN 翻訳 Advent Calendar](https://qiita.com/advent-calendar/2023/mdn-translation-community-japan) 向けに作成したものです。

こんにちは。debiru です。ネタがないといいながらネタを見つけたので投稿しています。

今日は、2023 年 5 月に登場した **Baseline** という概念について紹介するとともに、12 月 5 日に MDN において Baseline が進化したことをお伝えしにやってきました。

## Baseline とは

2023 年現在、Web 標準は Living Standard としてアップデートが継続的に行われており、各種モダンブラウザは Web 標準で新たに策定される機能を実装し、最新版に反映させています。

余談ですが、各種ブラウザの最新版で実装された機能の一覧は、先日私が開発したツール「[MDN - BCD一覧表](https://mdn-bcd.lavoscore.org/?sort=firefox.desc)」で確認することができます。

しかしながら、ブラウザによって機能を実装する時期が異なるため、ある機能がクロスブラウザ対応となっているのか、一部の限られたブラウザしか実装されていないのかについて知ることが困難になっています。Web アプリケーション開発者は、従来 https://caniuse.com/ や MDN の Browser Compat Data を参照することでそれを調べてきました。

そのような状況を改善するために登場したのが **Baseline** です。

Baseline は、ある機能がモダンブラウザで動作することが期待できるかを表すステータスです。また、ある機能が「クロスブラウザ対応されていて使える状況」にあることを「Baseline である」あるいは「その機能は Baseline 機能である」と表現します。

Baseline には大きく分けて 3 つの状態があります。

- Baseline: Widely Available（広く利用可能）
- Baseline: Newly Available（新しく利用可能）
- Limited Available（制限付き利用可能）

## Baseline: Widely Available（広く利用可能）

![緑色のウィジェット。Baseline: Widely Available](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178936/4de811fb-9207-882b-b066-5a727d252ace.png)

> This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.

（拙訳）この機能は確立されており、多くのデバイスやブラウザのバージョンで動作します。2020 年 7 月以降、すべてのブラウザで利用可能です。

何年何月以降、という部分は具体的な機能によって異なります。

**Baseline: Widely Available** である場合、Web アプリケーション開発者は、エンドユーザーがその機能を利用可能であることを期待してよいことになります。

## Baseline: Newly Available（新しく利用可能）

![青色のウィジェット。Baseline: Newly Available](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178936/104fe779-1fe8-1f86-fb6d-1af0bfb2e92e.png)

> Since September 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

（拙訳）2023 年 9 月以降、この機能は最新のデバイスとブラウザのバージョンで動作します。古いデバイスやブラウザでは動作しない場合があります。

Newly というのは相対的な表現なので、Newly Available には年号が与えられて管理されています。上記の例（[Subgrid](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Subgrid)）は 2023 という区分になっています。

**Baseline: Newly Available** である場合、Web アプリケーション開発者は、一部のエンドユーザーが最新版でないブラウザを使っている場合にその機能が利用できない可能性を考慮した上で、その機能を利用することができます。

PC ブラウザであれば多くのブラウザがラピッドリリースを採用しているためエンドユーザーのブラウザが最新版になっていることを期待できますが、Safari や iOS Safari のようなブラウザはエンドユーザーがアップグレードを保留している場合があります。

## Limited Available（制限付き利用可能）

![灰色のウィジェット。Limited Available - これは Baseline ではない](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/178936/2ce5dadf-82a8-e17e-0bac-0f74ff38a028.png)

> This feature is not Baseline because it does not work in some of the most widely-used browsers.

（拙訳）この機能は最も広く使われているブラウザの一部では動作しないため、Baseline ではありません。

**Limited Available** である場合、Web アプリケーション開発者は、一部のエンドユーザーしかその機能を利用できないということを考慮する必要があります。例えば、Firefox だけ実装されていないといった機能が該当します。全てのモダンブラウザで利用可能ではないということです。

## Baseline に関する関連記事

- [Web標準に新たなステータス「Baseline」が登場。変化し続けるWeb標準のうちWeb開発者が安心して使える機能群を示す。MDNドキュメントなどで表示開始 － Publickey](https://www.publickey1.jp/blog/23/webbaselinewebwebmdn.html)
- [(2023-05-10) Introducing Baseline: a unified view of stable web features | MDN Blog](https://developer.mozilla.org/en-US/blog/baseline-unified-view-stable-web-features/)
- [(2023-12-05) Baseline's evolution on MDN | MDN Blog](https://developer.mozilla.org/en-US/blog/baseline-evolution-on-mdn/)
- [Baseline (compatibility) - MDN Web Docs Glossary: Definitions of Web-related terms | MDN](https://developer.mozilla.org/en-US/docs/Glossary/Baseline/Compatibility)
- [Baseline (compatibility) - MDN Web Docs 用語集: ウェブ関連用語の定義 | MDN](https://developer.mozilla.org/ja/docs/Glossary/Baseline/Compatibility)
    - [日本語訳を更新](https://github.com/mdn/translated-content/pull/17346)したので近日中にアップデートされるはずです。

# MDN における Baseline の進化（2023年12月）

- [(2023-12-05) Baseline's evolution on MDN | MDN Blog](https://developer.mozilla.org/en-US/blog/baseline-evolution-on-mdn/)

の記事の通りですが、上記に示した 3 種類の Baseline 表示が実際に MDN でされるようになりました（Newly Available が追加された模様）。

実際に表示される MDN ページは [web-features/tree/main/feature-group-definitions](https://github.com/web-platform-dx/web-features/tree/main/feature-group-definitions) で設定ファイルが定義されているページとなるようです。

# さいごに

- [Web標準に新たなステータス「Baseline」が登場。変化し続けるWeb標準のうちWeb開発者が安心して使える機能群を示す。MDNドキュメントなどで表示開始 － Publickey](https://www.publickey1.jp/blog/23/webbaselinewebwebmdn.html)

の記事の通りですが、**Baseline** は MDN 特有のステータスではなく、[W3C WebDX Community Group](https://www.w3.org/community/webdx/) によって策定されたものです。MDN を超えて、Web 標準の機能を「Baseline であるかどうか」と表現できるようになったことが、この Baseline という概念の大きな利点です。

あなたも職場で、「それ Baseline じゃないからまだ使えないよ〜」などと発言してみてください。きっと「Baseline って何ですか？」って聞き返されると思います。

そんなわけで、今後とも Baseline をよろしくお願い申し上げます。

おわり。