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

Chrome 135 仕様変更発表まとめ

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

Google Chrome 135の主要な仕様変更発表のまとめです。(ベータ版記事発表・2025年3月5日時点での情報です)

記事バックナンバー一覧

要点

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

追加・拡張

CSS:アンカーポジショニングのスクロールオフセット対応

CSS:要素の不活性化

  • interactivityプロパティ新しいウィンドウで開きますinteractivity: inert;に指定した要素を、子孫含めて不活性化する(フォーカス、編集、選択、検索等を無効化させる)ことが可能になります。
    displayプロパティと違って表示への影響がなく、表示をそのままにアクセシビリティツリーだけ制御したい場合等に活用できます。

CSS:書字方向に連動するoverflowプロパティ

  • overflow-inline新しいウィンドウで開きます / overflow-block新しいウィンドウで開きますoverflow新しいウィンドウで開きます系プロパティ(コンテンツが要素の指定サイズからはみ出す場合の表示制御)の一種で、縦書き/横書きの書字方向に依存して縦横を切り替える制御が可能になります。
    縦書き横書きを使い分けるサイトで、overflow-x新しいウィンドウで開きます(横方向) / overflow-y新しいウィンドウで開きます(縦方向)だと処理が煩雑になる場合は、活用の余地があります。
    overflow-inline overflow-block
    横書き 横方向
    (overflow-xと同じ)
    縦方向
    (overflow-yと同じ)
    縦書き 縦方向
    (overflow-yと同じ)
    横方向
    (overflow-xと同じ)

CSS:符号・絶対値関連の関数

CSSで以下の関数に追加対応します。

  • abs()関数新しいウィンドウで開きます…引数の絶対値を返します。負の値はマイナス記号を外した正の値に変換されます。単位付きの数値であっても使用できます。
  • sign()関数新しいウィンドウで開きます……引数が正負のどちらかを判定して、指定の整数を返します。
    引数 戻り値
    正の数 1
    負の数 -1
    0 0
    -0 -0
    数以外 NaN(非数)

CSS:HDR素材のダイナミックレンジ制限

CSS:関数で任意の形状のシェイプを記載できる

  • shape()関数新しいウィンドウで開きます…複数の座標と補完方法を指定して、任意の形状のシェイプをCSS関数で記載できるようになります。

CSS:擬似要素でスクロールボタン/マーカーを構成

カルーセル等スクロールコンテナ内部用のスクロールボタンやマーカーをCSSで記述するための擬似要素が増えます。

(詳細はGoogleの記事新しいウィンドウで開きますもご参照ください)

  • ::column擬似要素新しいウィンドウで開きます…カルーセル等の連続コンテンツの分割単位について、スクロールスナップ関連の一部プロパティ(scroll-margin新しいウィンドウで開きます / scroll-snap-align新しいウィンドウで開きます / scroll-snap-stop新しいウィンドウで開きます)を指定する際に使用します。
  • ::scroll-button()疑似要素新しいウィンドウで開きます…スクロールコンテナに対して、クリックで次/前の要素に1つ移動する[スクロールボタン]の付与を行います。
    • カッコ内にはスクロール方向を論理方向もしくは物理方向の名称で指定します。
      • 論理方向指定…block-start / block-end / inline-start / inline-end (書字方向の影響を受ける)
      • 物理方向指定…up / down / left / right (書字方向の影響を受けない)
    • ボタンの中身は{ … }内にcontentプロパティ新しいウィンドウで開きますで指定します。
    • :enabled / :disabledを擬似クラスとして擬似要素の後ろに付加すると、有効時・無効時のスタイル指定を切り分けることも可能です。
  • ::scroll-marker-group新しいウィンドウで開きます / ::scroll-marker擬似要素新しいウィンドウで開きます…クリックで指定要素にジャンプする[スクロールマーカー]の表示に関する擬似要素が追加されます。
    カルーセルでよくある、下に記事枠/メインビジュアルの枚数だけ●が出て、クリックした●に応じた枠までスクロールが進んだりする部分を作るのに使います。
    • ::scroll-marker-group擬似要素新しいウィンドウで開きます…スクロールコンテナに隣接して表示させる、スクロールマーカー用領域のスタイル指定(高さ・幅・色等)を行います。スクロールコンテナ自体に付加します。

      スクロールマーカー領域の表示指定自体は、擬似要素とは別に、スクロールコンテナ本体にscroll-marker-groupプロパティ新しいウィンドウで開きますの値指定を行う必要があります。

      • scroll-marker-group: none;新しいウィンドウで開きます…スクロールマーカー領域を表示しません。
      • scroll-marker-group: before;新しいウィンドウで開きます…スクロールマーカー領域をスクロールコンテナ本体の直前に表示します。
      • scroll-marker-group: after;新しいウィンドウで開きます…スクロールマーカー領域をスクロールコンテナ本体の直後に表示します。(カルーセルによくある、下に○を並べるスタイルの場合はこちら)
    • ::scroll-marker擬似要素新しいウィンドウで開きます…リンクマーカー単体のアンカー文字列(contentプロパティ新しいウィンドウで開きます)やスタイル(サイズや色等)を一括で指定します。スクロールコンテナ内の個々のジャンプ対象要素に付加します(カルーセル枠をliで列挙しているのであればli::scroll-markerのようになります)。
  • 上記指定に必要な擬似要素のネストへの対応が追加されます。

CSS:進行状況関連の関数

以下の進行状況/範囲内位置取得の関数に新たに対応します。

  • progress()関数新しいウィンドウで開きます…変化する値の進行状況を取得するのに使います。progress(現在値, 初期値, 完了値)の順に3つ引数を入れると、現在値での進捗率を数値で返します。
  • media-progress()関数新しいウィンドウで開きます…メディアクエリの適用範囲指定に対して現在値がどのくらいの位置にあるかを取得するのに使います。media-progress(メディア特性名, 下限, 上限)と引数を入れると、現在値の範囲内位置を数値で返します。
  • container-progress()関数新しいウィンドウで開きます…コンテナクエリの適用範囲指定に対して現在値がどのくらいの位置にあるかを取得するのに使います。container-progress(メディア特性名, 下限, 上限)と引数を入れると、現在値の範囲内位置を数値で返します。

CSS:セーフエリア確保関連の環境変数

以下の環境変数に新たに対応します。
(環境変数の指定はenv()関数新しいウィンドウで開きますで行います)

  • safe-area-max-inset-○○新しいウィンドウで開きます…ブラウザのセーフエリアの上限値を、画面の上下左右端に対して設定できるようになります。(○○=top, right, bottom, leftのいずれか)
    safe-area-inset-○○新しいウィンドウで開きますが動的な値をとるのに対して、safe-area-max-inset-○○は静的な値をとります。

Web API:ストリーミング音声を音声認識にかけられる

  • Web Speech API新しいウィンドウで開きます(音声認識/合成関連)が、Media Stream API新しいウィンドウで開きます(ストリーミング/キャプチャー関連)のMediaStreamTrackインターフェイス新しいウィンドウで開きますと連携できるようになります。
    従来Web Speech APIの音声認識のデフォルト入力はデバイスのマイクでしたが、本変更により、使用できる音声入力の種類が拡張されます。
    活用例としては、外部からのストリーミング音声をWeb Speech APIの音声認識に流して字幕を生成・表示したりする、等が挙げられます。

Web API:スクリプトにサブリソース完全性を要求するSCP

コンテンツセキュリティポリシー新しいウィンドウで開きます関連で以下の機能に新たに対応します。

  • Content-Security-Policy: require-sri-for script新しいウィンドウで開きます…コンテンツセキュリティポリシー(CSP)の設定で、スクリプトに対してサブリソース完全性新しいウィンドウで開きますを要求できるようになります。
    サーバー側がHTTPレスポンスヘッダーとして設定すると、スクリプト(JavaScriptライブラリ等)を外部CDN等から取得する場合に懸念される、外部取得スクリプトの第三者改竄等に対して、ブラウザがサブリソース完全性のチェックを行うようになります。
    • 使用時は、サブリソース完全性の照合に使うハッシュデータを別途生成し、script要素新しいウィンドウで開きますintegrity属性新しいウィンドウで開きますの値に設定しておく必要があります。
    • チェックに失敗した場合は読み込み失敗になり、ブラウザからエラーを返します。

Web API:Service Workerがsrcdocの取り扱いに対応

  • インラインフレームのsrcdoc属性/プロパティ新しいウィンドウで開きます(外部URL読み込みの代わりにHTMLを直接流し込む)を取り扱うService Workerクライアントが作成されるようになります。また、このクライアントは親のService Workerコントローラーを継承し、差異の修正ができるようになります。

半精度浮動小数点数配列に対応

  • Float16Array新しいウィンドウで開きます(16ビット/半精度浮動小数点数)の配列がJavaScriptで扱えるようになります。
    他の型の数をFloat16Array型の配列に入れた場合、半精度浮動小数点数(IEEE fp16)の精度に合うよう数値が丸め込まれます。

ブラウザキャッシュ管理の設定追加

ブラウザのキャッシュ情報管理(各ファイルのURLをキーとしてキャッシュ済みか等を記録していく)において、以下のブール値が追加されます。

  • is-cross-site-main-frame-navigation…トップレベルナビゲーション(URL遷移)に関連するクロスサイト攻撃を軽減します。
    悪意ある攻撃者がサブリソースの読み込みタイミングで機密情報を推測したり、サブリソースのキャッシュ状態から特定サイトへのアクセス履歴の有無を判断したりする行為への対策として活用できます。

button要素にダイアログ/ポップオーバー開閉用の属性追加

button要素新しいウィンドウで開きます(ボタン)に、以下の属性が追加されます。

  • command属性新しいウィンドウで開きます…ボタンクリックで発動する動作を指定します。
    • command="show-modal"新しいウィンドウで開きます / "close"新しいウィンドウで開きます / "request-close"新しいウィンドウで開きます…モーダル扱いでダイアログの開閉を行います。commandfor属性(後述)でダイアログのIDを指定する必要があります。
    • command="show-popover"新しいウィンドウで開きます / "hide-popover"新しいウィンドウで開きます / "toggle-popover"新しいウィンドウで開きます…ポップオーバーの開閉を行います。commandfor属性(後述)でポップオーバーのIDを指定する必要があります。
    • command="--○○"新しいウィンドウで開きます…任意のコマンド名(冒頭ハイフン2つ)のコマンドイベントを発行する機能をボタンに持たせられます。受け取ったコマンド名に応じた具体的な処理は、自分でJavaScriptで実装する必要があります。
  • commandfor属性新しいウィンドウで開きます…操作対象を指定します。属性値に、command属性の操作対象となる要素(ダイアログやポップオーバー等)のIDを入れると、そこに対するコマンドが実行されます。

支払い保留状態の管理に関する属性追加

link要素新しいウィンドウで開きますが以下の属性値に対応します。

遷移元の要素情報伝達

NavigateEventインターフェイス新しいウィンドウで開きますのプロパティとして以下が追加されます。

Web API:音声認識の端末ローカル処理

  • Web Speech API新しいウィンドウで開きますの音声認識について、クラウド上での処理以外に、端末内での処理が選択できるようになります。
    ユーザー側で端末内のローカル処理を選択した場合、必要なリソースが端末内にインストールされます。
    インストール後は、音声入力をクラウド上の音声処理サーバーに送信する必要がなくなり、端末内で音声認識処理が完結するようになります。

SVG:リンクのセキュリティ強化

Web API:ビデオ通話時に取得できるタイムスタンプの種類追加

  • WebRTC API新しいウィンドウで開きますRTCPeerConnectionインターフェイス新しいウィンドウで開きます(Webビデオ通話で、ローカル~リモート間の接続/管理/切断等を行う)で、以下のタイムスタンプが取得できるようになります。
    • フレームが最初にキャプチャされたときのタイムスタンプ
    • フレームが受信されたときのタイムスタンプ

ページ移動等でも中断しない取得リクエスト

  • fetchLater()新しいウィンドウで開きますfetch()メソッド新しいウィンドウで開きますの遅延処理対応版のようなもので、ページが閉じられたり別のページに移動したりしても、ブラウザ側で取得保留状態をキープし、あとから取得を再開する処理が可能になります。
    従来はpagehide新しいウィンドウで開きますvisibilitychange新しいウィンドウで開きますkeepalive新しいウィンドウで開きます等のイベント/プロパティを併用した複雑な処理が必要でしたが、これらが簡素化されます。

オリジントライアル(先行試験実装)

サイト管理者がオリジントライアル登録することで、以下の機能が先行利用可能になります。

興味を持った人に追加情報を表示する機能

  • interesttarget属性新しいウィンドウで開きますbutton要素新しいウィンドウで開きますa要素新しいウィンドウで開きますに追加される新属性です。ユーザーが該当要素に関心を示す行動(マウスオーバー、キーボードの指定ホットキー押下、タッチで長押し等)を取ったときに、それを条件としてポップオーバー表示等のアクションを発動させることが可能になります。

署名ベースの完全性チェック機能

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

仕様変更

CSS:既読リンク用CSSの適用条件制限

  • セキュリティ対策(サイドチャネル攻撃対策)のため、:visited擬似クラス新しいウィンドウで開きます(既読リンク向けのスタイル指定)の適用される条件が以下に制限されます。
    • ページ間リンク…最上位のサイト/フレームのオリジン(ドメイン)からクリックされた場合、:visitedが有効
    • セルフリンク…上記に加え、子フレームが最上位の親フレームと同じオリジンである場合は、最上位フレームからでなくても:visitedが有効
    上記の許可条件以外では、既読リンクに対する:visited擬似クラスの指定が無効になります。

Blob URLへのストレージパーティショニング適用

ストレージパーティショニング新しいウィンドウで開きます(プライバシー保護目的で行われる、端末内データ保存領域のサイト/ドメイン別分割)の仕様変更です。

  • Blob URL(ブラウザがデータ保存・参照用にcreateObjectURL()メソッド新しいウィンドウで開きますで生成する一時的なURL)が、新たにストレージパーティショニングの対象になります。これによりセキュリティ的にはFirefoxやSafariと同様の実装となります。
    • クロスサイトアクセス追跡情報をBlob URLに保存・参照する場合、埋め込み元ドメイン名(トップレベル/フレームオリジンおよびhas-cross-site-ancestorのブール値)をストレージキーに指定しないと、クロスサイト追跡が遮断されます。
    • レンダリング処理によりBlob URLへの別ドメイン遷移(トップレベルナビゲーション)が発生する場合、強制的にnoopener新しいウィンドウで開きます(遷移先から遷移元へのアクセス権を遮断する)扱いになります。
    本変更を一時的に猶予したい場合、PartitionedBlobURLUsageポリシーを設定すると、同ポリシーが有効な間は元の仕様に戻せます。

クリックイベントの発行先条件変更

  • pointerupイベント新しいウィンドウで開きます(マウスボタン押下や画面タッチの解除)発行中にポインターキャプチャー(途中でポインターがボタン等から外れてもボタン等がイベント受信を継続する)が発生した場合、clickイベント新しいウィンドウで開きますの発行先(⇒押した場所と離した場所が違う状況で、どこがクリックされた扱いになるか)が変更になります。
    • 変更前:pointerdownイベント新しいウィンドウで開きます(マウスボタン押下や画面タッチの発生)とpointerupイベントの発行先の共通祖先のうち一番階層が近いもの
    • キャプチャーされたターゲット(移動前に押していたボタン等)

HSTSでサブリソースのHTTPS変換を抑止

  • HTTP Strict Transport Security(HSTS新しいウィンドウで開きます…HTTPSでの接続のみ許可し、HTTP接続はHTTPS接続に自動変換する設定)について、Strict-Transport-Security新しいウィンドウで開きますレスポンスヘッダーでのキャッシュ設定情報が、トップレベルナビゲーション(アドレスバーに直接URLが表示されるHTML本体)のHTTP→HTTPS変換のみ有効になり、サブリソースとして副次的に呼び出されるコンテンツのHTTP→HTTPS変換が遮断されるようになります。

NotRestoredReasonsの文言変更

  • Performance API新しいウィンドウで開きます(動作パフォーマンス測定)のnotRestoredReasonsプロパティ新しいウィンドウで開きます(バックフォワードキャッシュの仕様がブロックされた場合に理由等をレポートとして返す)の文言が変更になります。

Client.urlプロパティの仕様変更

処理進捗管理用プロパティの型変更

  • ProgressEvent.loaded新しいウィンドウで開きます / ProgressEvent.totalプロパティ新しいウィンドウで開きます(プロセス処理やデータ転送の進捗を返す)について、返す数値の型が64ビット符号なし整数(unsigned long long)から64ビット(倍精度)浮動小数点数(double)へと変更されます。これにより、小数を使った進捗処理等が可能になります。

廃止・削除

Intl Locale Info APIのゲッターを非推奨化

  • Intl.Localeオブジェクト新しいウィンドウで開きます(数値表記規則等のロケール情報)のうち、週のデータ(週の開始日・終了日等)、時間表記(12時間/24時間)、書字方向等を拡張する「Intl Locale Info API新しいウィンドウで開きます」がChrome 99で実装されました。が、提案内容の更新に伴い一部ゲッターが関数に変更されたため、Chromeでも該当ゲッターのサポートを停止します。

VR/ARの端末対応を確認するAPIの旧称を削除

  • WebXR API新しいウィンドウで開きますのうち、 navigator.xr.isSessionSupportedメソッド新しいウィンドウで開きます(引数にセッションモード名を入れると、端末が対応しているかどうかをtrue/falseで返す)の旧名(非推奨化済み)であるnavigator.xr.supportsSessionメソッドが削除されます。
    Chromeでは現状既に旧名称→現名称へのリダイレクトが行われています。

Navigation APIの一部プロパティ旧称を削除

  • Navigation API新しいウィンドウで開きます(主にシングルページアプリ/SPA向けにナビゲーションの生成・傍受・管理を行う)で、NavigateEvent.canInterceptプロパティ新しいウィンドウで開きますの旧称であるcanTransitionプロパティ(canInterceptへのエイリアスとして残存していた)が削除されます。canTransitionプロパティの記述がコード内に残存している場合は、canInterceptプロパティへの置き換えを行う必要があります。

WebGPUのステージ間シェーダー関連制限項目が一部削除

  • WebGPU新しいウィンドウで開きます(GPUを使った演算処理等)の 制限項目新しいウィンドウで開きますのうち、maxInterStageShaderComponents(ステージ間シェーダーのコンポーネントの上限)への対応が削除されます。
    代替処理としては maxInterStageShaderVariables新しいウィンドウで開きます(ステージ間シェーダーの変数の上限)を使った上限設定が可能です。

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

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

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

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