Firefox 125 for developers
このページでは、開発者に影響する Firefox 125 の変更点をまとめています。Firefox 125 は、米国時間 2024 年 4 月 16 日 にリリースされました。
ウェブ開発者向けの変更点一覧
HTML
変更なし。
CSS
align-content
プロパティを、display: block;
レイアウトで動作するように更新しました。これはflex
やgrid
からblock
まですべてのレイアウト位置で、開発者はコンテナーをflex
やgrid
に変換することなくブロックレベル要素を整列できるようになります (Firefox bug 1882853)。- CSS の
transform-box
プロパティで、値content-box
およびstroke-box
をサポートしました。値content-box
は content box を参照ボックスとして使用します。また、値stroke-box
は SVG の図形を包含するストロークのバウンディングボックスを参照ボックスとして使用します (Firefox bug 1868374)。 content-visibility
CSS プロパティの値auto
をデフォルトで有効にしました。これは、ユーザーとの関連性 がない場合にコンテンツのレンダリングを省くことを可能にします。(Firefox bug 1874874)
JavaScript
-
開発者が文字列でロケールに依存したテキスト分割を実行できる
Intl.Segmenter
をサポートしました。 たとえばIntl.Segmenter("ja-JP", { granularity: "word" })
で、単語を分けるためにスペースを使用しない言語でテキストを単語に分割できます。 また、文字列を書記素や文に区切ることもできます (Firefox bug 1423593、Firefox bug 1883914)。
API
-
アクションメニュー、独自の "トースト" 通知、フォーム要素の候補、コンテンツ選択などに使用できる "ポップオーバー" UI の作成を可能にする Popover API を完全にサポートしました。 ポップオーバーやそれを起動するボタンおよび入力は、HTML 属性や JavaScript を使用して作成、および CSS を使用してスタイル設定できます。
以下の Web API を実装しました:
HTMLButtonElement
のpopoverTargetElement
およびpopoverTargetAction
プロパティ。HTMLInputElement
のpopoverTargetElement
およびpopoverTargetAction
プロパティ。HTMLElement
のpopover
プロパティ、およびhidePopover()
、showPopover()
、togglePopover()
メソッド、および (ToggleEvent
型の)beforetoggle
、toggle_event
イベント。
ポップオーバーと共に使用する、以下の CSS 擬似クラスをサポートしました:
:popover-open
::backdrop
を、ポップオーバーをサポートするように拡張しました
以下の HTML グローバル属性をサポートしました:
-
RTCIceTransport
のstate
およびgatheringState
プロパティと、これらに関連づけられるstatechange
およびgatheringstatechange
イベントをサポートしました。また、RTCDtlsTransport.iceTransport
プロパティ (RTCDtlsTransport
の基礎をなすRTCIceTransport
を返します) もサポートしました。 これらは、RTCPeerConnection
のiceGatheringState
およびconnectionState
プロパティで提供されるものよりとてもきめ細かいモニタリングを可能にします。 (Firefox bug 1811912) -
Element.ariaBrailleLabel
およびElement.ariaBrailleRoleDescription
をサポートしました。それぞれ、ARIA のグローバル HTML 属性であるaria-braillelabel
およびaria-brailleroledescription
を反映します (Firefox bug 1861201)。 -
キャンバスが一時的に自身の 2D コンテキストを失ったとき、ウェブアプリケーションが体裁よく回復できるようになりました。これはキャンバスが GPU でハードウェアアクセラレーションされていて、GPU のドライバーがクラッシュしたときに発生する可能性があります (Firefox bug 1887729)。 以下は、キャンバスのコンテキストが失われたり回復したりするときのイベントの詳細情報です:
- アプリケーションで
contextlost
およびcontextrestored
イベントを監視できます。これらはそれぞれ、コンテキストが失われたり回復したりしたときにHTMLCanvasElement
で発生します。また、CanvasRenderingContext2D.isContextLost()
を使用してコンテキストを確認することもできます。 contentlost
が発生した後、ブラウザーはデフォルトで失われたコンテキストの再開を試みますが、コードでイベントをキャンセルするとこの動作を抑止できます。- オフスクリーンキャンバスも同じ方法で監視できますが、
OffScreenCanvas
のcontextlost
およびcontextrestored
イベントをOffscreenCanvasRenderingContext2D.isContextLost()
とともに使用します。
- アプリケーションで
-
<template>
要素のshadowrootclonable
属性、およびこれを反映してHTMLTemplateElement
インターフェイスのshadowRootClonable
プロパティをサポートしました。 これらは、[<template>
] 要素を使用して宣言的に作成したShadowRoot
のclonable
プロパティを設定します (Firefox bug 1880188)。 -
Clipboard
インターフェイスのreadText()
メソッドが、システムのクリップボードからテキストの非同期読み取りをサポートしました。 異なるオリジンのページから提供されたクリップボードデータを読み取るときは、ユーザーに貼り付けのコンテキストメニューを表示します (Firefox bug 1877400)。
Media、WebRTC、Web Audio
- AV1 コーデックを Encrypted Media Extensions でサポートしました。動画ストリーミング提供者から、より高品質な再生が可能になります (Firefox bug 1601817)。
廃止
SVGAElement.text
プロパティを削除しました。textContent
プロパティ (Node
から継承) が広くサポートされており、代わりに使用するべきです (Firefox bug 1880689)。
WebAssembly
- Wasm モジュールで、複数の独立した線形メモリーの使用をサポートしました。 複数のメモリーは、モジュール間のより効率的な相互運用性と、将来の Wasm 標準向けのポリフィルを可能にします。これらはたとえば、内部データと共有データ、一時的なデータと持続的なデータ、スレッド間で共有が必要なデータを分離したメモリーとして作成するために使用できます。 メモリーは JavaScript で作成して Wasm モジュールにインポートする、または Wasm モジュールで作成してエクスポートすることができます。 Wasm インスタンス内にあるそれぞれの新規線形メモリーに、ゼロから始まる連番のインデックスが与えられます。 WebAssembly の メモリー命令 で、操作するメモリーを参照するためにインデックスを使用します。インデックスを指定しない場合は、最初のメモリーが既定値として定義されます。 詳しくは WebAssembly テキスト形式の理解 で WebAssembly メモリー をご覧ください (Firefox bug 1860816)。
WebDriver conformance (WebDriver BiDi, Marionette)
一般
- エンドポイントノードの既定の User-Agent の値を特定する "userAgent" capability をサポートしました (Firefox bug 1885495)。
WebDriver BiDi
type="file"
である<input>
要素のファイルを設定または更新できる、input.setFiles コマンドをサポートしました (Firefox bug 1855040)。- Cookie を削除する、storage.deleteCookies コマンドをサポートしました (Firefox bug 1854581)。
- Cookie 関連コマンドの "partition" 引数のフィールドとして "userContext" をサポートしました (Firefox bug 1875255)。
- storage.getCookies が、指定した "sourceOrigin" で想定されるすべての Cookie を取得しない不具合を修正しました (Firefox bug 1884647)。
- リモートプロトコルが WebDriver BiDi のみである場合に、推奨設定が適用されない不具合を修正しました。すなわち、CDP が有効であったとしても無効化されます (Firefox bug 1882748)。
- 新しいタブの作成や切り替えが、
visibilityState
が更新されるのを待たない不具合を修正しました (Firefox bug 1877469)。
アドオン開発者向けの変更点一覧
proxy.ProxyInfo
のproxyAuthorization
プロパティの内容を、CONNECT リクエストの一部として (すでにサポートする HTTPS プロキシ向けに加えて) HTTP プロキシに送信するProxy-Authorization
リクエストヘッダーに渡すようになりました (Firefox bug 1794464)。
実験的なウェブ機能
以下の機能は Firefox 125 で新たに導入しましたが、開発者向けリリースまたは設定した場合に限り使用できます。これらを試すには、about:config
ページで適切な設定項目を検索して有効化または無効化されているかを確認します。これらの機能につて詳しく学ぶには、実験的機能 のページをご覧ください。
-
CSS
transition-behavior
:layout.css.transition-behavior.enabled
。transition-behavior
プロパティは、Nightly リリースにおいて既定で有効です。 制作者はこのプロパティで、離散アニメーション のプロパティに CSS トランジションを適用するかを制御できます (Firefox bug 1882408、Firefox bug 1805727)。 -
区分コンテンツ内の
<h1>
のユーザーエージェントスタイル:layout.css.h1-in-section-ua-styles.enabled
。区分要素
<article>
、<aside>
、<nav>
、<section>
の内部にある<h1>
見出しのフォントサイズは小さくなりません。HTML 仕様書からアウトラインのアルゴリズムが 削除された ため、区分要素の内部にある<h1>
のユーザーエージェントスタイルは適切でなくなりました (Firefox bug 1883896)。注記: この機能の設定は逆に機能します。Nightly ビルドでは
false
に設定しており、区分要素の内部にある見出しのユーザーエージェントスタイルを削除します。その他すべてのチャンネルではtrue
に設定しており、入れ子になった見出し用の既存のユーザーエージェントスタイルを維持します。
過去のバージョン
- Firefox 124 for developers
- Firefox 123 for developers
- Firefox 122 for developers
- Firefox 121 for developers
- Firefox 120 for developers
- Firefox 119 for developers
- Firefox 118 for developers
- Firefox 117 for developers
- Firefox 116 for developers
- Firefox 115 for developers
- Firefox 114 for developers
- Firefox 113 for developers
- Firefox 112 for developers
- Firefox 111 for developers
- Firefox 110 for developers
- Firefox 109 for developers
- Firefox 108 for developers
- Firefox 107 for developers
- Firefox 106 for developers
- Firefox 105 for developers
- Firefox 104 for developers
- Firefox 103 for developers
- Firefox 102 for developers
- Firefox 101 for developers
- Firefox 100 for developers
- Firefox 99 for developers
- Firefox 98 for developers
- Firefox 97 for developers
- Firefox 96 for developers
- Firefox 95 for developers
- Firefox 94 for developers