Chrome 125 ベータ版

特に記載のない限り、Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome Beta チャンネル リリースに次の変更が適用されます。ここに記載されている機能について詳しくは、リンク先または ChromeStatus.com のリストをご覧ください。Chrome 125 は 2024 年 4 月 17 日時点でベータ版です。最新バージョンはパソコンの場合は Google.com、Android の場合は Google Play ストアからダウンロードできます。Stable 版がリリースされると、含まれるすべての機能がリリースノートに記載されます。

CSS

このリリースでは、2 つの新しい CSS 機能と、2 つの CSS 関連の変更を行いました。

CSS アンカーの配置

CSS のアンカー配置を使用すると、デベロッパーは JavaScript を使用せずに、絶対位置にある要素をページ上の他の 1 つ以上の要素(アンカー)に宣言型の方法でテザリングできます。アンカーがスクロール可能な場合、アンカーの位置指定は効率的に機能します。一般的なユースケースは、ポップオーバーを呼び出した要素の横にツールチップ(ツールチップなど)を配置することや、選択メニューとそのポップオーバー オプション リストを配置することです。アンカー配置機能が導入される前は、このようなユースケースでは、JavaScript でポップオーバーを動的に配置し、呼び出し元要素がスクロールされたときに固定を維持する必要がありました。これはパフォーマンスのフットガンであり、正しく把握することが困難です。アンカーの配置により、これらのユースケースを効率的かつ宣言的に実装できます。

アンカー配置機能は、多数の CSS プロパティで構成されます。主なプロパティは次のとおりです。

  • anchor-name: 要素を他の要素のアンカーとして設定します。
  • position-anchor: アンカー要素がアンカーの配置に使用する「デフォルト」のアンカーを記述します。
  • anchor() 関数: アンカー要素の配置で、アンカー要素の位置を参照するために使用されます。
  • inset-area: 一般的な相対位置を示す、ポジショニングの省略形。

CSS の段階的な値関数 - round()mod()rem()

ステップ値関数 round()mod()rem() はすべて、指定された値を別の「ステップ値」に従って変換します。

round() CSS 関数は、選択した丸め方式に基づいて丸められた数値を返します。

mod() CSS 関数は、JavaScript の余り演算子(%)と同様に、最初のパラメータを 2 番目のパラメータで除算したときに残されたモジュラスを返します。モジュラスは、1 つのオペランドである被除数を 2 番目のオペランドである除数で除算したときに残された値です。常に除数の符号を取ります。

rem() CSS 関数は、JavaScript の余り演算子(%)と同様に、最初のパラメータを 2 番目のパラメータで除算したときに残された余りを返します。余りは、1 つのオペランドである被除数を 2 番目のオペランドである除数で除算したときに残された値です。常に被除数の符号を取ります。

明度が 100% または 0 に近い Oklab と Oklch の色の不連続性を取り除きます

この変更以前は、明度の値が 100% の Lab、LCH、Oklab、Oklch の色はすべて、他の 2 つのパラメータに関係なく白としてレンダリングされていました。明度の値が 0 のこれらのスペース内のすべての色は、黒としてレンダリングされました。この 2 つのマッピングは勾配の不連続性を引き起こし、ウェブ デベロッパーには予想していなかったものです。

このロールバックにより、これらの色は人為的にマッピングされることはなくなり、結果として表示される色は近くの色に対して連続的になり、ディスプレイの色域マッピングに依存します。

カラーパターンのルート スクロールバーを使用

「ページでサポートされているカラーパターン」の値が「normal」であるか指定されていない場合、およびルート要素の color-scheme の計算値が normal の場合、ブラウザでユーザーの好みのカラーパターンを使用してビューポートのスクロールバーをレンダリングします。ビューポートのスクロールバーは、ウェブ コンテンツの外部にあると考えられます。したがって、デベロッパーがカラーパターンのサポートを明示的に指定していない場合、ユーザー エージェントはビューポートのスクロールバーをレンダリングする際に、ユーザーの好みのカラーパターンを尊重する必要があります。

この変更を行っても、デベロッパーはスクロールバーのカラーパターンを制御できるようになります。新しい動作では、デベロッパーがルート要素のカラーパターンを指定していない場合にのみ、ブラウザでユーザーの好みのカラーパターンを使用してビューポートの非オーバーレイ スクロールバーをレンダリングします。

HTML

キーボードでフォーカス可能なスクロール コンテナ

シーケンシャル フォーカス ナビゲーションを使用してスクロール コンテナをフォーカス可能にすることで、ユーザー補助機能を向上させます。この変更以前は、tabIndex が明示的に 0 以上に設定されていない限り、Tab キーでスクローラーをフォーカスしていませんでした。

スクローラーをデフォルトでフォーカス可能にすることで、マウスを使用できない(または使用したくない)ユーザーは、キーボードのタブと矢印キーを使用してクリップしたコンテンツをフォーカスできます。この動作は、スクローラーにキーボードのフォーカス可能な子が含まれていない場合にのみ有効です。

これは Chrome 124 から開始された継続的なロールアウトであり、Chrome 125 以降のすべてのユーザーが利用できます。詳しくは、キーボードのフォーカス可能なスクローラーをご覧ください。

宣言型 Shadow DOM のシリアル化

最近 HTML 標準で標準化された、Shadow ルートを含む DOM ツリーをシリアル化できる機能。

ウェブ API

Attribution Reporting API への追加

Attribution Reporting API に機能が追加され、エラーのデバッグ レポートの解析をサポートするデバッグ機能の追加、優先登録プラットフォームを指定するフィールドのサポートによる API のエルゴノミクスの改善、プライバシーの向上が可能になりました。

Compute Pressure API

Compute Pressure API は、システムの CPU 負荷を表すハイレベルの状態を提供します。これにより、実装で基盤となる適切なハードウェア指標を使用して、システムに管理不可能な負荷がかからない限り、ユーザーは利用可能なすべての処理能力を活用できます。この API の設計と実装は Intel が主導し、ビデオ会議アプリで機能とパフォーマンスのバランスを動的に調整できるようにします。

WebSocket の構築時に HTTP(S) URL を受け入れる

この更新により、WebSocket コンストラクタの HTTP(S) スキームが有効になり、デベロッパーも相対 URL を使用できるようになりました。相対 URL は ws:wss: の内部スキームに正規化されています。

これにより、Storage Access API に提案された拡張機能(下位互換性があり、オリジン トライアル中)がリリースされ、サードパーティのコンテキストでパーティション分割されていない Cookie と非 Cookie ストレージにアクセスできるようにします。現在の API は Cookie へのアクセスのみを提供します。Cookie へのアクセス方法は、Cookie 以外のストレージとは用途が異なります。

ID アサーション エンドポイントでの FedCM CORS 要件

FedCM API での取得は、必要なプロパティのために推論が困難です。アカウント エンドポイントについては現在も議論が行われていますが、ID アサーション エンドポイントで CORS を使用する必要があるという意見もおおむね合意されています。この更新により、このフェッチのセキュリティ プロパティが、ウェブ プラットフォームの他のフェッチとより厳密に一致します。CORS 要件の仕組みについて詳しくは、FedCM の更新: Button Mode API オリジン トライアル、CORS、SameSite をご覧ください。

相互運用可能なマウス移動のデフォルト アクション

Chrome では、マウス移動イベントをキャンセルして、テキスト選択(これまではドラッグ&ドロップも可能)などの他の API を防止できるようになりました。これは他の主要なブラウザとは一致しておらず、UI イベントの仕様にも準拠していません。現在、テキスト選択はマウス移動のデフォルトのアクションではなくなりました。ただし、テキストの選択とドラッグ&ドロップは、selectstart イベントと dragstart イベントをそれぞれキャンセルすることで防止できます。

Shared Storage API の更新

このアップデートにより、iframe を作成せずにクロスオリジン ワークレットを実行するためのサポートが追加されました。

Chrome アプリ

Chrome アプリの Direct Sockets API

このアップデートにより、Chrome アプリで Direct Sockets が有効になり、ウェブアプリがネットワーク デバイスやシステムとの Direct Transmission Control Protocol(TCP)通信と User Datagram Protocol(UDP)通信を確立できるようになり、専用アプリを Chrome アプリから分離ウェブアプリに移行しやすくなります。

新しいオリジン トライアル

Chrome 125 以降、以下の新しいオリジン トライアルにオプトインできます。

FedCM Button Mode API と Other Account API の使用

このオリジン トライアルには、次の 2 つの FedCM API が含まれています。

Button Mode API を使用すると、[Sign-in to IdP] ボタンをクリックするなど、ウェブサイトで FedCM をボタンのクリックで呼び出すことができます。この場合、ユーザーがログアウトしたときに UI を表示しないウィジェット モードとは対照的に、FedCM はユーザー インターフェースで常に応答するようにする必要があります。ボタンモードで FedCM API を呼び出すと、ユーザーがログアウトした状態で IdP に(ダイアログ ウィンドウで)ログインするように求められます。

また、ボタンモードは明示的なユーザー操作内で呼び出されるため、(そのような明示的な意図を持たない)ウィジェット モードの UI と比較して、UI がより目立ちます(中央に配置される、モーダルなど)。Button Mode API の仕組みについて詳しくは、FedCM の更新: Button Mode API オリジン トライアル、CORS、SameSite をご覧ください。

Use Other Account API を使用すると、ID プロバイダはユーザーが他のアカウントにログインできます。

FedCM オリジン トライアルに登録します。

Foldable API

このオリジン トライアルには、Device Posture API と Viewport Segments Enumeration API が含まれています。これらの API は、デベロッパーが折りたたみ式デバイスをターゲットにできるようにするためのものです。詳しくは、Foldable API のオリジン トライアルをご覧ください。

Foldable API オリジン トライアルに登録します。

メディア プレビューのオプトアウト

このリバース オリジン トライアルでは、メディア プレビューのリリースからサイトが除外されます。

Chrome では、ウェブサイトからカメラとマイクの権限がリクエストされたときに、カメラとマイクの入力をリアルタイムでプレビューする予定です。これらの情報はサイトの pageinfo からも確認できます。

また、複数のデバイスを使用しているユーザーは、サイトが getUserMedia() で特定のデバイスをリクエストしていない限り、権限がリクエストされたときにカメラとマイクを選択できます。

この機能は、別の権限関連のプロジェクトである「ページ埋め込み権限制御(PEPC)」と同時に開発中です。ユーザーには、個別のオリジン トライアルやサイト固有のテストを含む独立したリリース プロセスで PEPC が表示されます。

プレフィックス付きの HTMLVideoElement Fullscreen プロパティとメソッドのサポート終了トライアル

コードの調整にさらに時間が必要な場合は、この非推奨トライアル期間中、プレフィックス付きの HTMLVideoElement プロパティとメソッドのサポートを再度有効にできます。削除されたプロパティとメソッドの詳細については、非推奨と削除をご覧ください。

Prefixed Video Fullscreen API の非推奨トライアルに登録します

プリロード スキャンをスキップする

プリロード スキャナをスキップして、サブリソースを取得しないページのパフォーマンスのトレードオフを調査します。

プリロード スキャナのステップは、投機的プリフェッチを実装することで、サブリソース フェッチを使用するページのパフォーマンスを向上させます。ただし、このステップのメリットが得られないページ、つまりサブリソースのないページの場合、処理のオーバーヘッドが増えますが、メリットはほとんどありません。

このオーバーヘッドを削減することでメリットを得たいと考えている上級ウェブユーザーのために、この試験運用版では、プリロード スキャナを無効にするページレベルの制御機能が用意されています。このテストで収集されたデータによって、変更した API や HTML プリロード スキャナの別の実装が役立つかどうかを評価できます。

スキッププリロード スキャンのオリジン トライアルに登録します

サポートの終了と削除

サポート終了の予定、現在のサポート終了、以前の削除内容については、ChromeStatus.com をご覧ください。

今回の Chrome リリースでは、次の 3 つの機能が削除されました。

権限および権限ポリシー「window-management」の「window-placement」エイリアスを削除

権限と権限ポリシー「window-management」の「window-placement」エイリアスを削除しました。これは、最終的に 「window-placement」を非推奨と削除して文字列の名前を変更する取り組みの一環です。 Window Management API が時間の経過とともに進化するにつれて、用語の変更により記述子の寿命が短縮されます。

エンタープライズ ポリシーの削除: NewBaseUrlInheritanceBehaviorAllowed

このエンタープライズ ポリシーのオーバーライドの基盤となるコード変更(新しいベース URL の継承動作)は、2023 年 8 月(118.0.5966.0)以降の安定版リリースで有効になっています。既知の問題はすでに対処されているため、このエンタープライズ ポリシーは Chrome 125 で削除されます。

接頭辞が付加された HTMLVideoElement Fullscreen プロパティとメソッドを削除

Chrome 38 以降、HTMLVideoElement という接頭辞が付いた全画面 API のサポートは終了しています。これに代わる Element.requestFullscreen() は、2018 年の Chrome 71 でプレフィックスなしでリリースされました。

次のプロパティとメソッドが HTMLVideoElement から削除されます。

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen()(FullScreen の「S」の大文字と小文字の違いに注意)
  • webkitExitFullScreen()

サイトが引き続きこれらのサービスに依存していて、コードの更新にさらに時間が必要な場合は、この投稿に記載されている非推奨トライアルにご登録ください。