Firefox 160 brings on-device speech recognition
Firefox 160 adds on-device speech-to-text in 40 languages on desktop, supports a legacy placeholder selector, changes WebTransport in ways that can break code, and fixes 99 security issues.
On this page
Mozilla released Firefox 160 on 10 November 2026. Most of the changes are in the browser itself, but a few reach the sites you build: speech recognition now works on the device, a legacy placeholder selector is now supported, and the WebTransport API has changed in ways that can break existing code. The release also carries a large batch of security fixes.
Speech recognition, on the device
Firefox 160 supports the SpeechRecognition interface of the Web Speech API on desktop. Mozilla's developer notes say it converts speech to text on the device, in real time, in 40 languages.
Two limits apply. Recognition is not supported on Android. And remote, cloud-based recognition is not supported either: only the on-device mode works.
For site builders this matters if you offer voice input, such as dictation in a search box, a form or a support chat. Until now you could not rely on this interface in Firefox. You can now, on desktop, but you should still check that it exists before you use it and keep typing as the main way in.
A legacy placeholder selector now works
Firefox 160 supports ::-webkit-input-placeholder as an alias of ::placeholder. Mozilla says this is for compatibility with sites that already use the prefixed name to style the placeholder text of <input> and <textarea> fields.
If an older stylesheet only uses the prefixed selector, its placeholder styles will now show in Firefox too. That may change how some forms look. The standard ::placeholder remains the selector to write in new code.
WebTransport changes that can break code
If your site or app uses WebTransport, read this part closely. The release notes list several changes:
- The
WebTransport()constructor accepts aheadersoption, which adds custom HTTP headers to the request that sets up the session. The server's response headers are then available inWebTransport.responseHeaders. WebTransport.exportKeyingMaterial()now matches the current specification. Thecontextargument is required, and a newoutputLengthargument sets how many bytes to derive. Before, the method always returned 32 bytes. Mozilla says code that leaves out either argument will need to be updated.- The non-standard
incomingHighWaterMarkandoutgoingHighWaterMarkproperties have been removed. The standardincomingMaxBufferedDatagramsandoutgoingMaxBufferedDatagramsreplace them. - A new
datagramsReadableTypeoption lets you read datagrams as a byte stream into a buffer you reuse.
The non-standard MozScrolledAreaChanged event is also no longer sent to web pages.
Features you can test, but not ship yet
Several features are in Firefox 160 but turned off by default. They can be switched on in about:config for testing:
blocking="render"on<link>,<script>and<style>.- The
loadingattribute on<video>and<audio>, for lazy loading media. - The
Speculation-RulesHTTP header, which points to external speculation rules files. - The
colorSpaceoption for 2D canvas, with"srgb"and"display-p3".
Because they are off by default, your visitors will not see them yet. Do not depend on them in production.
Security fixes
Mozilla's advisory MFSA 2026-125 lists the security fixes in Firefox 160. Its overall impact is rated high. It covers 99 issues: 57 rated high, 24 moderate and 18 low, with none rated critical. Mozilla published a separate advisory, MFSA 2026-127, for Firefox ESR 153.7 on the same day.
If your team or your clients' teams manage browsers centrally, make sure version 160 or ESR 153.7 is rolled out.
What it means for your site
- Voice input: if you have thought about voice search or dictation, you can now test the Web Speech API in Firefox on desktop. Check for support first and keep a typed fallback, since Android and cloud recognition are not covered.
- Forms: look at any forms whose stylesheets use
::-webkit-input-placeholder. Their placeholder text may look different in Firefox now. - WebTransport: search your code for
exportKeyingMaterialand the old high-water-mark properties, and update them before visitors on Firefox 160 hit errors. - Your own browser: update to Firefox 160, or ESR 153.7 if you are on the extended support release.