ウェブの新機能

公開日: 2025 年 5 月 20 日

Google I/O 2025 のウェブの新機能に関する基調講演では、すべてのベースラインの発表と、今年ベースラインの一部となった機能の一部が紹介されました。ウェブにとって素晴らしい 1 年でした。この投稿では、Baseline で言及されたすべての内容をまとめ、詳細を確認するためのリンクをすべて掲載しています。

Web Platform Dashboard と web-features

2024 年には、ウェブ機能データセットを使用する Web Platform Dashboard の初回リリースを発表しました。これにより、ベースラインの一部であるすべての機能を調べることができます。

ウェブ機能データが完成し、プラットフォームのすべての機能がマッピングされました。毎月新しい機能が Baseline に追加されると、データが更新され、そのすべてがダッシュボードに表示されます。

独自のベースライン ターゲットを見つけるためのツール

ブラウザ サポート ポリシーは、英国の代理店 Clearleft のように、Baseline Widely available の変動するターゲットに基づいて作成できますが、Baseline の年次に基づいて固定ターゲットを採用することもできます。ウェブ機能のデータと独自のユーザーデータを組み合わせて、最適なターゲットを特定できるようになりました。

昨年の I/O で、RUMvision がプロダクトに Baseline を実装することを発表しましたが、この統合が実現しました。

RUM データを使用するため、グローバル平均ではなく、そのデータに基づいてどの基準年を採用するかを特定できます。また、Baseline Widely available が適切かどうかを判断するのにも役立ちます。

また、新しい Google アナリティクス ベースライン チェッカーを使用すると、Google アナリティクスのデータから、各ベースライン ターゲットをサポートしているユーザーの割合を明確に確認できます。

サポートされている割合を含むベースライン年のリスト。
Google アナリティクス ベースライン チェッカーの出力。

これらは、実際のユーザーデータを Baseline にマッピングするのに役立つツール群のほんの一部です。

Web DX Community Group は最近、Netlify の拡張機能をリリースしました。この拡張機能は、さまざまな Baseline 年と Widely available のサポートをサイトに表示し、ビルドツールでターゲットにするものを決定するのに役立ちます。Cloudflare の Observatory RUM プロダクトや Contentsquare との統合も近日中に提供予定です。

データを独自のツールと統合する

ウェブ機能のデータはオープンであり、独自の統合に使用できます。Google は、この作業をより簡単に行えるように取り組んでいます。

Web Platform Dashboard API を使用するか、npm パッケージからウェブ機能データを直接使用します。

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 という新しいツールをリリースしました。これにより、広く利用可能または Baseline 年などの Baseline の用語で browserslist ターゲットを構成できます。

これにより、browserslist ターゲットを受け取るツールはすべて、ベースラインで表現できるようになりました。

詳しくは、ブラウザリストで Baseline を使用するをご覧ください。

リンターのベースライン - ESLint と Stylelint

最近、CSS 用 ESLint をはじめとする、リンター スペースのいくつかの新しいツールにより、リンターでベースラインを使用できるようになりました。

ベースライン ESLint には use-baseline ルールがあります。この値を優先するベースライン ターゲットに設定すると、ターゲットよりも新しい機能を使用する際に警告が表示されます。これらの警告を解決する方法は、その機能をプリミティブに置き換えるか、リンターの警告を抑制するかのいずれかを選択できます。たとえば、プログレッシブ エンハンスメントなど、最先端の機能を安全に使用していることがわかっている場合は、リンターの警告を抑制するのが妥当な解決策です。

デフォルトでは、サポートされていないブラウザでは評価されないため、@supports ブロック内で新しい機能が使用されていても ESLint は警告しません。

HTML の linting には、html-eslint というコミュニティ プラグインもあります。

Stylelint は、stylelint-plugin-use-baseline というプラグインを公式にサポートしています。このルールは CSS の ESLint ルールと同じように動作しますが、Stylelint で実行されます。

多くのリンターには IDE プラグインもあります。そのため、コードを記述しながら、波線の下線でベースラインのステータスに関するフィードバックをすぐに確認できます。

VSCode で使用されている ESLint プラグイン。ベースライン ターゲット外の機能に下線が表示されている。
VSCode で使用される ESLint プラグイン。

VS Code と JetBrains WebStorm のベースライン

多くの IDE では、エディタで機能にカーソルを合わせると、サポートされているブラウザのバージョンのリストが表示される機能が長年サポートされています。

しかし、その機能が実際に安全に使用できるかどうかを理解するのは非常に困難です。そのリストに主要なブラウザが欠落していないかどうか、そのブラウザのバージョンがどれほど新しいかを頭の中で解析する必要があります。

この問題を解決するため、Google は数百万人のウェブ デベロッパーが使用する最も一般的な IDE である VS Code と提携し、これらのホバーカードに Baseline データを直接統合しました。

機能にカーソルを合わせると、その機能がベースラインと見なされるかどうか、ベースラインと見なされる期間、またはまだ完全に実装していない主要なブラウザがあるかどうかが表示されます。

VSCode のホバーカードにベースラインのステータスが表示されている。
VSCode ホバーカードの統合。

サポートされている機能には、CSS プロパティ、HTML 要素、HTML 属性などがあります。詳しくは、Visual Studio Code で Baseline がサポートされるようになりましたをご覧ください。

この統合により、VS Code ベースの IDE もこれらのホバーカードのメリットを享受できます。

また、JetBrains が WebStorm JavaScript および TypeScript IDE にホバーカードを実装することも発表します。

WebStorm のホバーカード統合。

ウェブはかつてないスピードで進化しています

相互運用可能なウェブがかつてないスピードで進化しているという事実を、Baseline が活用する一助となれば幸いです。

ウェブ プラットフォーム ダッシュボードを使用すると、Google I/O 2024 以降の過去 12 か月間に Baseline で新たに利用可能になったすべての機能を確認できます。

また、Interop 2025 プロジェクトに含まれているため、まもなく Baseline Newly available になることが確実な機能も多数あります。含まれるすべての機能については、Interop2025: ウェブ プラットフォームの改善のもう 1 年をご覧ください。

横書きモード

Browser Support

  • Chrome: 132.
  • Edge: 132.
  • Firefox: 43.
  • Safari: 18.4.

すでに、CSS の writing-mode プロパティの sideways-rl 値と sideways-lr 値という 1 つの機能が Baseline Newly available になっています。レイアウトのみを目的として縦書きモードを使用している場合は、横書きの値を使用することをおすすめします。

h1 {
  writing-mode: sideways-rl;
}

h2 {
  writing-mode: sideways-lr;
}

アンカーの配置

Browser Support

  • Chrome: 144.
  • Edge: 144.
  • Firefox: 151.
  • Safari: 26.

Source

アンカーの配置は Chrome 125 でリリースされました。たとえば、ボタンでツールチップを開くときに、要素の位置をアンカーに関連付けることができます。

現在 Interop 2025 に含まれているため、今年中に Baseline に追加される予定です。

Core Web Vitals: LCP と INP

LCP API

Browser Support

  • Chrome: 77.
  • Edge: 79.
  • Firefox: 122.
  • Safari: 26.2.

Source

イベント タイミング API(INP 用)

Browser Support

  • Chrome: 96.
  • Edge: 96.
  • Firefox: 144.
  • Safari: 26.2.

Source

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

  • Chrome: 89.
  • Edge: 89.
  • Firefox: 49.
  • Safari: not supported.

summary::marker {
  content: "+ ";
  font-family: monospace;
  color: red;
  font-weight: bold;
}

次に、別の疑似要素 ::details-content

Browser Support

  • Chrome: 131.
  • Edge: 131.
  • Firefox: 143.
  • Safari: 18.4.

Source

::details-content はコンテンツを表します。これは、展開と折りたたみが可能な details 要素の一部であり、スタイルを設定できます。

[open]::details-content {
  border: 5px dashed hotpink;
}

また、ページ内検索で一致した <details> 要素を自動的に展開したり、HTML の hidden 属性の until-found 値を Baseline Newly available に追加したりするなど、便利な改善も行われています。この属性は、ブラウザのページ内検索で要素が見つかるか、URL フラグメントをたどって要素に直接移動するまで、要素を非表示にします。

CSS @scope

Browser Support

  • Chrome: 118.
  • Edge: 118.
  • Firefox: 146.
  • Safari: 17.4.

Source

CSS の @scope ルールを使用すると、セレクタのリーチを制限できます。@scope でスコープ ルートを設定すると、@ 規則内にネストされたスタイルルールは、その DOM ツリーにのみ適用されます。

たとえば、クラス .card の要素内の <img> 要素のみをターゲットにする場合は、.card がスコープのルートになります。

@scope (.card) {
    img {
        border-color: green;
    }
}

詳しくは、CSS の @scope at-rule を使用してセレクタの範囲を制限するをご覧ください。

scrollend

Browser Support

  • Chrome: 114.
  • Edge: 114.
  • Firefox: 109.
  • Safari: 26.2.

Source

複雑さを軽減し、スクロール インターフェースを改善するもう 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 をご覧ください。

同じドキュメント内のビューの切り替え

Browser Support

  • Chrome: 111.
  • Edge: 111.
  • Firefox: 144.
  • Safari: 18.

Source

最後に、ビューの切り替えは Interop 2025 の一部です。この作業には、シングルページ アプリ用の同じドキュメントのビュー遷移と、ビュー遷移クラスが含まれます。

Interop 2025 ダッシュボードで、プロジェクトの進捗状況をご確認ください。

Interop 2025 に含まれる機能は、今年 Baseline に含まれる唯一の機能ではありませんが、プロジェクトに含まれることで、優先順位が高く、まもなくリリースされることがわかります。

まだ始まったばかりです

Baseline にとってエキサイティングな 1 年でした。昨年の発表から大きく進歩しました。ウェブ機能データのバックフィルが完了しました。これにより、開発者ツールを作成できるようになりました。このデータを含めることでメリットが得られるプロダクトやオープンソース ツールをお持ちの場合は、ぜひご連絡ください。

web.dev をご確認ください。ウェブが提供するあらゆるものを活用するのに役立つチュートリアルとともに、新しいツールに関するお知らせを今後も公開していきます。