Firefox 122 for developers

このページでは、開発者に影響する Firefox 122 の変更点をまとめています。Firefox 122 は、米国時間 2024 年 1 月 23 日 にリリースされました。

ウェブ開発者向けの変更点一覧

HTML

  • <hr> 要素が、<select> 要素の子要素として認められるようになりました。これは、多くの項目がある選択リストの読みやすさを向上させる新機能です (Firefox bug 1830909)。
  • <ol>type HTML 属性を nonedisccirclesquare に設定した場合、および <ul>type HTML 属性を 1aAiI に設定した場合に、影響を与えないようになりました。<ul> および <ol> のリストで type は非推奨の属性であるため、代わりに list-style-type CSS プロパティでスタイルを設定してください (Firefox bug 1868087)。

CSS

JavaScript

SVG

廃止

  • XSS 攻撃を防ぐため、SVG の <use> 要素および SVGUseElement インターフェイスで data: URLのサポートを廃止しました。 セキュリティ上の理由で非推奨ですが、設定項目 svg.use-element.data-url-href.allowedtrue に設定することでレガシー機能を再び有効にできます (Firefox bug 1806964)。

API

DOM

廃止

WebDriver conformance (WebDriver BiDi, Marionette)

一般

  • Perform Actions が、mouse 入力ソースのダブルクリックやほかのマルチクリックのイベントを適切に合成することを妨げる不具合を修正しました (Firefox bug 1864614)。またこれらのイベントは、直前のクリックアクションから実際のマウスの位置が変わっていない場合に限り発生するようになります (Firefox bug 1681076)。
  • Pause キーおよび Equal キー (テンキー部分) の定義を、WebDriver 仕様に合致するように更新しました (Firefox bug 1863687)。

WebDriver BiDi

  • WindowProxy リモートオブジェクトのシリアライズが、プロセス外 iframe でも正しく動作するようになりました (Firefox bug 1867667)。
  • browsingContext.setViewport コマンドが、viewport 引数の値として undefinednull を区別するようになりました。undefined に設定すると、ビューポートが変更されないままにするべきであることを示します。一方 null を使用すると、ビューポートを元の寸法にリセットします (Firefox bug 1865618)。
  • browsingContext.traverseHistory コマンドをサポートしました。ブラウザーの履歴で前へ戻る・次へ進むナビゲーションを可能にします (Firefox bug 1841018)。
  • iframe でナビゲーションが発生した場合でもトップレベルの閲覧コンテキストの context ID が、すべてのサポート済みのネットワークイベントで一貫して報告される不具合を修正しました (Firefox bug 1869735)。

Marionette

  • 要素が ShadowRoot のスロットに置かれているときに、Get Element Text が誤って空文字列を返す不具合を修正しました (Firefox bug 1824664)。

実験的なウェブ機能

以下の機能は Firefox 122 で新たに導入しましたが、デフォルトで無効です。これらを実験するには、about:config ページで適切な設定項目を検索して true に設定してください。実験的機能 のページで、さらに多くの機能を確認できます。

  • 宣言的なシャドウ DOM: dom.webcomponents.shadowdom.declarative.enabled

    <template> 要素で shadowrootmode 属性をサポートしました。attachShadow() メソッドの mode オプションと同じく、open または closed を設定できます。これは、シャドウ DOM のサブツリーを宣言的に作成することを可能にします (Firefox bug 1712140)。

  • シャドウ DOM の cloneable オプションとプロパティ

    • Element.attachShadow() メソッドで clonable ブール型オプションをサポートしました。これは、作成したシャドウルートが複製可能かを指定します。既定値は false であり、true に設定すると Node.cloneNode() または Document.importNode() で複製されたシャドウホストは、複製にシャドウルートが含まれます。
    • ShadowRoot インターフェイスで、読み取り専用の clonable プロパティをサポートしました。シャドウルートが複製可能である場合は true、そうでない場合は false を返します。宣言的なシャドウ DOM で作成したシャドウルートは常に true を返します。

    宣言的なシャドウ DOM でシャドウルートを作成するときはデフォルトで clonable オプションが true に設定されるため、clonable プロパティは true を返します(Firefox bug 1712140)。

  • Popover API: dom.element.popover.enabled

    HTML 属性や JavaScript API を使用して、ページコンテンツの上にポップオーバーを表示する機能をサポートしました。これは CSS の :popover-open 擬似クラスや ::backdrop 擬似要素のサポート強化が含まれます。詳しくは Popover API のリファレンスをご覧ください (Firefox bug 1823757)。

  • クリップボードの読み書き: dom.events.asyncClipboard.clipboardItemdom.events.asyncClipboard.readTextdom.events.asyncClipboard.writeText

    ClipboardItem インターフェイスの read()readText()write() メソッドを含む、非同期の Clipboard API を完全サポートしました。同一オリジンではないページから提供されたクリップボードのデータを読み取るとき、確認のためユーザーに貼り付けのコンテキストメニュー表示されます (Firefox bug 1809106)。

  • Intl.Segmenter: Firefox Nightly に限り、デフォルトで有効です。

    Intl.Segmenter オブジェクトは、文字列でロケールに依存した正確なテキスト分割を可能にします。たとえば、単語を分けるためにスペースを使用しない言語でテキストを単語に分割するには Intl.Segmenter("ja-JP", { granularity: "word" }) とします (Firefox bug 1423593)。

過去のバージョン