This article provides information about the changes in Firefox 75 that will affect developers. Firefox 75 was released on April 7, 2020.
See also the accompanying hacks post — Firefox 75: Ambitions for April.
Changes for web developers
- It is now possible to resize the rectangle of the Measuring Tool (bug 1152321).
- In the inspector, you can now use XPath expressions to locate elements, in addition to locating elements using CSS selectors as before (bug 963933).
- You can now filter WebSocket messages using regular expressions, in addition to plain text search, by simply writing the regular expression in slashes (bug 1593837).
loadingattribute of the
<img>element has now been implemented. This string value can be used to specify that the image should be lazily loaded, by setting its value to
- The value of the
typeattribute is now restricted to
text/cssonly, as per the spec (bug 1614329).
- Support for the
clamp()functions has been implemented (bug 1519519).
allvalue of the
text-decoration-skip-inkproperty has been added (bug 1611965)
The new roles and objects related to ARIA annotations are now exposed in Firefox, on Windows and Linux (bear in mind that these still won't be usable until screenreaders start to support them):
- Multiple IDs on
Note: On macOS, we are first waiting for Apple to define what Safari will expose as Apple-dialect attributes to VoiceOver, and will then follow suit.
- Public static class fields are now supported (bug 1535804).
Intl.Localeclass is now supported (bug 1613713).
Function.callerproperty has been updated to be aligned with the latest ECMAScript spec proposal. Previously throwing a
TypeError, it now returns
nullif the caller is a strict, async, or generator function (bug 1610206).
HTMLFormElementinterface has a new method,
requestSubmit(). Unlike the old (and still available)
requestSubmit()acts as if a specified submit button has been clicked, rather than just sending the form data to the recipient. Thus the
submitevent is delivered and the form is checked for validity prior to the data being submitted (bug 1613360).
submitevent is now represented by an object of type
SubmitEventrather than a simple
SubmitEventincludes a new
submitterproperty, which is the
Elementthat was invoked to trigger the form submission. With this event, you can have a single handler for submit events that can discern which of multiple submit buttons or links was used to submit the form (bug 1588715).
- Calling the
click()method on a detached element (one not part of a DOM tree) now functions normally, leading to a
clickevent being sent to it (bug 1610821).
Web animations API
Firefox 75 sees numerous additions to the Web Animations API:
- Implicit to/from keyframes are now supported, as is automatically removing filling animations that have been replaced by other indefinitely filling animations (bug 1618773). This includes enabling of support for:
AnimationTimelinefeatures are now enabled by default (bug 1619178).
Element.getAnimations()methods are now enabled by default (bug 1619821).
Media, Web Audio, and WebRTC
RTCPeerConnection.setLocalDescription()method can now be called without arguments, in which case the WebRTC runtime will try to create the new local session description itself (bug 1568292).
- CSP nonces from non-script sources, such as CSS selectors, and
.getAttribute("nonce")calls, are now hidden. Instead, check the
.nonceproperty to access nonces from scripts (bug 1374612).
WebDriver conformance (Marionette)
- Fixed a bug that always caused Marionette to initialize when Firefox starts-up. It has been limited to the command line argument and environment variable now (bug 1622012).
WebDriver:Printto no longer add extra margins to the document (bug 1616932).
- Changed the preference value for
0, to no longer force-disable speculative connections (bug 1617869).
Changes for add-on developers
- We've added some new settings in
- The name of the file used when saving a PDF with
tabs.saveAsPDFcan be specified using
toFileNamein the type
- The "privacy" permission is now optional. (bug 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