Firefox 75 for developers
=========================

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

**付随する hacks ブログの記事「Firefox 75: Ambitions for April」もご覧ください。**

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

### 開発者ツール

* 測定ツール で長方形のリサイズが可能になりました (Firefox バグ 1152321)。
* インスペクター で、以前から使用できていた CSS セレクターに加えて、XPath の式を使用して要素を示すことが可能になりました (Firefox バグ 963933)。
* プレーンテキストによる検索に加えて、スラッシュの間に 正規表現 を記述することで WebSocket メッセージをフィルタリングできるようになりました (Firefox バグ 1593837)。
### HTML

* `<img>` 要素の `loading` 属性を実装しました。この文字列値は `lazy` を設定することで、画像を 遅延読み込み するべきであると示します (Firefox バグ 1542784)。
* `<style>` 要素の `type` 属性の値を、仕様書に従って `text/css` のみに限定しました (Firefox バグ 1614329)。
### CSS

* `min()`、`max()`、`clamp()` 関数を実装しました (Firefox バグ 1519519)。
* `text-decoration-skip-ink` プロパティの値 `all` を追加しました (Firefox バグ 1611965)。
### アクセシビリティ

ARIA annotations (en-US) に関する新しいロールやオブジェクトを、Windows および Linux の Firefox で公開しました (これらはスクリーンリーダーがサポートするまで使用できないことを覚えておいてください):

* `aria-description` (Firefox バグ 1608961)
* `role="mark"` (en-US) および `role="suggestion"` (en-US) (Firefox バグ 1608965)
* `role="comment"` (en-US) (Firefox バグ 1608969)
* `aria-details` で複数の ID (Firefox バグ 1608883)

**メモ:** macOS では、はじめに Apple が Safari で Apple 方式の属性として VoiceOver へ公開するものを定義することを待っており、それらに一式に従う計画です。

### JavaScript

* Public static class fields (en-US) をサポートしました (Firefox バグ 1535804)。
* `Intl.Locale` クラスをサポートしました (Firefox バグ 1613713)。
* `Function.caller` プロパティを、最新の ECMAScript 仕様の提案 に合わせて更新しました。呼び出し元が strict、async、あるいは generator 関数であった場合に、以前は `TypeError` が発生していましたが、`null` を返すようになりました (Firefox バグ 1610206)。
### API

#### DOM

* `HTMLFormElement` インターフェイスへ新たに `requestSubmit()` メソッドを追加しました。古い (現在も使用できる) `submit()` メソッドとは異なり、`requestSubmit()` はフォームのデータを宛先に送信するだけでなく、指定した送信ボタンがクリックされたかのように動作します。よって `submit` イベントが発生して、フォームはデータを送信する前に妥当性のチェックを受けます (Firefox バグ 1613360)。
* `submit` イベントが単なる `Event` ではなく、`SubmitEvent` 型のオブジェクトとして表すようになりました。`SubmitEvent` は新たに `submitter` プロパティを持っており、これはフォームの送信を発生させた `Element` です。このイベントにより送信イベントに対してひとつのハンドラーで、複数のボタンやリンクのうちどれがフォームの送信に使用されたかを見わけることが可能になります (Firefox バグ 1588715)。
* 切り離された (DOM ツリーの一部ではない) 要素で `click()` メソッドを呼び出すと、その要素に `click` イベントを送信するようになりました (Firefox バグ 1610821)。

#### Web animations API

Firefox 75 で、Web Animations API に複数の機能を追加しました:

* ほかの無期限に実行されるアニメーションによって置き換えられたアニメーションを自動的に削除するような、Implicit to/from keyframes をサポートしました (Firefox バグ 1618773)。これは以下のサポートを含みます:
    + `Animation.commitStyles()`
    + `Animation.onremove` (en-US)
    + `Animation.persist()`
    + `Animation.replaceState`
* `Animation.timeline` ゲッター、`Document.timeline`、`DocumentTimeline` (en-US)、`AnimationTimeline` (en-US) の機能をデフォルトで有効にしました (Firefox バグ 1619178)。
* `Document.getAnimations()` および `Element.getAnimations()` メソッドをデフォルトで有効にしました (Firefox バグ 1619821)。

#### メディア、Web Audio、WebRTC

* `RTCPeerConnection.setLocalDescription()` (en-US) メソッドを引数なしで呼び出せるようになりました。この場合、WebRTC ランタイムは新しいローカルセッションデスクリプション自体を作成しようとします (Firefox バグ 1568292)。
### HTTP

*変更なし。*

### セキュリティ

* CSS セレクターや `.getAttribute("nonce")` の呼び出しなど、スクリプト以外をソースとする CSP nonce が隠されるようになりました。代わりに、スクリプトから nonce へアクセスするには `.nonce` (en-US) プロパティを確認してください (Firefox バグ 1374612)。
### プラグイン

*変更なし。*

### WebDriver conformance (Marionette)

* Firefox が起動するとき常に Marionette の初期化が行われる不具合を修正しました。コマンドライン引数や環境変数で制限されるようになりました (Firefox バグ 1622012)。
* `WebDriver:Print` が、文書に余分なマージンを追加しないようになりました (Firefox バグ 1616932)。
* 投機的な接続を強制的に無効化するため `network.http.speculative-parallel-limit` の設定値を `0` に変更していた動作を修正しました (Firefox バグ 1617869)。
### その他

*変更なし。*

アドオン開発者向けの変更点
-------------

### API の変更点

* `browserSettings` に新たな設定を追加しました (Firefox バグ 1286953):
    + ズームがサイトごとかタブごとかを制御する `browserSettings.zoomSiteSpecific` (en-US)。
    + ズームがページ全体に適用されるかテキストのみに適用されるかを制御する `browserSettings.zoomFullPage` (en-US)。
* `tabs.saveAsPDF` (en-US) を使用して PDF 形式で保存するときに使用するファイル名を、`tabs.PageSettings` の `toFileName` で指定できるようになりました (Firefox バグ 1483590)。
### マニフェストの変更点

* "privacy" パーミッションが省略可能になりました (Firefox バグ 1618399)。
過去のバージョン
--------

* Firefox 74 for developers
* Firefox 73 for developers
* Firefox 72 for developers
* Firefox 71 for developers
* Firefox 70 for developers
* Firefox 69 for developers
* Firefox 68 for developers
* Firefox 67 for developers
* Firefox 66 for developers
* Firefox 65 for developers
* Firefox 64 for developers
* Firefox 63 for developers
* Firefox 62 for developers
* Firefox 61 for developers
* Firefox 60 for developers
* Firefox 59 for developers
* Firefox 58 for developers
* Firefox 57 for developers
* Firefox 56 for developers
* Firefox 55 for developers
* Firefox 54 for developers
* Firefox 53 for developers
* Firefox 52 for developers
* Firefox 51 for developers
* Firefox 50 for developers
* Firefox 49 for developers
* Firefox 48 for developers
* Firefox 47 for developers
* Firefox 46 for developers
* Firefox 45 for developers
* Firefox 44 for developers