安定版のリリース日: 2026 年 4 月 7 日
特に記載がない限り、以下の変更は Android、ChromeOS、Linux、macOS、Windows 向けの Chrome 147 Stable チャンネル リリースに適用されます。
CSS と UI
要素スコープのビュー遷移
任意の HTML 要素で element.startViewTransition() を公開します。この要素はトランジションのスコープを確立します。つまり、トランジションの疑似要素は祖先のクリップと変換の影響を受け、別々の要素に対する複数のトランジションを同時に実行できます。
トラッキング バグ #394052227 | ChromeStatus.com のエントリ | 仕様
CSS contrast-color()
この関数は、アクセシビリティのコントラスト要件を満たすのに役立ちます。
contrast-color() 関数は、CSS の中でカラー値が想定される場所であればどこでも使用できます。色値の引数を取り、その引数に対して最もコントラストの高い色に応じて「black」または「white」を返します。
トラッキング バグ #40142548 | ChromeStatus.com のエントリ | 仕様
タイムラインの名前付き範囲 scroll
この機能では、ビュー タイムラインの名前付き範囲のセットが拡張され、既存の entry、exit、cover、contain のセットに scroll 範囲が追加されます。
トラッキング バグ #41483848 | ChromeStatus.com のエントリ | 仕様
CSS border-shape プロパティ
CSS の border-shape プロパティを使用すると、任意の形状(ポリゴン、円、shape() など)の長方形以外の境界線を作成できます。
border-shape は clip-path と同じ形状を受け入れますが、根本的に異なります。border-shape は、枠線の形状を定義し、装飾し、内側のみをクリップします。
border-shape には、シェイプをストロークするバリエーションと、2 つのシェイプの間を塗りつぶすバリエーションの 2 つがあります。
トラッキング バグ #370041145 | ChromeStatus.com のエントリ | 仕様
CSSPseudoElement インターフェース
CSSPseudoElement インターフェースは、JavaScript の疑似要素を表します。
CSSPseudoElement は Element.pseudo(type) から返されます。ここで、type は現在 ::after、::before、または ::marker です。CSSPseudoElement は、疑似要素を表すプロキシ オブジェクトです。疑似要素とは異なり、CSSPseudoElement は常に存在します。
CSSPseudoElement には次の属性とメソッドがあります。
type属性は、疑似要素の型を表す文字列です。element属性は、疑似要素の最終的な元の要素です。parent属性は、疑似要素の元の要素(ネストされた疑似要素の場合はElementまたはCSSPseudoElement)です。pseudo(type)メソッドは、ネストされた疑似要素を取得します。
トラッキング バグ #40639103 | ChromeStatus.com のエントリ | 仕様
イベントの疑似ターゲット
特定のイベントに .pseudoTarget が含まれるようになりました。これは、CSSPseudoElement(疑似要素とのインタラクションの場合)または null のいずれかです。
これにより、イベントの発生元に関するより具体的な情報が提供されます。たとえば、最終的な元の要素(Event.target)だけでなく、::after 疑似要素がクリックされたことを示します。Event.target は変更されないため、イベントには疑似要素のインタラクションに関する追加情報のみが含まれます。
イベントは UIEvent、AnimationEvent、TransitionEvent です。
mouseover、mouseout、mouseenter、mouseleave、およびそれらの pointer* の対応するものは、まだサポートされていません。
トラッキング バグ #40639103 | ChromeStatus.com のエントリ | 仕様
*-width プロパティと *-style プロパティを分離する
Chrome 147 は、border-width、outline-width、column-rule-width プロパティの動作に関する更新された CSS 仕様に準拠します。以前は、対応する border-style、outline-style、column-rule-style が none または hidden に設定されている場合、これらのプロパティの計算された幅は、指定値に関係なく、強制的に 0px になっていました。
この変更により、border-width、outline-width、column-rule-width の計算値は、*-style プロパティに関係なく、常に作成者が指定した値を反映するようになります。また、outline-width と column-rule-width の解決値(getComputedStyle() によって返される値)も、指定した値を反映するようになります。
この変更により、Chrome の動作が、この動作をすでに実装している Firefox や WebKit と一致するようになります。
トラッキング バグ #393631108 | ChromeStatus.com のエントリ | 仕様
SVG <textPath> 要素の path 属性をサポート
この変更により、SVG <textPath> 要素の path 属性のサポートが追加されます。これにより、デベロッパーは SVG パスデータを使用してテキストパスのジオメトリをインラインで定義できるようになり、<path> 要素を個別に定義する必要性が軽減されます。
<textPath> 要素は、次のルールを使用してテキストパスのジオメトリを解決します。
pathとhrefの両方が存在する場合、ジオメトリはpath属性から解決されます。path属性のみが存在し、正常に解析された場合、インライン パス定義が使用されます。path属性が存在しないか、解析に失敗し、href属性が指定されている場合、参照される<path>要素がフォールバックとして使用されます。- 既存の
hrefのみの動作は変更されずに維持されます。
この実装は、SVG 2 仕様の <textPath> の path 属性の定義に従います。この解決動作は他のブラウザ エンジンと一貫性があり、相互運用性と標準準拠が向上します。注: <textPath> で path と href の両方が指定されている場合、SVG 2 仕様に従って path が優先されるようになりました。
トラッキング バグ #374010056 | ChromeStatus.com のエントリ | 仕様
デバイス
WebXR 平面検出
WebXR Plane Detection API を使用すると、ユーザーの環境で検出された平面のセットをサイトで取得できます。デベロッパーの作業が減り、深度センシング WebXR 機能を使用するよりも強力です。たとえば、物体によって遮られている壁などの平面でも、システムの認識範囲内であれば完全に表現できます。デプスマップには壁が表示されますが、壁の前のオブジェクトによって壁が分断され、壁の全体像が隠れる可能性があります。さらに、デバイスがそのようなラベルを認識し、それらが事前定義されたカテゴリに適合する場合、セマンティック ラベリング情報が公開され、世界に関する知識が向上します。
トラッキング バグ #394636076 | ChromeStatus.com エントリ | 仕様
DOM
link rel=modulepreload の JSON とスタイルのサポート
<link rel="modulepreload"> の宛先として JSON とスタイル モジュール型をサポートします。<link rel="modulepreload"> は Chromium で既にサポートされています(Chromestatus の機能を参照)。ただし、現在のところ、スクリプトのようなモジュール スクリプトのプリロードのみをサポートしています。この機能は、JSON モジュール スクリプトと CSS モジュール スクリプトが Chromium の他の場所ではサポートされているものの、<link rel="modulepreload"> の宛先としてはサポートされていないという機能のギャップを解消します。スタイル モジュールは <link rel="modulepreload" as="style" href="..."> で、JSON モジュールは <link rel="modulepreload" as="json" href="..."> でプリロードできます。
トラッキング バグ #466888680 | ChromeStatus.com のエントリ | 仕様
XSLT 以外のシナリオでの Rust での XML 解析
XSLT 処理が不要なシナリオ向けに Rust XML パーサーを実装します。
Rust XML パーサーは、XML 解析におけるメモリ破損バグを排除することでセキュリティを強化します。libxml2(C で記述)の使用を安全な代替手段に置き換えます。
XSLT のサポートは終了します。このプロセスが継続している間も、XSLT が必要ないシナリオでは安全な Rust XML 解析をすでに使用できます。
トラッキング バグ #466303347 | ChromeStatus.com のエントリ
グラフィック
WebXR レイヤ
WebXR Layers は、没入型コンテンツを描画するより効率的な方法を提供します。
ネイティブのカラー テクスチャと深度テクスチャ、テクスチャ配列のサポートに加えて、システム コンポジタ(JavaScript ではなく)が管理するさまざまなレイヤタイプもサポートします。
トラッキング バグ #409255534 | ChromeStatus.com のエントリ | 仕様
JavaScript
Math.sumPrecise
JavaScript で複数の値を合計するメソッドを追加する TC39 提案を実装します。
反復可能オブジェクトを受け取り、単純な合計よりも正確なアルゴリズムを使用して反復可能オブジェクト内の値の合計を返す Math.sumPrecise メソッドを追加します。
トラッキング バグ #374310075 | ChromeStatus.com のエントリ | 仕様
ネットワーク / 接続
Request.isReloadNavigation 属性
Fetch API の Request インターフェースに読み取り専用のブール値属性 isReloadNavigation を追加します。この属性は、現在のナビゲーション リクエストがユーザーがトリガーした再読み込み([更新] ボタン、location.reload()、history.go(0) などを使用)として開始されたかどうかを示します。このシグナルは、主に Service Worker の FetchEvent 内の Request オブジェクトで公開されます。
トラッキング バグ #40487194 | ChromeStatus.com のエントリ | 仕様
パフォーマンス
Device Memory API の上限を更新
Device Memory API の使用可能な値の新しいセットへの更新:
- Android: 1、2、4、8
- その他: 2、4、8、16、32 これらの値は、古くなった 0.25、0.5、1、2、4、8 の古い値を置き換えます。
これらの設定以降、デバイスの機能が向上しているため、フィンガープリントのリスクが低減されます。また、デベロッパーからの要望に応え、ハイエンド デバイスの利用とセグメント化を改善します。詳しくは、デバイスのメモリに関する問題をご覧ください。
トラッキング バグ #454354290 | ChromeStatus.com のエントリ | 仕様
ローカル ネットワーク アクセス(LNA)
LNA について詳しくは、ローカル ネットワーク アクセスをご覧ください。
Service Worker WindowClient.navigate() のローカル ネットワーク アクセスの制限
ローカル ネットワーク アクセス(LNA)の制限が最近追加され、ウェブサイトがローカル ネットワークやローカル デバイスに一方的にリクエストを行うことを防ぐようになりました。これらの制限は、サービス ワーカーが開始した fetch リクエストに対して追加されたもので、サービス ワーカーが WindowClient.navigate() を介して実行するナビゲーションに対しては追加されていません。
このリリースでは、WindowClient.navigate() 呼び出しに LNA 制限を追加することで、このギャップを解消します。WindowClient をナビゲーションの開始元として使用し、ナビゲーションが LNA リクエストかどうかを判断します。
これは、ナビゲートされる WindowClient がサブフレームの場合にのみ適用されます。Chrome では現在、メインフレーム ナビゲーションに LNA 制限は適用されていません。
WebTransport のローカル ネットワーク アクセスの制限
WebTransport を使用してユーザーのローカル ネットワークへのリクエストを行う機能を制限します。この機能は権限プロンプトによって制御されます。
ローカル ネットワーク リクエストとは、パブリック ウェブサイトからローカル IP アドレスまたはループバックへのリクエスト、あるいはローカル ウェブサイト(イントラネットなど)からループバックへのリクエストを指します。ウェブサイトがこれらのリクエストを実行する機能を権限によって制限することで、サイトがこれらのリクエストを使用してユーザーのローカル ネットワークのフィンガープリントを生成する機能を制限できます。
この権限は安全なコンテキストに制限されています。
トラッキング バグ #421216834 | ChromeStatus.com のエントリ | 仕様
WebSocket のローカル ネットワーク アクセスの制限
ローカル ネットワーク アクセス(LNA)の制限が拡張され、WebSocket も対象になります。ローカル アドレスへの WebSocket 接続で権限プロンプトがトリガーされるようになりました。
現在の LNA エンタープライズ ポリシーはすべて、LNA WebSockets の制限(LocalNetworkAccessAllowedForUrls、LocalNetworkAccessBlockedForUrls、LocalNetworkAccessRestrictionsTemporaryOptOut)に引き続き適用されます。
トラッキング バグ #421156866 | ChromeStatus.com のエントリ | 仕様
独立したウェブアプリ(IWA)
Web Printing API
この API を使用すると、独立したウェブアプリのプリンタ関連機能との統合をより深く行うことができます。
この API は独立したウェブアプリのみを対象とし、独立したウェブアプリのプロセスに沿って動作します。
この API は、デベロッパーがローカル プリンタのクエリ、最適なプリンタへの印刷ジョブの送信、印刷ジョブのオプションとステータスの管理を行える JavaScript メソッドのセットを提供します。これらのコンセプトを表すために、インターネット印刷プロトコル(IPP)仕様の属性名とセマンティクスを使用します。
トラッキング バグ #302505962 | ChromeStatus.com のエントリ | 仕様
オリジン トライアル
クロスオリジンの iframe をプリレンダリングする
オプトイン レスポンス ヘッダーを使用してクロスオリジン iframe をプリレンダリングします。
トップレベル フレームの HTTP レスポンスに Supports-Loading-Mode: prerender-cross-origin-frames が含まれている場合、ブラウザはすべてのクロスオリジン フレームをプリレンダリングするようになりました。
オリジン トライアル | トラッキング バグ #440387014 | ChromeStatus.com エントリ | 仕様
自動入力イベント
自動入力は、毎日何百万人ものユーザーの負担を軽減する重要なウェブ機能です。ただし、複数の実装で動的フォームで自動入力を確実に動作させるには、かなりの労力が必要です。
この機能では、自動入力されたデータに合わせてフォームを変更し、変更が完了したことをブラウザに通知できる autofill イベントが追加されます。
オリジン トライアル | トラッキング バグ #466333215 | ChromeStatus.com のエントリ | 仕様
WebNN
WebNN を使用すると、ウェブ アプリケーションとフレームワークは、ユーザーのコンピュータで利用可能な機械学習用のネイティブ オペレーティング システム サービスと基盤となるハードウェア機能を活用できます。これにより、ウェブ上で一貫性があり、効率的で信頼性の高い ML エクスペリエンスを実装できます。
オリジン トライアル | トラッキング バグ #40206287 | ChromeStatus.com のエントリ | 仕様
非推奨と削除
SVG の生成のためのインライン XSLT を削除
特別に作成された XML ファイルには、汎用 XML データを SVG ファイルに変換する XSL スタイルシートが含まれている可能性があります。
例については、gist.github.com をご覧ください。
これは XSLT 処理の特殊なケースであり、最近導入された使用カウンタ XSLPIInSVGImage(UseCounter ID 5777)と XSLPIInSVGStandaloneDoc(UseCounter ID 5778)によると、ウェブ上では事実上存在しないと考えられます。XSLT の完全な段階的廃止の前に、この機能をサポート終了にして削除したいと考えています。
これは、Rust ベースの XML パーサーの試験運用テストと同期してロールアウトされます。Chrome 147 で 100% にすぐに展開されるわけではありません。