Firefox 158 release notes for developers (Stable)
このページでは、開発者に影響する Firefox 158 の変更点をまとめています。 Firefox 158 は、米国時間 2026 年 10 月 13 日 にリリースされました。
ウェブ開発者向けの変更点一覧
>アクセシビリティ
aria-busy属性を Android 版 Firefox でサポートしました (デスクトップ版では以前から使用可能でした)。この ARIA 状態は、要素が現在変更されているかを示します。これにより支援技術は、コンテンツの変更が完了するまで待機してからユーザーへ更新を通知することができます。たとえばスクリーンリーダーは、ライブリージョン の更新が完了するまで待機してから変更内容を読み上げることができます (Firefox bug 908042)。
HTML
変更なし。
CSS
- CSS 型付き演算 をサポートしました。これにより
calc()などの関数を使用して、単位が異なる場合でもデータ型が同じ 2 つの値を除算できるようになります。演算結果である単位がない商は、ほかのデータ型に変換でき、ページ上の別の値との間に有用な関係性を作ることができます (Firefox bug 2067411)。
JavaScript
変更なし。
HTTP
- JPEG XL 画像形式のサポートに伴い、画像のリクエストのデフォルト HTTP
Acceptヘッダーにimage/jxlを含めるようになりました。新しい値はimage/avif,image/jxl,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5です (既定の Accept 値の一覧 をご覧ください) (Firefox bug 2065096)。
API
WebTransport.getStats()メソッドをサポートしました。このメソッドは、トランスポートの基盤になる接続とそのデータグラムの統計情報を返します (Firefox bug 2007202)。WebTransport.supportsReliableOnly静的プロパティをサポートしました。このプロパティは、HTTP/2 のような信頼性があるトランスポートにおいて WebTransport セッションをブラウザーがサポートするかを示します。Firefox は HTTP/2 経由の WebTransport が未サポートのため、このプロパティは常にfalseを返します (Firefox bug 2007783)。Notification()コンストラクターおよびServiceWorkerRegistration.showNotification()メソッドのnavigateオプションをサポートしました。このオプションは、生成したシステム通知をユーザーがクリックした後に移動する URL を指定します。通知が生成されると、Notification.navigateプロパティから URL を取得できます (Firefox bug 2069920)。- WebGPU の
float32-blendable機能をサポートしました (GPUSupportedFeaturesをご覧ください)。これによりr32float、rg32float、rgba32float形式を使用してGPUTextureの ブレンディング が可能になります (Firefox bug 1931630)。 - WebGPU の
clip-distances機能を macOS でサポートしました (GPUSupportedFeaturesをご覧ください)。これにより頂点シェーダーが WGSL でclip_distancesを出力できるようになり、カスタム平面の片側にある三角形や線の部分を切り取って、残りの部分が描画されます。これは水面の反射や CAD アプリケーションの断面図などの効果で役に立ちます (Firefox bug 1931629)。 - WebGL の
EXT_polygon_offset_clamp拡張が、対応するデバイスで使用可能になりました。このpolygonOffsetClampEXT()メソッドはpolygonOffset()と同様に動作しますが、深度のオフセットを制限する引数が追加されています。これはシャドウマッピングを使用するときに、影に穴が開くことを防ぎます (Firefox bug 1854003)。 - リソースの配信方法を示す
PerformanceResourceTiming.deliveryTypeプロパティをサポートしました。初期リリースではcache値をサポートしており、これはリソースをキャッシュから取得したことを示します (Firefox bug 1914120, Firefox bug 2071913)。
DOM
SVGGraphicsElement.getBBox()メソッドが<tspan>および<textPath>要素に対して呼び出されたときに、options引数のfillおよびstrokeプロパティを考慮するようになりました。これにより<text>要素全体ですでに可能なように、テキストスパンのストロークを含むバウンディングボックスを取得できます (Firefox bug 2072680)。- HTML 無害化 API の設定の
javascriptURLsオプションおよびSanitizer.setJavascriptURLs()メソッドをサポートしました。これはElement.setHTMLUnsafe()のような安全でないメソッドでサニタイザーを使用するときに、<a href="javascript:…">などのjavascript:URL を含む属性を削除するかを設定します。Element.setHTML()のような安全なメソッドでは、引き続き常にこれらを削除します。この結果、安全でないメソッドでデフォルトのサニタイザーを使用する、またはSanitizer.removeUnsafe()を呼び出してからサニタイザーを使用するとjavascript:URL が削除されるようになりました (Firefox bug 2068934)。
Media、WebRTC、Web Audio
- H.264 または AV1 の動画を WebRTC で送信する際、Firefox はリモートピアとネゴシエートしたコーデックレベルの範囲に収まるように、解像度やフレームレートを下げるようになりました。コーデックレベルは、H.264 では
profile-level-idパラメーター、AV1 ではlevel-idxパラメーターで設定します。この結果MediaCapabilities.encodingInfo()は、webrtc構成の解像度やフレームレートがcontentTypeで設定したレベルを超えていても、その構成をサポートしていると報告するようになりました (Firefox bug 2013936)。
WebDriver への適合 (WebDriver BiDi, Marionette)
一般
- WebDriver BiDi の
permissions.setPermissionコマンドおよび Marionette のWebDriver:SetPermissionコマンドで、cameraおよびmicrophone権限の設定をサポートしました。これによりテストでは、ユーザーへの確認なしにメディアデバイスへのアクセスを許可または拒否できます (Firefox bug 2070577)。 - 自動化におけるタッチ開始およびタッチ移動の許容誤差を 0 に変更しました。これによりタッチ操作では初めの小さな動きが吸収されることなく、操作を開始した位置から正確にスクロールするようになりました (Firefox bug 2055661)。
WebDriver BiDi
browsingContext.captureScreenshotコマンドのimageSize引数をサポートしました。これにより、作成されるスクリーンショット画像の最大サイズをクライアントが指定できます (Firefox bug 2069002)。browsingContext.startScreencastコマンドのdestinationFolder引数をサポートしました。これにより、記録した動画ファイルを保存するフォルダーをクライアントが選択できます (Firefox bug 2072616)。
Marionette
WebDriver:TakeScreenshotコマンドを、取得した画像の幅または高さが 0 であった場合にunable to capture screenエラーが返るように修正しました (Firefox bug 1492357)。
その他
- JPEG XL 画像形式 (
image/jxl) のサポートをデフォルトで有効にしました。JPEG XL は可逆圧縮、非可逆圧縮、透過、アニメーション、HDR をサポートするロイヤリティフリーのラスター画像形式です。また、既存の JPEG 画像をロスレスで変換することもできます (Firefox bug 2065096)。
アドオン開発者向けの変更点一覧
publicSuffix.isKnownSuffix()は、無効なホスト名が渡された場合にfalseを返すのではなくエラーが発生するようになりました (Firefox bug 2066620)。- マニフェストで宣言した拡張機能のバージョンを返す
runtime.getVersion()を追加しました (Firefox bug 1992418)。
実験的なウェブ機能
以下の機能は Firefox 158 で導入しましたが、デフォルトで無効です。
これらを実験するには、about:config ページで適切な設定項目を検索して true に設定してください。
実験的機能 のページで、さらに多くの機能を確認できます。
-
random()CSS 関数:layout.css.random.enabledrandom()CSS 関数は、指定した範囲内のランダムな値を生成します。オプションとして、その範囲内でステップサイズを持つ値になるように制限することができます。省略可能な<random-key>引数は、どのrandom()関数がランダム値を共有するかを制御します。たとえば、要素やプロパティをまたいでランダム値を共有します (Firefox bug 2071165)。 -
corner-shapeプロパティ:layout.css.corner-shape.enabledcorner-shapeショートハンドプロパティと、これを構成するロングハンドプロパティを Nightly でサポートしました。これらのプロパティは<corner-shape-value>キーワード値のいずれかまたはsuperellipse()関数を使用して、角の形状をカスタマイズできます (Firefox bug 2070927)。 -
モジュールの遅延評価 (Nightly):
javascript.options.experimental.defer_import_evalimport defer宣言およびimport.defer()構文が、Nightly で設定によって使用可能になりました。これらはモジュールとその依存関係を事前に読み込みますが、エクスポートされたもののいずれかに初めてアクセスされたときにのみモジュールのコードが実行されます。このため、すぐに必要ないモジュールが起動を遅くすることがありません。ただし、トップレベルのawaitを使用するモジュールは引き続きすぐに実行されます (Firefox bug 1952263)。 -
端末上の音声認識:
media.webspeech.recognition.enable端末上の音声認識 を、デスクトップ版の Nightly に限りサポートしました。これによりクラウドサービスに依存することなく、Web Speech API を通してブラウザーで直接音声認識を実行できます (Firefox bug 2069803)。
-
投機ルール: moderate の積極性:
dom.speculation_rules.enabled投機ルール API は、リンクに対するユーザーの操作などの要因に基づいてどのリソースを事前取得あるいは事前描画するかを指定することで、将来のナビゲーションのパフォーマンスを向上させる仕組みを提供します。Firefox 158 Nightly では
moderate積極性をサポートしました。ユーザーがリンクに短時間 (既定値は 200 ミリ秒) ポインターを合わせると、該当する事前読み込みを開始します (Firefox bug 2061013)。 -
リクエストボディのストリーミング:
dom.fetch.streaming_uploadNightly に限り有効な機能で、(たとえば
Request()コンストラクターやWindow.fetch()メソッドによって) リクエストボディとしてReadableStreamが設定できるようになりました。これによりボディ全体が使用可能になるまで待つ必要なく、アップロードの段階的なストリーミングが可能になります (Firefox bug 1594633)。 -
CSSNumericValue.equals():layout.css.typed-om.enabledCSS 型付きオブジェクトモデル API の
CSSNumericValue.equals()メソッドを Nightly でサポートしました。これはメソッドに渡されたすべての値が、メソッドを呼び出した数値と同じである場合にtrue、それ以外の場合にfalseを返します。値は単位を変換せず、記述されたとおりに比較します。たとえば1inと2.54cmは異なる値であり、calc(1px + 2px)とcalc(2px + 1px)も同様です (Firefox bug 2074503)。