Firefox 122 for developers
このページでは、開発者に影響する Firefox 122 の変更点をまとめています。Firefox 122 は、米国時間 2024 年 1 月 23 日 にリリースされました。
ウェブ開発者向けの変更点一覧
HTML
<hr>
要素が、<select>
要素の子要素として認められるようになりました。これは、多くの項目がある選択リストの読みやすさを向上させる新機能です (Firefox bug 1830909)。<ol>
でtype
HTML 属性をnone
、disc
、circle
、square
に設定した場合、および<ul>
でtype
HTML 属性を1
、a
、A
、i
、I
に設定した場合に、影響を与えないようになりました。<ul>
および<ol>
のリストでtype
は非推奨の属性であるため、代わりにlist-style-type
CSS プロパティでスタイルを設定してください (Firefox bug 1868087)。
CSS
-
CSS の
offset-position
プロパティをデフォルトで有効にしました。これは、パスにおける要素の初期位置を定義します (Firefox bug 1598152)。 -
<basic-shape>
、<coord-box>
、url()
といった、CSS のoffset-path
を定義するためのさまざまな方法をデフォルトで有効にしました (Firefox bug 1598159)。 -
CSS の
ray()
関数をデフォルトで有効にしました。この関数を使用して、offset-position
から始まって指定した角度の方向へ伸びる線分としてoffset-path
を定義できます (Firefox bug 1598151)。 -
clip-path
およびoffset-path
プロパティが、rect()
およびxywh()
シェイプ関数を受け入れるようになりました。これらの<basic-shape>
値は、要素の端からの距離で定義する長方形 (rect()
) または座標とサイズ (xywh()
) で要素の切り抜きや移動を可能にします (Firefox bug 1868722)。
JavaScript
-
ArrayBuffer.prototype.transfer()
およびArrayBuffer.prototype.transferToFixedLength()
メソッドを、あるArrayBuffer
から別の ArrayBuffer へメモリーの 所有権を転送する ために使用できるようになりました。転送後は、元のバッファーが元のメモリーから切り離されて使用できなくなります。状態はArrayBuffer.prototype.detached
を使用して確認できます (詳しくは Firefox bug 1865103 をご覧ください)。 -
ほかのブラウザーに合わせるため
Date.parse()
およびDate()
コンストラクター は、標準外の日付文字列 を解析するときに、指定された月の最初の 3 文字だけを考慮するようになりました。以前は、完全な月の名前を 3 文字以上に切り詰めた値だけを受け入れていました (詳しくは Firefox bug 1862910 をご覧ください)。
SVG
廃止
- XSS 攻撃を防ぐため、SVG の
<use>
要素およびSVGUseElement
インターフェイスでdata:
URLのサポートを廃止しました。 セキュリティ上の理由で非推奨ですが、設定項目svg.use-element.data-url-href.allowed
をtrue
に設定することでレガシー機能を再び有効にできます (Firefox bug 1806964)。
API
- LargestContentfulPaint API をサポートしました。 この API は Performance APIs の一部であり、ユーザーがウェブページと対話する前に最大の画像やテキスト描画に関するタイミング情報を提供します (Firefox bug 1866266)。
DOM
- ユーザー操作によって発生したときに
<select>
要素のブラウザーの選択ツールをプログラムから起動できるようにする、HTMLSelectElement.showPicker()
メソッドをサポートしました (Firefox bug 1865207)。
廃止
- CSS の
-moz-user-focus
プロパティのサポートを廃止しました (Firefox bug 1871745 および Firefox bug 1868552)。
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
引数の値としてundefined
とnull
を区別するようになりました。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.clipboardItem
、dom.events.asyncClipboard.readText
、dom.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)。
過去のバージョン
- 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
- Firefox 93 for developers
- Firefox 92 for developers
- Firefox 91 for developers