公開日: 2025 年 5 月 20 日
Google I/O 2025 のウェブの新機能に関する基調講演では、すべてのベースラインの発表と、今年ベースラインの一部となった機能の一部が紹介されました。ウェブにとって素晴らしい 1 年でした。この投稿では、Baseline で言及されたすべての内容をまとめ、詳細を確認するためのリンクをすべて掲載しています。
Web Platform Dashboard と web-features
2024 年に、ウェブ機能データセットを使用する Web Platform Dashboard の初回リリースを発表しました。これにより、Baseline に含まれるすべての機能を調べることができます。
ウェブ機能データが完成し、プラットフォームのすべての機能がマッピングされました。毎月新しい機能が Baseline に追加されると、データが更新され、そのすべてがダッシュボードに表示されます。
独自のベースライン ターゲットを見つけるためのツール
ブラウザ サポート ポリシーは、英国の代理店 Clearleft のように、Baseline Widely available の変動するターゲットに基づいて作成できますが、Baseline の年次に基づいて固定ターゲットを採用することもできます。ウェブ機能のデータと独自のユーザーデータを組み合わせて、最適なターゲットを特定できるようになりました。
昨年の I/O で、RUMvision がプロダクトに Baseline を実装することを発表しましたが、この統合が実現しました。
RUM データを使用するため、グローバル平均ではなく、そのデータに基づいてどのベースライン年を採用するかを特定できます。また、Baseline Widely available が自分にとって適切かどうかを判断するのにも役立ちます。
また、新しい Google アナリティクス ベースライン チェッカーを使用すると、Google アナリティクスのデータから、各ベースライン ターゲットをサポートしているユーザーの割合を明確に確認できます。
これらは、実際のユーザーデータを Baseline にマッピングするのに役立つツール群のほんの一部です。
Web DX Community Group は最近、さまざまな Baseline 年と Widely available のサポートをサイトに表示する Netlify の拡張機能をリリースしました。この拡張機能は、ビルドツールでターゲットにするものを決定するのに役立ちます。Cloudflare の Observatory RUM プロダクトや Contentsquare との統合も近日中に提供予定です。
データを独自のツールと統合する
ウェブ機能のデータは公開されており、独自の統合に使用できます。Google は、この作業をより簡単に行えるように取り組んでいます。
Web Platform Dashboard API を使用するか、npm パッケージから web-features データを直接使用します。
W3C WebDX Community Group の baseline-browser-mapping モジュールを使用して、ブラウザのバージョンをベースライン ターゲットにマッピングできるようになりました。このモジュールは、サーバーサイドの JavaScript 環境で使用することも、リポジトリから毎日更新される JSON ファイルまたは CSV ファイルをダウンロードして使用することもできます。
このデータには、コアの Baseline ブラウザ セットだけでなく、Samsung Internet、Opera、UC Browser、Android Webview などのダウンストリーム ブラウザのマッピングも含まれています。
機能がベースライン ターゲットでサポートされているかどうかを確認する
ベースライン情報は、MDN と Can I Use のほとんどのページに記載されています。また、Web Platform Dashboard、web.dev と CSS Tricks の記事にも記載されています。ただし、これらすべてでサポートを調べる必要があります。コードの作成時に IDE に Baseline 情報が表示され、使用する他のすべてのツールの一部として表示される方がはるかに便利です。
このたび、多くの主要なツールに Baseline のサポートが組み込まれるか、簡単に統合できるようになりました。
browserslist-config-baseline
Babel や PostCSS などの多くのツールは、browserslist を使用してサポートするブラウザを決定します。
Chrome チームは、WebDX CG とコミュニティ メンバーとともに、browserslist-config-baseline という新しいツールをリリースしました。これにより、広く利用可能であるか、ベースラインの年数など、ベースラインの用語で browserslist ターゲットを構成できます。
これにより、browserslist ターゲットを受け取るツールを Baseline で表現できるようになりました。
詳しくは、ブラウザリストで Baseline を使用するをご覧ください。
リンターのベースライン - ESLint と Stylelint
最近、CSS 用 ESLint をはじめとする、リンター スペースのいくつかの新しいツールにより、リンターでベースラインを使用できるようになりました。
ベースライン ESLint には use-baseline ルールがあります。これを希望するベースライン ターゲットに設定すると、ターゲットよりも新しい機能を使用する際に警告が表示されます。これらの警告を解決する方法は、その機能をプリミティブに置き換えるか、リンターの警告を抑制するかのいずれかを選択できます。たとえば、プログレッシブ エンハンスメントなど、最先端の機能を安全に使用していることがわかっている場合は、リンターの警告を抑制するのが妥当な解決策です。
デフォルトでは、サポートされていないブラウザでは評価されないため、@supports ブロック内で新しい機能が使用されていても、ESLint は警告しません。
HTML の linting には、html-eslint というコミュニティ プラグインもあります。
Stylelint は、stylelint-plugin-use-baseline というプラグインを公式にサポートしています。このルールは CSS の ESLint ルールと同じように動作しますが、Stylelint で実行されます。
多くのリンターには IDE プラグインもあるため、コードの作成中に波線でベースラインのステータスに関するフィードバックをすぐに確認できます。
VS Code と JetBrains WebStorm のベースライン
多くの IDE では、エディタで機能にカーソルを合わせると、サポートされているブラウザのバージョンのリストが表示される機能が長年サポートされています。
しかし、その機能が実際に安全に使用できるかどうかを理解するのはかなり難しい場合があります。そのリストに主要なブラウザが欠落していないかどうか、そのブラウザのバージョンがどれほど新しいかを、頭の中で解析する必要があります。
この問題を解決するため、Google は数百万人のウェブ デベロッパーが使用する最も一般的な IDE である VS Code と提携し、これらのホバーカードに Baseline データを直接統合しました。
機能にカーソルを合わせると、その機能がベースラインと見なされるかどうか、ベースラインと見なされる期間、またはまだ完全に実装していない主要なブラウザがあるかどうかが表示されます。
サポートされている機能には、CSS プロパティ、HTML 要素、HTML 属性などがあります。詳しくは、Visual Studio Code で Baseline がサポートされるようになりましたをご覧ください。
この統合により、VS Code ベースの IDE もこれらのホバーカードのメリットを享受できます。
また、JetBrains が WebStorm JavaScript および TypeScript IDE にホバーカードを実装することも発表します。
ウェブはかつてないスピードで進化しています
相互運用可能なウェブがかつてないスピードで改善されているという事実を、Baseline が活用する一助となれば幸いです。
ウェブ プラットフォーム ダッシュボードを使用すると、Google I/O 2024 以降の過去 12 か月間で新たに Baseline になったすべての機能を確認できます。
Interop 2025 プロジェクトに含まれているため、まもなく Baseline Newly Available になることが確実な機能も多数あります。含まれるすべての機能については、Interop2025: ウェブ プラットフォームの改善のもう 1 年をご覧ください。
横書きモード
Browser Support
CSS の writing-mode プロパティの sideways-rl 値と sideways-lr 値という 1 つの機能が、すでに Baseline Newly available になっています。レイアウトのみを目的として縦書きモードを使用している場合は、横書きの値を使用することをおすすめします。
h1 {
writing-mode: sideways-rl;
}
h2 {
writing-mode: sideways-lr;
}
アンカーの配置
アンカーの配置は Chrome 125 でリリースされました。たとえば、ボタンでツールチップを開くときに、要素の位置をアンカーに関連付けることができます。
Interop 2025 に含まれるようになったため、今年中に Baseline に追加される予定です。
Core Web Vitals: LCP と INP
LCP API
Event Timing API(INP 用)
Web Vitals は、サイトのエクスペリエンスを数値化し、改善の機会を特定するのに役立ちます。ウェブに関する主な指標の取り組みは、状況を簡素化し、サイトが最も重要な指標であるウェブに関する主な指標に集中できるようにすることを目的としています。
Interop 2025 には、ブラウザ間で LargestContentfulPaint API と Event Timing API を実装することで、Largest Contentful Paint(LCP)と Interaction to Next Paint(INP)の指標が含まれています。
<details> 要素の機能強化
<details> 要素自体はすでに Baseline Widely で利用可能です。<details> を使用した開示ウィジェットをより便利にする機能が多数あるため、Interop 2025 に含まれています。
<details> 要素には <summary> 要素が含まれています。これは、<details> 要素が折りたたまれたときにページに表示される部分です。<summary> の外側は <details> 要素のコンテンツです。これは、ユーザーが概要をクリックするまで非表示になっています。
Interop 2025 で相互運用可能になることの 1 つに、display ではなく content-visibility を使用してコンテンツを非表示にすることがあります。つまり、展開しないとコンテンツがまったくレンダリングされません。
Interop 2025 の取り組みの一環として、::marker 疑似要素も含まれています。::marker 疑似要素を使用すると、<summary> 要素の開閉用三角形のスタイルを設定できます。
Browser Support
summary::marker {
content: "+ ";
font-family: monospace;
color: red;
font-weight: bold;
}
次に、別の疑似要素 ::details-content。
::details-content はコンテンツを表します。これは、展開と折りたたみが可能な details 要素の一部であり、スタイルを設定できます。
[open]::details-content {
border: 5px dashed hotpink;
}
また、ページ内検索で一致した <details> 要素を自動的に展開したり、HTML hidden 属性の until-found 値を Baseline Newly available に追加したりするなどの改善も行われています。これにより、ブラウザのページ内検索で要素が見つかるか、URL フラグメントをたどって直接移動するまで、要素が非表示になります。
CSS @scope
CSS の @scope ルールを使用すると、セレクタのリーチを制限できます。@scope でスコープ ルートを設定すると、@ 規則内にネストされたスタイルルールは、その DOM ツリーにのみ適用されます。
たとえば、クラス .card の要素内の <img> 要素のみをターゲットにする場合は、.card がスコープ設定のルートになります。
@scope (.card) {
img {
border-color: green;
}
}
詳しくは、CSS の @scope at-rule を使用してセレクタの範囲を制限するをご覧ください。
scrollend
複雑さを軽減し、スクロール インターフェースを改善するもう 1 つの機能は scrollend です。scrollend イベントがないと、スクロールが完了したことを確実に検出する方法がありません。
// before scrollend
document.onscroll = event => {
clearTimeout(window.scrollEndTimer)
window.scrollEndTimer = setTimeout(callback, 100)
}
scrollend イベントを使用すると、ブラウザがこの難しい評価をすべて行ってくれます。
document.onscrollend = event => {…}
その他の例については、Scrollend, a new JavaScript event をご覧ください。
同じドキュメント内のビューの切り替え
最後に、ビューの切り替えは Interop 2025 の一部です。この作業には、シングルページ アプリ用の同一番面ビュー遷移とビュー遷移クラスが含まれます。
Interop 2025 ダッシュボードで、プロジェクトの進捗状況をご確認ください。
Interop 2025 に含まれる機能は、今年 Baseline に含まれる唯一の機能ではありませんが、プロジェクトに含まれていることは、それらが優先順位の高い機能であり、まもなくリリースされることを示す良い兆候です。
まだ始まったばかりです
Baseline にとってエキサイティングな 1 年でした。昨年の発表から大きく進歩しました。ウェブ機能データのバックフィルが完了しました。これにより、デベロッパー ツールを作成できるようになりました。この取り組みはまだ始まったばかりです。このデータを含めることでメリットが得られるプロダクトやオープンソース ツールをお持ちの場合は、ぜひご連絡ください。
web.dev をチェックしてください。ウェブが提供するあらゆるものを活用できるように、新しいツールに関するお知らせとチュートリアルを今後も公開していきます。