互換性一覧表とブラウザー互換性データリポジトリー (BCD)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2019.
MDN には、DOM, HTML, CSS, JavaScript, SVG などの、あらゆるブラウザーで共有される技術についての互換性を表す一覧表の標準フォーマットがあります。 このデータを複数のプロジェクトで機械的に利用できるようにするため、Node.js パッケージが browser-compat-data リポジトリーからビルドされ、npm に公開されています。
これらの互換性一覧表のデータを変更するには、browser-compat-data
リポジトリーの協力者ガイドやデータガイドラインのガイド中にある包括的なドキュメント(データを表現するために使用される慣習とJSONスキーマの最新の詳細を含みます)をご覧ください。
質問や問題が見つかった場合は、助けを求めるをご利用ください。
MDN ページで BCD データを使う
browser-compat-data リポジトリーにデータが格納されると、そのデータを基にしたブラウザー互換性一覧表や仕様書を、MDN ページに動的に生成できるようになります。
BCD データを MDN ページに取り込むには、BCD ソースファイルで指定されている、取り込みたい該当データのクエリー文字列を使用します。 例えば、
AbortController
互換性データは api/AbortController.json で定義されており、クエリー文字列api.AbortController
で取り込みが可能です。Content-Type
HTTPヘッダーの互換性データは、http/headers/content-type.json で定義されており、クエリー文字列http.headers.Content-Type
で取り込みが可能です。VRDisplay.capabilities
プロパティの互換性データは api/VRDisplay.json で定義されており、クエリー文字列api.VRDisplay.capabilities
で取り込みが可能です。
互換性データのクエリー文字列は、ページのフロントマターで browser-compat
キーを指定してください。
例えば、AbortController
の場合、以下のように追加します。
訳注:
日本語に翻訳された記事には browser-compat
キーは追加しないでください。省略しても英語版のフロントマターが参照されるため、不要です。あると混乱の原因になります。参考)
---
title: AbortController
slug: Web/API/AbortController
page-type: web-api-interface
browser-compat: api.AbortController
---
そして、そのキーに対応する互換性一覧表と仕様書が、ソース中の {{Compat}}
マクロと {{Specifications}}
マクロから自動的に生成されます。
同じページに複数の互換性一覧表や仕様書が必要な場合、browser-compat
の値を配列で指定することができます。例えば、チャンネルメッセージング API の場合、以下のように追加します。
---
title: Channel Messaging API
slug: Web/API/Channel_Messaging_API
page-type: web-api-overview
browser-compat:
- api.MessageChannel
- api.MessagePort
---
マクロ呼び出すと、以下の表(とそれに対応するメモ設定)が生成されます。
互換性一覧表の例
BCD tables only load in the browser
仕様書一覧表の例
Specification |
---|
DOM Standard # interface-abortcontroller |