Chrome 118 ベータ版

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

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

CSS

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

スコープのスタイル

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

CSS の論理フロー相対値

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

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

これらのフロー相対方向キーワードは、要素またはその内容を含むブロックの書き込みモードまたは方向に応じて、物理的な値に解決されます。

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

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

transform-box CSS プロパティでの draw-box、content-box、border-box のサポート

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

HTML

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

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

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

オプション要素は 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 文字、改行文字、ラインフィード文字が含まれていると、完全に拒否されずに切り捨てられ、特定の状況下では悪意のある動作をする可能性がありました。この動作により、RFC6265bis の最新ドラフトで示されている動作と Chrome が整合する状態になります。この変更は、--disable-features=BlockTruncatedCookies または BlockTruncatedCookies エンタープライズ ポリシーを使用して無効にできます。これらのポリシーは、変更によって障害が発生した場合に備えて、いくつかのマイルストーンで維持されます。

すべての言語で最小フォントサイズを統一

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

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

ウェブ上を移動する際の視覚的な遷移がスムーズになることで、ユーザーが状況を把握しやすくなるため、認知負荷が軽減されます。ただし、サイト作成者と 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 Audiences の除外ターゲティング

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

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

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

拡張機能 Service Worker での WebUSB

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

XML ドキュメントは、連続する CDATA セクションを単一ノードにマージします。

libxml のバグにより、XHTML ドキュメントの CDATA セクションで、ドキュメントのサイズやドキュメント内の 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 でエンコードされたメディアを、最初にデコードせずに操作する必要があるユースケースが数多く確認されています。下記はその一例です。

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

特に、同じメディア ペイロードを提供するがメタデータが異なる複数の冗長ピア接続から得られるメディアを、グリッチなしで転送するというユースケースをサポートしたいと考えています。

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

非推奨と削除

このバージョンの 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> 垂直方向を許可するために使用します。次のようになります。 フォーム コントロールの縦書きモードが完全に導入されると削除されます。

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