Chrome 127 ベータ版

特に明記されていない限り、Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome Beta チャンネル リリースに以下の変更が適用されます。これらの機能について詳しくは、上記のリンクまたは ChromeStatus.com のリストをご覧ください。Chrome 127 は、2024 年 6 月 12 日時点でベータ版です。最新版は、パソコンの場合は Google.com、Android の場合は Google Play ストアでダウンロードできます。

CSS

このリリースでは、3 つの新しい CSS 機能が追加されています。

CSS のフォントサイズ調整

CSS プロパティ font-size-adjust を使用すると、小文字のサイズを大文字のサイズに対して相対的に変更できます。これにより、全体のフォントサイズが定義されます。このプロパティは、フォントのフォールバックが発生する可能性がある状況で役立ちます。

Chrome 127 には、フォントの指標と値を渡す 2 つの値の構文があります。

CSS で生成されたコンテンツにおける複数引数の代替テキスト

CSS の content プロパティを使用すると、次の構文でユーザー補助の代替テキストを指定できます。

.has-before-content::before {
    content: url("cat.jpg") / "A cute cat";
  }

ここに示されている構文(代替テキストは 1 つの文字列で指定します)は、Chrome ですでにサポートされています。Chrome 127 以降では、代替テキストは任意の数の要素で指定できます。また、文字列に加えて attr() 関数またはカウンタを使用できます。次に例を示します。

.has-before-content::before {
  content: url("cat.jpg") / "A cute " attr(data-animal);
}

この機能エントリには、カウンタのサポートの追加は含まれません。

iframes でのビュー遷移のサポート

Chrome 127 以降では、メインフレームと同一オリジンの iframe で同一ドキュメント ビューを同時遷移できるようになります。

以前は、メインフレームで遷移が同時に実行されている場合、同一オリジンの iframe で document.startViewTransition を使用してビュー遷移を実行しても、正常に機能しませんでした。iframe の遷移は自動的にスキップされます。これで、両方の遷移が実行されます。

iframe 内での同一オリジンのクロスドキュメント ナビゲーションでのビュー遷移もサポートされます。

ウェブ API

アトリビューション レポートの追加機能

Chrome 127 では、Attribution Reporting に 2 つの機能が追加されています。集計デバッグ レポートでは、サードパーティ Cookie のサポートが終了した後も、API 呼び出し元が引き続きデバッグ情報を受信できます。アトリビューション スコープを使用すると、アトリビューションのフィルタリングをより詳細に制御できます。

全画面表示のコンテンツの自動設定

新しい「自動全画面表示」のコンテンツ設定を使用すると、企業の管理者はユーザー操作なしでサイトを全画面表示にできます。ユーザーは、サイトの設定ページで、独立したウェブアプリにこの機能の使用を許可することもできます。

ウィンドウ管理権限、ブロックされていないポップアップと組み合わせることで、次のような重要な全画面機能を利用できるようになります。

  • 1 回の操作で別のディスプレイで全画面表示のポップアップを開く。
  • 1 回の操作で複数のディスプレイに全画面表示のコンテンツを表示します。
  • 新しいディスプレイが接続されたときに全画面表示のコンテンツを表示します。
  • 1 回の操作で全画面表示ウィンドウをディスプレイ間で切り替えることができます。
  • ユーザー ジェスチャーの有効期限が切れた後、またはユーザーが消費した後に全画面コンテンツを表示します。

パーティション化された Cookie の CookiePartitionKey のためのクロスサイト祖先チェーン用ビット

Chrome 127 では、パーティション化された Cookie の CookiePartitionKey のキーリングに、クロスサイトの祖先ビットが追加されます。この変更により、パーティション キーとストレージ パーティショニングで使用されるパーティション キー値が統合され、クロスサイトの埋め込みフレームがトップレベル サイトのパーティション化された Cookie にアクセスできないようにして、クリックジャッキング攻撃からの保護が強化されます。

企業で埋め込み iframe が破損した場合は、CookiesAllowedForUrls ポリシーを使用するか、Partitioned 属性を指定せずに SameSite=None Cookie を使用してから Storage Access API(SAA)を呼び出して、埋め込み iframe がトップレベル ドメインと同じ Cookie にアクセスできるようにします。

ドキュメントのピクチャー イン ピクチャー: ユーザー アクティベーションの伝播

これにより、ドキュメントのピクチャー イン ピクチャー ウィンドウでユーザーによるアクティベーションを、オープナー ウィンドウ内で使用できるようになります。また、その逆も同様です。これにより、ドキュメントのピクチャー イン ピクチャー ウィンドウ内のイベント ハンドラが実際にオープナーのコンテキストで実行されることが多く、オープナーのコンテキストがユーザー操作にアクセスする必要があるため、ユーザー起動を制御する API をより人間工学的に使用できます。

インポート マップの整合性

インポートされた ES モジュールは現在、整合性チェックができないため、サブリソースの整合性を必要とする環境や require-sri-for CSP ディレクティブのある環境では実行できません。

この機能により、マップをインポートするための integrity セクションが追加されます。これにより、デベロッパーは ES モジュールの URL を整合性メタデータにマッピングし、想定されるハッシュと一致する場合にのみ読み込まれるようにできます。

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

この機能では次の変更が行われています。

デフォルトでは、スクローラーはクリック フォーカス可能で、プログラムによりフォーカス可能です。フォーカス可能な子がないスクローラーは、デフォルトでキーボードでフォーカス可能です。

これは、スクローラーとスクローラー内のコンテンツをすべてのユーザーが利用しやすくするための重要な改善です。そのメリットについて詳しくは、キーボードのフォーカス可能スクローラーの投稿をご覧ください。Chrome 127 以降、キーボードのフォーカス可能スクローラーがデフォルトで有効になります。ウェブサイトでこの新機能に慣れる時間が必要な場合は、次の選択肢があります。

No-Vary-Search による事前レンダリングのサポート

No-Vary-Search のサポートが拡張され、以前のプリフェッチ サポートに加えて事前レンダリングされるようになりました。これにより、特定の URL クエリ パラメータが変更された場合でも、事前レンダリング エントリが一致するようになります。No-Vary-Search HTTP レスポンス ヘッダーは、キャッシュ マッチングのために URL クエリの一部またはすべてを無視できることを宣言します。

スナップ イベント

スナップ イベントを使用すると、デベロッパーはスクローラーのスナップ ターゲットが変更されたタイミングを確実にリッスンし、スタイルの調整を行うことができます。

CSS のスクロール スナップ ポイントは、スクロールのインタラクティブな選択コンポーネントを作成するメカニズムとしてよく使用されます。この選択は、JavaScript の交差オブザーバーとスクロール終了を推測して決定します。組み込みイベントを作成することで、目に見えない状態を適切なタイミングで、常に正しい状態で実行できるようになります。

この機能では、scrollsnapchangescrollsnapchanging の 2 つの JavaScript イベントが追加されます。scrollsnapchange イベントは、スクロール オペレーション(スナップを含む)の完了時に、スクローラーがスナップされる要素が変更されたことをデベロッパーに通知します。scrollsnapchanging イベントは、スクロール操作中に、ユーザー エージェントがそれまでのスクロール入力に基づいてスクロール コンテナを新しいスナップ ターゲットにスナップしようとしていることを示すヒントをデベロッパーに提供します。

MediaMetadata の動画チャプター

メディア メタデータに、セクションのタイトル、タイムスタンプ、スクリーンショット画像などの個々のチャプター情報を追加できるようになりました。これにより、ユーザーはメディアのコンテンツ内を移動できます。

これは ChromeOS のメディア通知にのみ表示され、Chrome ブラウザのグローバル メディア コントロールには表示されません。

WebGPU: GPUAdapter info 属性

非同期 GPUAdapter requestAdapterInfo() メソッドと同じ物理アダプターに関する情報を取得するために、同期 GPUAdapter 情報属性が追加されています。

オリジン トライアルが進行中

Chrome 127 では、次の新しいオリジン トライアルを有効にできます。

Shared Brotli と Shared Zstandard を使用した圧縮辞書転送

この機能により、Brotli(または Zstandard)圧縮の HTTP レスポンスの外部辞書として、指定された以前のレスポンスを使用するためのサポートが追加されます。

プライベート ネットワーク アクセス(PNA)での 0.0.0.0 のサポート終了

Google では、PNA が完全に展開される前に、IP アドレス 0.0.0.0 へのアクセスをブロックすることを提案します。

Chrome は、PNA 仕様の一環として、公開ウェブサイトからプライベート ネットワーク エンドポイントへの直接アクセスを廃止します。この仕様では、localhost(127.0.0.0/8)でリッスンするサービスはプライベートと見なされます。macOS と Linux の localhost でリッスンするサービスにアクセスするために、IP アドレス 0.0.0.0 を使用して Chrome の PNA 保護(https://chromestatus.com/feature/5436853517811712 の一部としてロールアウト)をバイパスできます。

これは、ローカルホストでリッスンするウェブ アプリケーションを標的とした DNS リバインディング攻撃でも悪用される可能性があります。

0.0.0.0 は実際には使用されておらず、使用すべきではないため、プライベート ネットワーク リクエストの他の非推奨とは別個にサポートを終了します。

サードパーティ Cookie のサポート終了

Google は、サードパーティ(クロスサイト)Cookie へのデフォルト アクセスのサポートを終了し、削除する予定です。2024 年第 1 四半期の最初の 1% のテスト期間を経て、2025 年第 1 四半期に段階的に廃止される予定です。

サードパーティ Cookie の廃止は、プライバシー サンドボックスの取り組みの中心的な取り組みです。このイニシアチブは、ウェブ(およびそれ以外)でのクロスサイト トラッキングを責任を持って減らしながら、新しいテクノロジーによって主要なユースケースをサポートすることを目指しています。

ストレージ API、Service Worker API、通信 API のパーティショニング

Chrome 115 以降では、ストレージ、Service Worker、通信 API がサードパーティ コンテキストに分割されています。Chrome 113 から 126 まで、サイトはデプリケーション トライアルに参加して一時的にパーティショニングを解除し、ストレージ、Service Worker、通信 API の以前の動作を復元できました。

Chrome 125 以降では、Storage Access API の Cookie 以外のストレージがサポートされています。これにより、パーティション分割されていないストレージのユースケースの大部分に対処できます。これらのユースケースが満たされない場合、Chrome 127 ~ 132 のユーザーに対して、DisableThirdPartyStoragePartitioning デプリケーション トライアルの更新を 6 マイルストーンでリクエストできるようになりました。

詳しくは、ストレージ パーティショニングのデプリケーション トライアルの更新に関するブログ投稿をご覧ください。

キーボードのフォーカス可能なスクロール コンテナの非推奨トライアル

この機能では次の変更が行われています。

  • デフォルトでは、スクローラーはクリック フォーカス可能で、プログラムによりフォーカス可能です。
  • フォーカス可能な子がないスクローラーは、デフォルトでキーボードでフォーカス可能です。

この変更のリリースを試みましたが、一部のサイトが一部のコンポーネントに関して想定外であったことがわかりました。その結果、この不具合を回避するため、機能をアンシップする必要がありました。メリットを考慮して、この機能は 127 からリリースされる予定です。影響を受けるサイトがコンポーネントを移行する時間を確保するため、デプリケーション トライアルを開始します。有効にすると、この機能が無効になります。

非推奨と削除

このバージョンの Chrome では、下記の非推奨化と削除が導入されています。 サポート終了の予定、現在のサポート終了、以前の削除のリストについては、ChromeStatus.com をご覧ください。

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

ミューテーション イベント

Chrome 127 以降、ミューテーション イベントのサポートはデフォルトで無効になります。サイトの不具合を避けるため、この日までにコードを移行する必要があります。さらに時間が必要な場合は、次の選択肢があります。

詳しくは、ミューテーション イベントのサポート終了に関するブログ投稿をご覧ください。

公開ウェブサイトからのサブリソースに対する「プライベート ネットワーク リクエスト」を制限し、安全なコンテキストにする

公開ウェブサイトからサブリソースに対するプライベート ネットワーク リクエストは、安全なコンテキストからのみ開始できるようにします。たとえば、インターネットからイントラネットへのリクエストや、インターネットからループバックのリクエストなどです。

これは、プライベート ネットワーク アクセスを完全に実装するための最初のステップです。

古い CSS カスタム ステータス構文を削除する

CSS カスタム ステータス疑似クラスの名前が :--foo から :state(foo) に変更されます。新しい構文 :state(foo) はデフォルトで有効になっているため、:--foo 構文は削除されます。

Firefox と Safari は古い構文を実装したことがなく、どちらも新しい構文を提供しています。

さらに時間が必要な場合は、CSSCustomStateDeprecatedSyntaxEnabled ポリシーを使用できます。このポリシーは Chrome 131 で廃止されます。