Chrome 118 ベータ版

CSS のスコープ スタイル、追加のメディア機能、キーボードでフォーカス可能なスクロール コンテナなど。

特に記載のない限り、ここに記載されている変更は、Android、ChromeOS、Linux、macOS、Windows 向けの最新の Chrome Beta チャンネル リリースに適用されます。こちらに記載されている機能について詳しくは、リンク先または ChromeStatus.com のリストをご覧ください。2023 年 9 月 13 日、Chrome 118 はベータ版です。最新バージョンはパソコン版の Google.com または Android 版の Google Play ストアでダウンロードできます。

CSS

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

スコープ スタイル

@scope ルールを使用すると、デベロッパーは特定のスコープ対象ルートをスタイルルールのスコープとし、そのスコープ対象ルートの近さに応じて要素のスタイルを設定できます。

CSS の論理フロー相対値

次の新しい値を既存の CSS プロパティに追加します。

  • float: inline-start
  • float: inline-end
  • clear: inline-start
  • clear: inline-end
  • resize: block
  • resize: inline

これらのフローに連動する方向性のあるキーワードは、要素または要素を含むブロックの書記モードや方向に応じて物理値に解決されます。

メディアクエリ: prefers-reduced-transparency 機能

prefers-reduced-transparency メディア機能が追加されました。この機能により、デベロッパーは OS の透明度を下げるため、ユーザーが選択した設定(macOS の [透明度を下げる] 設定)に合わせてウェブ コンテンツを適応させることができます。有効なオプションは reduce または no-preference です。

変換ボックスの CSS プロパティで、ストロークボックス、コンテンツボックス、枠線ボックスをサポートする

このサポートを追加すると、transform プロパティの参照ボックスの計算方法を変更できるようになります。これにより、追加の変換やグラフィック効果が可能になります。たとえば、コンテンツ ボックス内の 1 つのポイントを中心として回転すると、要素の枠線の幅が結果に影響しません。また、ストロークを含む図形を中心を中心に回転させるなど、(SVG)要素のストロークが結果に影響を及ぼすような場合です。

HTML

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

シーケンシャル フォーカス ナビゲーションを使用してスクロール コンテナをフォーカス可能にすることで、ユーザー補助を改善します。この変更以前は、tabIndex が明示的に 0 以上に設定されていない限り、Tab キーではスクローラーがフォーカスされません。スクローラーをデフォルトでフォーカス可能にすると、マウスを使用できない(または使用したくない)ユーザーは、キーボードの Tab と矢印キーを使用してクリップされたコンテンツにアクセスできるようになります。キーボードのフォーカス可能な要素を含むスクローラーには、すでにキーボード経由でアクセスできるため、この動作は該当しません。

オプション ラベル属性の互換モードの動作を削除

オプション要素では label 属性がサポートされています。この属性により、オプション要素自体の子テキストではなく、属性内のテキストを使用してオプションがレンダリングされます。この機能は、特別なモード(label 属性が無視され、子テキストが常にレンダリングされる)では無効になります。この変更では、標準モードと互換モードの両方で常にラベル属性が使用されます。

ウェブ API

プライバシー サンドボックス(PSB)への登録

プライバシー サンドボックスの関連性と測定に関する API が一般提供に向けて始動中。Google は、これらの技術が意図したとおりに、透明性をもって利用されるようにしたいと考えています。該当する API には、Attribution ReportingProtected Audience APITopics APIPrivate Aggregation APIShared Storage API が含まれます。PSB では、プライバシー サンドボックスの関連性と測定に関する API 用に新しいデベロッパー登録プロセスが導入されます。Chrome は(コンポーネント アップデータを介して)登録サーバーから登録済みサイトリストを取得し、それを使用してプライバシー サンドボックス API へのアクセスを制御します。

JavaScript で設定された制御文字を含むすべての Cookie をブロックする

JavaScript で設定された Cookie 内の制御文字の処理方法を更新します。具体的には、すべての制御文字が原因で Cookie 全体が拒否されます。以前は、Cookie 行に NULL 文字、改行文字、ラインフィード文字があると、Cookie の行が完全に拒否されるのではなく切り捨てられ、特定の状況では悪意のある動作が発生していました。この動作により、RFC6265bis の最新ドラフトで示されている動作と Chrome が整合する状態になります。この変更は、--disable-features=BlockTruncatedCookies または BlockTruncatedCookies エンタープライズ ポリシーを使用して無効にできます。このポリシーは、この変更によって破損が発生した場合に備え、いくつかのマイルストーンで引き続き存在します。

すべての言語で一貫した最小フォントサイズ

相互運用性とアクセシビリティを向上させるため、7 つの言語(アラビア語、ペルシア語、日本語、韓国語、タイ語、簡体字、繁体字中国語)について、[最小フォントサイズ] のデフォルト設定をデフォルトでオフに変更します。変更前は、リストに記載されている 7 つの言語を除くすべての言語で、この設定がデフォルトでオフになっていました。この変更により、これらの言語と他の言語の整合性が保たれます。なお、これは最小フォントサイズ機能自体を変更することではありません。ユーザー補助と読みやすさの点で、変更されずにご利用いただけます。

同一ドキュメントのナビゲーションで UA の遷移を検出する

ウェブ ナビゲーション時の視覚的な遷移がスムーズに進むと、ユーザーがコンテキストに留まりやすくなるため、認知の負荷が軽減されます。しかし、サイトの作成者とユニバーサル アナリティクスの双方が移行を追加する場合、この移行は競合し、ユーザーの混乱を招く可能性があるため、ユーザー エクスペリエンスに悪影響を及ぼします。この API は、このようなケースを回避して、一度に 1 つのビジュアル遷移のみが実行されるようにします。API は、UA がこのナビゲーションのビジュアル遷移を実行したかどうかを示すブール値を PopStateEventNavigateEvent に追加します。デベロッパーはこれを使用してカスタム移行をスキップできます。

URL パーサーで、URL のパス内のパーセント エンコードされた ASCII 文字がデコードされない

この変更により、URL パーサーは、URL のパス内のパーセント エンコードされた ASCII 文字(「%41」(「A」)など)をデコードしなくなります。変更前:

const url = new URL("http://example.com/%41");
url.href "http://example.com/A" 

この変更後:

const url = new URL("http://example.com/%41"); 
url.href "http://example.com/%41"

Protected Audience の除外ターゲティング

広告スペースのオンライン広告オークションでは、特定のオーディエンスに広告を表示しないようにしたほうがよい場合があります。これは、ターゲット除外と呼ばれる概念です。たとえば、新規顧客の広告を既存顧客に表示したくない場合が考えられます。新規顧客の獲得キャンペーンでは、多くの場合、これが重要な要件となります。Protected Audience では現在、ウェブ上での過去のアクティビティを通じて特定のインタレスト グループに加わったユーザーを広告のターゲットに設定できます。この機能は Protected Audience を拡張し、特定のインタレスト グループに参加していないユーザーのみを新しい広告でターゲティングできるようにすることで、除外ターゲティングを可能にします。このように、Protected Audience API の既存のプライバシー保護のコンセプトを使用して、広告主が新しいユーザー グループをターゲットに設定できるようにします。

お支払いサービスのユーザー アクティベーションの要件を削除

デベロッパーが支払いリクエスト フローをスムーズに進められるよう、支払いリクエストと安全なお支払いの確認にあるユーザー アクティベーションの要件を削除します。今回の変更に伴い、セキュリティとプライバシーのリスクを軽減するために、スパムとクリックジャッキングの対策が講じられています。

拡張機能 Service Worker での WebUSB

ウェブ デベロッパーは、ブラウザの拡張機能によって登録された Service Worker に WebUSB API を公開することで、拡張機能のイベントに応答する際に WebUSB API を使用できるようになります。この API は現在、サイトによって登録された Service Worker には公開されません。

XML ドキュメントでは、連続した CDATA セクションが 1 つのノードにマージされる

libxml のバグが原因で、ドキュメントのサイズやドキュメント内の CDATA セクションの位置によっては、XHTML ドキュメントの CDATA セクションから誤って複数のノードが生成されることがあります。1 つの CDATA セクションが複数の入力パーサー チャンクにまたがっている場合、libxml はバッファに格納し、CDATA 入力を 300 バイト実行して出力します。1 つの CDATA セクションが予期せず複数のノードに変換されてしまいます(入力チャンクの長さが 300 バイトを超える場合)。この変更により、解析時に兄弟 CDATA セクション ノードが 1 つの CDATA セクションに統合されます。これにより、解析中の libxml のバグが修正されますが、作成された個別のノードもマージされます。たとえば、<![CDATA[foo]]><!CDATA[bar]]> は、コンテンツ "foobar": CDATA "foobar" を持つ単一の CDATA DOM ノードを生成します。

beforeunload ハンドラのダイアログの条件を変更する

beforeunload イベント時のキャンセル ダイアログの表示方法に、新たに 2 つの変更点があります。

event.preventDefault() が呼び出された場合、キャンセル ダイアログを表示します。 event.returnValue が空の文字列の場合、キャンセル ダイアログを表示しません。

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

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

WebRTC エンコード変換: メタデータ関数の変更

音声と動画のフレーム メタデータの操作を可能にする機能を WebRTC Encoded Transform API に追加しました。WebRTC でエンコードされたメディアを最初にデコードせずに操作する必要があるユースケースが数多く確認されています。下記はその一例です。

  • 以前にエンコードされたデータを送信する。
  • エンコードされた形式で受信したデータを送信する。
  • エンコードされた形式でデータを受信して転送する。

特に、同じメディア ペイロードを提供しながらメタデータが異なる複数の冗長ピア接続からメディアをグリッチのない状態で転送するユースケースをサポートする必要があります。

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

サポートの終了と削除

このバージョンの Chrome では、下記のサポート終了と削除を行います。サポート終了の予定、現在のサポート終了、これまでの削除情報のリストについては、ChromeStatus.com をご覧ください。

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

標準的でない外観のキーワードの削除

Chrome 118 では、使用頻度が最も低い標準以外の appearance キーワードが無効になります。この機能を無効にすると、外観のプロパティで該当のキーワードが値として使用されている場合、そのプロパティは無視されます。Chrome 118 で無効化されるキーワードは、使用率が 0.001% 未満のキーワードです。

  • media-slider
  • media-sliderthumb
  • media-volume-slider
  • media-volume-sliderthumb
  • sliderthumb-horizontal
  • sliderthumb-vertical

背景

標準の appearance キーワードのみサポートする必要があるため、標準以外の appearance(および -webkit-appearance)キーワードは削除します。完全なリストは次のとおりです。

  • inner-spin-button
  • media-slider
  • media-sliderthumb
  • media-volume-slider
  • media-volume-sliderthumb
  • push-button
  • searchfield-cancel-button
  • slider-horizontal
  • sliderthumb-horizontal
  • sliderthumb-vertical
  • square-button

なお、値 slider-vertical は、このパッチの一部として削除されません。これは <input type=range> 垂直の許可に使用されます。フォーム コントロール縦書きモードが全面的に採用されると、このモードは削除されます。

無効にする前に上記のキーワードのいずれかを使用すると、コンソールの警告が表示されますが、キーワードは有効な値として認識されます。