デジタルマーケティングTips

Chrome 133 仕様変更発表まとめ

記事タイトル画像:Chrome 133 仕様変更発表まとめ

Google Chrome 133の主要な仕様変更発表のまとめです。(ベータ版時点での情報です)

記事バックナンバー一覧

要点

メルマガでも情報を配信中です! ぜひご登録ください。

追加・拡張

CSS:attr()関数の機能拡張に対応

attr()関数新しいウィンドウで開きます(要素タグ内の属性名・属性値を拾ってCSSのプロパティ値指定に使用する)が、CSS Level5で拡張された新仕様新しいウィンドウで開きますに対応します。

  • 本関数の使用可能範囲が、カスタムプロパティを含む任意のCSSプロパティに拡張されます。
  • 属性値について、string(文字列)以外のデータ型を使用できるようになります。

詳細はGoogleの記事「CSS attr() のアップグレード新しいウィンドウで開きます」にて解説されています。

CSS::open擬似クラス

:open擬似クラス新しいウィンドウで開きます…Chrome 133から、以下の開閉要素について、「開いた」状態向けのCSS指定が可能になります。

  • dialog要素新しいウィンドウで開きます(ダイアログボックス)&details要素新しいウィンドウで開きます(詳細表示用開閉アコーディオン)…:openを付加する(dialog:open / details:open)ことで、ダイアログやアコーディオンが開いている場合向けのCSS指定が可能になります。
  • select要素新しいウィンドウで開きます(項目選択)&input要素新しいウィンドウで開きます(入力値指定)…:openを付加する(select:open / input:open)ことで、ピッカーが開いている場合向けのCSS指定が可能になります。何かしらピッカーが開く種類のselect/input要素に限り適用されます。

CSS:スクロール状態に応じてCSSを分岐させるコンテナクエリ

@container scroll-state(…) {…}新しいウィンドウで開きますコンテナクエリ新しいウィンドウで開きますで、該当コンテナ要素のスクロール状態・位置に応じたCSS適用条件の切り分けが可能になります。これにより、従来JavaScriptでの処理が必要だった部分をCSSに移行できる場合があります。

  • scroll-state(stuck: ○○)新しいウィンドウで開きますスティッキーアイテム新しいウィンドウで開きます(粘着位置指定要素…親要素の範囲内でのみスクロールし、それを超えると指定位置で固定される半固定要素)がスクロール限界に達して固定された状態向けのCSS指定を行います。
    ○○内に入れる上下指定(top=上端粘着時、bottom=下端粘着時)に応じて、該当状態の場合のCSSを{ }内に記載します。
    活用例としては、「メインビジュアル下に配置したヘッダーについて、スクロールによって上部固定されたタイミングで色や不透明度を変更させる」等が挙げられます。
  • scroll-state(snapped: ○○)新しいウィンドウで開きますCSSスクロールスナップ新しいウィンドウで開きます(スクロール位置を指定間隔でスナップさせる)を使用する際に、要素のスナップ移動に応じた追加のCSS指定ができます。
    ○○に入れる軸指定(x=横、y=縦、inline=書字方向と平行、block=書字方向と直交)に応じて、その方向に移動してスナップした場合のCSSを{ }内に記載します。
    活用例としては「記事リンク枠カルーセルで、サムネイルが横移動スナップで中央に止まったときのみ概要文を追加表示する」等が挙げられます。
  • scroll-state(scrollable: ○○)新しいウィンドウで開きますoverflowプロパティ等新しいウィンドウで開きますによるコンテナ内スクロールが発生している場合、スクロールの上下左右端に到達した場合向けに追加のCSS指定ができます。
    ○○に入れる位置指定(top=上端、bottom=下端、left=左端、right=右端 etc.)に応じて、その位置に来た場合のCSSを{ }内に記載します。
    活用例としては「先にスクロール可能であることをシャドウやアイコンで可視化する」「上に戻るボタンを上端表示時のみ消す」等が挙げられます。

    ※2025/01/15時点のCSS条件規則 Lv5 Working Draft(2024/11/05版)では「overflowing新しいウィンドウで開きますという名称ですが、Chrome 133での実装は同時期のEditor's Draft(2024/12/19版)ベースの「scrollable新しいウィンドウで開きます」表記で行われています。

なお、これらのコンテナクエリを使用する場合、対象要素の親となるコンテナ要素にも、別途container-typeプロパティの値新しいウィンドウで開きますcontainer-type: scroll-state;と指定する必要があります。

詳細はGoogleの記事「CSS scroll-state()新しいウィンドウで開きます」にて解説されています。

CSS:テキストブロック要素のトリミング

テキスト要素の領域の上下もしくは角を削ることが可能になります。

フォントデータ内に広いマージンが設定されていると、狭い領域に配置する際の妨げになる場合があります。そういうフォントでもマージンを詰めて狭い領域に入れたい場合に活用できます。

  • text-box-trimプロパティ新しいウィンドウで開きます…テキスト要素の上下に余分な余白が発生している場合、余白を切り取って配置用領域を計算できます。
  • text-box-edgeプロパティ新しいウィンドウで開きます…テキスト要素の角を丸めることができます。ギリギリまで余白を詰めた角丸でテキストボタン/見出しを作ったりできます。

なお、両プロパティの値指定をまとめてtext-boxプロパティ新しいウィンドウで開きますにて対応することも可能です。

詳細はGoogleの記事「CSS text-box-trim新しいウィンドウで開きます」にて解説されています。

Web API:Popover API用の属性がツールチップ表示に対応

Popover API新しいウィンドウで開きます(ポップオーバー表示)関連で、popover属性新しいウィンドウで開きますが新たに以下の指定に対応します。

  • popover=hint新しいウィンドウで開きます…主にヒント(ツールチップ)表示を想定したもので、開くと他のpopover=hint属性のポップオーバーを閉じます(排他表示)。popover=auto属性の他のポップオーバーの開閉には影響しません。

Web API:ポップオーバー呼び出し時の親子位置関係指定機能

Web API:アニメーション位置取得機能の強化

Web Animations API新しいウィンドウで開きます(アニメーション制御)関連で、以下の機能に新たに対応します。

  • Animation新しいウィンドウで開きます.overallProgress新しいウィンドウで開きますプロパティ…反復するアニメーションについて、現在の状態がサイクル内のどの位置にあるかを取得できるようになります。

Web API:不可分操作で処理一時停止機能を追加

Atomicsオブジェクト新しいウィンドウで開きます(不可分操作でデータ処理に使用するオブジェクト)について、新たに以下の機能に対応します。
※不可分操作…途中で他プロセスに割り込まれず完了する必要のある一連の操作(外からは単一の操作のように見える)

  • Atomics.pause()メソッド新しいウィンドウで開きます…現在の処理がスピンロック(リソース解放チェックのループ)状態の場合、CPUやOSにそのことを通知する信号を送信します。

Web API:外部スクリプトの読み込み記録をCSPハッシュレポートに出力

  • コンテンツセキュリティポリシー (CSP)新しいウィンドウで開きますReporting API新しいウィンドウで開きますを組み合わせて、読み込んだ全外部リソースのURLとハッシュをまとめたレポートを出力できるようになります。
    CSPの都合上、外部からダウンロード・実行するリソースの記録を残していく必要がある場合に活用できます。

Web API:要素の各種状態を維持したまま配置を変更できる

Nodeインターフェイス新しいウィンドウで開きますが新たに以下のメソッドに対応します。

  • moveBeforeメソッド新しいウィンドウで開きます…指定ノード(要素)のDOMツリー内配置転換(親ノードの切り替え)を行う際に、アニメーション等の各種状態を維持したまま移動させられるようになります。
    類似するinsertBeforeメソッド新しいウィンドウで開きます(削除→再挿入)との違いは、moveBeforeでは配置転換時に対象の状態がリセットされず維持されることです。活用例は以下の通りです。
    • YouTube等の動画をインラインフレームで埋め込み再生させている場合、移動させても再生がリセットされず継続されます。
    • ボタンのアクティブフォーカス保有、ポップオーバー/モーダル表示、全画面表示等の状態が、移動先でもそのまま維持されます。
    • 要素をアニメーションさせている途中で配置転換が発生した場合、アニメーションが始点からやり直しにならず、移動先でそのまま継続されます。

Web API:area要素のアトリビューションレポート指定

Attribution Reporting API新しいウィンドウで開きます(広告等のコンバージョン貢献度計測)関連の機能強化です。

  • area要素新しいウィンドウで開きますでクリッカブル(リンク)領域を定義する際に、attributionsrc属性指定(HTTPリクエストヘッダー経由で、レスポンスヘッダー内にアトリビューションソース&トリガーの情報を発行させる)がarea要素内にあれば、area要素側の属性指定を受け付けるようになります。
    従来はa要素新しいウィンドウで開きますwindow.openメソッド新しいウィンドウで開きますattributionsrc属性新しいウィンドウで開きますがareaにも自動適用されていましたが、area要素側でも指定が可能になります。

Web API:ファイルシステム監視・変更検知機能

  • FileSystemObserverインターフェイス新しいウィンドウで開きます…ファイルやディレクトリの変更を監視し、変更が発生した場合に通知を行う処理が作れるようになります。
    (オリジントライアルから標準機能に昇格)

インポートマップの複数読み込みに対応

  • JavaScriptのインポートマップ新しいウィンドウで開きますについて、従来は1ドキュメントあたり1つしか使用できませんでしたが、133から複数のインポートマップを指定して読み込めるようになります。
    ページごとにインポートマップをそれぞれ1つにまとめる不便が解消され、開発時の利便性が向上します。

Web API:ストレージアクセスヘッダー

Storage Access API新しいウィンドウで開きます(サードパーティCookie/ストレージアクセス)関連の機能強化です。

Web API:非同期クリップボード書き込みが文字列形式に対応

Web API:WebAssemblyがMemory64に対応

  • WebAssembly新しいウィンドウで開きますで、既存の命令が拡張され、メモリとテーブルで64ビットのインデックスが許可されます。これにより、従来上限であった232ビット(約4ギガビット)を超えるメモリ領域の確保が可能になります。

Web API:WebAuthnの対応機能チェック

Web Authentication API(WebAuthn)新しいウィンドウで開きます(パスキー認証等)の機能追加です。

WebGPU:1コンポーネントの頂点形式に対応

  • WebGPUで、1コンポーネントの頂点形式が扱えるようになります。8ビット/16ビットのデータ型に対して必要なデータを要求しやすくなります。
    また、unorm8x4-bgra形式を使用すると、BGRA形式の頂点色データの読み込みが便利になります。

Web API:WebCryptoの暗号化がX25519形式に対応

Web Cryptography API新しいウィンドウで開きます(暗号化関連)の機能強化です。

修正・改善

popoverが入れ子になった場合再発動を抑止

  • ポップオーバーで呼び出される要素が構造上呼び出し元の内部にある場合、表示されたポップオーバーをクリックしたときに閉じるようになってしまっていたのが修正されます。

仕様変更

越境リソース描画時間計測の制限変更

Performance API新しいウィンドウで開きます(パフォーマンス測定)内のリソースタイミング計測・分析に関する仕様変更です。

要素描画時間の取得に使用するrenderTimeプロパティ新しいウィンドウで開きますについて、クロスオリジン(ドメイン越境)要素の描画時間情報漏洩対策として設定されていた制限が一部変更になります。

  • 従来、クロスドメインで計測を行うには、提供元(外部ドメイン)側サーバーのTiming-Allow-Originレスポンスヘッダー新しいウィンドウで開きますで越境計測許可(指定したドメインからのみ越境計測が許可される)を出してもらう必要がありましたが、これが不要になります。(回避手段があり意味がなくなっていたので)
  • 一方で、クロスオリジン分離されていない場合、越境計測される数値の精度が4ミリ秒単位に粗くなり、それより細かい時間の計測ができなくなります。

サーバー応答時間計測用プロパティの仕様変更

HTTPステータスコード「103 Early Hints新しいウィンドウで開きますを使用する場合、サーバー応答時間計測用プロパティ(ページ表示速度指標の一つ「Time to First Byte (TTFB)新しいウィンドウで開きます」が参考にする)に仕様変更があります。
※103 Early Hints…サーバー側からブラウザ側に最終的なレスポンス(200 OK等)を返すまでのサーバー処理待ち中に、関連リソースの並行先読みに関するヒントを先行提供するステータスコードです。うまく処理すれば表示時間短縮に役立ちます

レスポンスヘッダーが[103 Early Hints]→[最終レスポンス(200 OK等)]の2段階になる場合、関連プロパティの仕様が以下のとおり変更されます。

  • responseStartプロパティ新しいウィンドウで開きます(ブラウザ側のデータ先頭受信時のタイムスタンプを返す)の対象が、Chrome115での変更より前の状態(1xx/2xx/4xx/5xxの種類を問わず、リダイレクト後の最初の応答を対象とする)に戻ります。
    (Chromeが115で仕様変更したのち、結局各ブラウザ/ツールの足並みが揃わなかったため)
  • finalResponseHeadersStartプロパティ新しいウィンドウで開きます…1xx(103等)の有無を問わず最終レスポンス(2xx/4xx/5xx)を返します。
  • firstInterimResponseStartプロパティ新しいウィンドウで開きます…1xx(103等)のレスポンスを対象としたプロパティとして、変更なく維持されます。
バージョン 1xx
応答先頭到着時刻
2xx/4xx/5xx
応答先頭到着時刻
Chrome114
まで
  • responseStart
Chrome115
~132
  • firstInterimResponseStart
  • responseStart
Chrome133
から
  • responseStart
  • firstInterimResponseStart
  • finalResponseHeadersStart

省エネモード(非表示放置タブの省力化)

非表示・沈黙状態で5分以上経過したタブ(ブラウジングコンテキストグループ)のCPU使用率が一定の閾値(基本的に10%)を超えた場合、該当タブの動作を停止するようになります。

なお以下の場合は停止対象外です。

  • 音声/動画会議中である(録音録画デバイスやWebRTC新しいウィンドウで開きます関連機能の使用状況で検出)
  • 外部デバイスを制御中である(WebUSB新しいウィンドウで開きますWeb Bluetooth新しいウィンドウで開きますWebHID新しいウィンドウで開きますWeb Serial新しいウィンドウで開きますの使用状況で検出)
  • Webロック新しいウィンドウで開きます保持もしくはIndexedDB新しいウィンドウで開きます接続によって、他の接続によるバージョン更新やトランザクションをブロックしている

リバースオリジントライアル(仕様変更猶予)

サイト管理者がオリジントライアル登録することで、以下の仕様変更が一時的に猶予可能になります。

「省エネモード」適用のオプトアウト

  • 前述の省エネモード(5分以上非表示で放置された、CPU使用率の高いタブを停止)の仕様変更適用を猶予したい場合、オリジン(≒ドメイン)単位でGoogleに申請新しいウィンドウで開きますすると、適用を2025年9月16日(Chrome 138)まで期間限定でオプトアウトできます。

※オリジントライアルは、サイト管理者がオリジントライアル管理画面新しいウィンドウで開きますから対象オリジン(ドメイン)を登録し、発行されたトークンをHTMLにmetaタグとして設置した場合のみ、期間限定で有効になります。(詳細はGoogleの解説新しいウィンドウで開きますを参照)

廃止・削除

WebGPU:maxInterStageShaderComponents廃止

  • maxInterStageShaderComponents制限(ステージ間で渡されるシェーダーコンポーネントの上限設定)が非推奨化されます。Chrome 135で削除される予定です。
    類似機能であるmaxInterStageShaderVariables制限新しいウィンドウで開きますに移行することで、同様の機能が維持できます。

<link rel=prefetch>の5分ルールを撤廃

<link rel=prefetch>新しいウィンドウで開きます(および<link rel=prerender>新しいウィンドウで開きます)による別リソースの先行読み込みに関する仕様変更です。

  • Chromeの独自仕様として、従来はリソースプリフェッチ後5分以内にリソースを再フェッチしようとした場合に、キャッシュ設定のmax-age新しいウィンドウで開きますno-cache新しいウィンドウで開きますを無視するようになっていました。これが撤廃され、他ブラウザと同様にmax-ageno-cacheを記載通りに処理するようになります。
    これに伴い、Chromeでのプリフェッチの挙動によっては、Cache-Control新しいウィンドウで開きますExpires新しいウィンドウで開きますヘッダーの設定見直しが必要になる場合があります。

初期一括設定でウェルカムページ表示指定を無効化

企業管理PC等でChrome初回起動時設定の一括変更新しいウィンドウで開きますに使うinitial_preferencesファイル新しいウィンドウで開きますについて、以下の変更が行われます。

  • 設定項目新しいウィンドウで開きますのうち、first_run_tabs(初回起動時に開くタブ群のURLを指定)に「chrome://welcome」(初回起動時に出るウェルカムページ)を指定しても無視されるようになります。
    (ウェルカムページはもともと標準で初回起動時に出る仕様になっており、設定としては冗長であるため)

マックスマウスからのお知らせ

Web制作・マーケティング担当者向けのお役立ち情報をメールマガジンでお届け!

WebサイトやSNSでの情報発信の安定化・効率化、CMS導入・運用、脆弱性対策、Flashコンテンツ置き換え、Webプロモーションなどなど、Web制作・マーケティング関係者向けの課題解決に役立つ、便利なサービス情報や活用法などをご案内します。

いますぐご登録ください!