Platform/Roadmap2026: Difference between revisions
< Platform
Jump to navigation
Jump to search
(→APIs: +Reporting API) |
(far more than a stub now) |
||
| (7 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
<span style="float:right">__TOC__</span> | <span style="float:right">__TOC__</span> | ||
=Platform 2026 Roadmap= | =Platform 2026 Roadmap= | ||
| Line 7: | Line 6: | ||
Related Links: | Related Links: | ||
* [https://whattrainisitnow.com/calendar/ Firefox Release Calendar] (future) | * [https://whattrainisitnow.com/calendar/ Firefox Release Calendar] (future) | ||
* [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases Firefox release notes for developers] (past)<!-- Fx147- | * [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases Firefox release notes for developers] (past)<!-- Fx147-149, 150wd-, 151api-... --> | ||
* [https://firefox-source-docs.mozilla.org/contributing/pocket-guide-shipping-firefox.html Pocket Guide: Shipping Firefox] | * [https://firefox-source-docs.mozilla.org/contributing/pocket-guide-shipping-firefox.html Pocket Guide: Shipping Firefox] | ||
| Line 17: | Line 16: | ||
== HTML == | == HTML == | ||
* <code>popover=hint</code> ([https://bugzil.la/1867743 1867743]) | * <code>popover=hint</code> ([https://bugzil.la/1867743 1867743]) | ||
* <code>alpha</code> & <code>colorspace</code> attributes in <code><input type=color></code>; elements ([https://bugzil.la/1919718 1919718]) | |||
* <code>shadowrootslotassignment</code> attribute on <code><template></code> ([https://bugzil.la/2031295 2031295], [https://bugzil.la/2023824 2023824]) | |||
* <code><img sizes=auto></code> ([https://bugzil.la/1819581 1819581]) | |||
* ... | * ... | ||
== CSS == | == CSS == | ||
* units: <code>rcap</code>, <code>rch</code>, <code>rex</code>, <code>ric</code> ([https://bugzil.la/1740584 1740584]) | * units: <code>rcap</code>, <code>rch</code>, <code>rex</code>, <code>ric</code> ([https://bugzil.la/1740584 1740584]) | ||
* <code><attr-type></code> values in <code>attr()</code> function ([https://bugzil.la/1986631 1986631], [https://bugzil.la/1998245 1998245]) | |||
* <code>color-mix()</code> function multiple (2+) color arguments ([https://bugzil.la/2007772 2007772], [https://bugzil.la/2024171 2024171]) | |||
* <code>light-dark()</code> function <code><image></code> type for images, gradients ([https://bugzil.la/2023569 2023569]) | |||
* <code>shape()</code> function on by default ([https://bugzil.la/1982941 1982941]) | * <code>shape()</code> function on by default ([https://bugzil.la/1982941 1982941]) | ||
* <code>:buffering</code>, <code>:muted</code>, <code>:paused</code>, <code>:playing</code>, <code>:seeking</code>, <code>:stalled</code>, <code>:volume-locked</code> allow you to style <code><audio></code> <code><video></code> elements ([https://bugzil.la/1707584 1707584], [https://bugzil.la/2014512 2014512], [https://bugzil.la/2020775 2020775]) | |||
* <code>::before</code> and <code>::after</code> on replaced elements ([https://bugzil.la/1931309 1931309]) | * <code>::before</code> and <code>::after</code> on replaced elements ([https://bugzil.la/1931309 1931309]) | ||
* <code>::marker</code> pseudo-element support <code>counter-increment</code>, <code>counter-reset</code>, <code>counter-set</code>, <code>quotes</code> properties ([https://bugzil.la/2000404 2000404]) | * <code>::marker</code> pseudo-element support <code>counter-increment</code>, <code>counter-reset</code>, <code>counter-set</code>, <code>quotes</code> properties ([https://bugzil.la/2000404 2000404]) | ||
* <code>revert-rule</code> keyword ([https://bugzil.la/2017307 2017307]) | |||
* <code>@container</code> <code>style()</code> queries ([https://bugzil.la/2014404 2014404], [https://bugzil.la/2016929 2016929], [https://bugzil.la/2019254 2019254], [https://bugzil.la/2024601 2024601], [https://bugzil.la/2030645 2030645]) | |||
* CSS Anchor Positioning ([https://bugzil.la/1988225 1988225]) | * CSS Anchor Positioning ([https://bugzil.la/1988225 1988225]) | ||
** <code>align-items</code>, <code>align-self</code>, <code>justify-items</code>, <code>justify-self</code>, <code>place-items</code>, and <code>place-self</code> properties support <code>anchor-center</code> value ([https://bugzil.la/1909339 1909339]) | ** <code>align-items</code>, <code>align-self</code>, <code>justify-items</code>, <code>justify-self</code>, <code>place-items</code>, and <code>place-self</code> properties support <code>anchor-center</code> value ([https://bugzil.la/1909339 1909339]) | ||
** <code>position-anchor</code> | ** <code>position-anchor: none</code> ([https://bugzil.la/1999972 1999972]) | ||
** <code>position-anchor: normal</code> ([https://bugzil.la/2030351 2030351]) | |||
* <code>overflow</code>, <code>overflow-x</code>, <code>overflow-y</code> properties supported on replaced elements ([https://bugzil.la/1999100 1999100]) | * <code>overflow</code>, <code>overflow-x</code>, <code>overflow-y</code> properties supported on replaced elements ([https://bugzil.la/1999100 1999100]) | ||
* <code>overscroll-behavior</code>, <code>overscroll-behavior-x</code>, <code> overscroll-behavior-y</code>, <code> overscroll-behavior-block</code>, <code> and overscroll-behavior-inline</code> apply to scroll containers that have no scrollable overflow ([https://bugzil.la/1837436 1837436]) | |||
* <code>position-try-order</code> ([https://bugzil.la/2008537 2008537]) | * <code>position-try-order</code> ([https://bugzil.la/2008537 2008537]) | ||
* <code>shape-outside</code> property support <code>xywh()</code> and <code>rect()</code> functions ([https://bugzil.la/1983187 1983187]) | * <code>shape-outside</code> property support <code>xywh()</code> and <code>rect()</code> functions ([https://bugzil.la/1983187 1983187]) | ||
| Line 41: | Line 51: | ||
=== CSSOM === | === CSSOM === | ||
* CSS Typed Object Model Level 1 ([https://bugzil.la/1278697 1278697]) | |||
* ... | * ... | ||
| Line 52: | Line 63: | ||
== Media == | == Media == | ||
* JPEG XL Rust decoder prototype ([https://bugzil.la/1986393 1986393]) | |||
Media-related APIs like WebRTC | |||
* <code>HTMLMediaElement.captureStream()</code> ([https://bugzil.la/2017708 2017708]) | |||
* <code>RTCError</code> and <code>RTCErrorEvent</code> ([https://bugzil.la/1814459 1814459]) | |||
* <code>RTCIceTransport.role</code> ([https://bugzil.la/2018843 2018843]) | |||
* <code>RTCPeerConnectionIceErrorEvent</code> and <code>RTCPeerConnection.icecandidateerror</code> event ([https://bugzil.la/1561441 1561441]) | |||
* WebRTC MediaStreamTrackProcessor ([https://bugzil.la/1749532 1749532]) | * WebRTC MediaStreamTrackProcessor ([https://bugzil.la/1749532 1749532]) | ||
* WebRTC VideoTrackGenerator ([https://bugzil.la/1749533 1749533]) | * WebRTC VideoTrackGenerator ([https://bugzil.la/1749533 1749533]) | ||
== DOM == | == DOM == | ||
* more characters for element and attribute names in methods ([https://bugzil.la/1773312 1773312]) | |||
** Document.createAttribute(), Document.createAttributeNS(), Document.createElement(), Document.createElementNS() | |||
** Element.toggleAttribute(), Element.setAttribute(), Element.setAttributeNS() | |||
** DOMImplementation.createDocument() | |||
** customElements.define(), customElements.whenDefined() | |||
* <code>ariaNotify()</code> method on <code>Document</code> and <code>Element</code> ([https://bugzil.la/2018095 2018095]) | |||
* <code>CloseWatcher</code> interface ([https://bugzil.la/1966073 1966073]) | |||
* <code>CSSFontFaceDescriptors</code> interface ([https://bugzil.la/2019904 2019904]) | |||
* <code>Document.caretPositionFromPoint()</code> including argument <code>options.shadowRoots</code> ([https://bugzil.la/1550635 1550635], [https://bugzil.la/1914596 1914596]) | |||
* <code>Document.execCommand()</code> "<code>paste</code>" command in web content ([https://bugzil.la/1998195 1998195]) | * <code>Document.execCommand()</code> "<code>paste</code>" command in web content ([https://bugzil.la/1998195 1998195]) | ||
* <code>HTMLSelectElement.showPicker()</code> support list of options in <code><datalist></code> ([https://bugzil.la/1998668 1998668]) | |||
* ... | * ... | ||
| Line 88: | Line 114: | ||
=== Add-ons === | === Add-ons === | ||
* split view support ([https://bugzil.la/1993037 1993037]) | |||
* <code>tabId</code> parameter support in <code>action.isEnabled</code> and <code>browserAction.isEnabled</code> ([https://bugzil.la/2013477 2013477]) | |||
* ... | * ... | ||
=== WebDriver === | === WebDriver === | ||
* <code>browser.setDownloadBehavior</code> command ([https://bugzil.la/1989022 1989022]) | |||
* <code>browsingContext.getTree</code> command now accepts the vendor specific <code>moz:scope</code> ([https://bugzil.la/1944568 1944568], [https://bugzil.la/1944570 1944570]) | * <code>browsingContext.getTree</code> command now accepts the vendor specific <code>moz:scope</code> ([https://bugzil.la/1944568 1944568], [https://bugzil.la/1944570 1944570]) | ||
* <code>input.fileDialogOpened</code> event ([https://bugzil.la/1855045 1855045]) | * <code>input.fileDialogOpened</code> event ([https://bugzil.la/1855045 1855045]) | ||
* <code>emulation.setScreenSettingsOverride</code> command ([https://bugzil.la/2000651 2000651]) | * <code>emulation.setScreenSettingsOverride</code> command ([https://bugzil.la/2000651 2000651]) | ||
* <code>script.realmCreated</code> and <code>script.realmDestroyed</code> events ([https://bugzil.la/1936770 1936770]) | |||
* ... | * ... | ||
Marionette: | Marionette: | ||
* <code>Reporting:GenerateTestReport</code> command ([https://bugzil.la/1909662 1909662]) | * <code>Reporting:GenerateTestReport</code> command ([https://bugzil.la/1909662 1909662]) | ||
* <code>implicit</code> and <code>pageLoad</code> timeouts supported in line with script timeout; <code>null</code> values to disable the timeouts ([https://bugzil.la/2008345 2008345]) | |||
* ... | * ... | ||
Latest revision as of 19:07, 2 June 2026
Platform 2026 Roadmap
Related Links:
- Firefox Release Calendar (future)
- Firefox release notes for developers (past)
- Pocket Guide: Shipping Firefox
These are areas of work planned for Gecko in 2026 for the Web Platform.
For current web platform documentation of these areas, see the subsections at:
HTML
popover=hint(1867743)alpha&colorspaceattributes in<input type=color>; elements (1919718)shadowrootslotassignmentattribute on<template>(2031295, 2023824)<img sizes=auto>(1819581)- ...
CSS
- units:
rcap,rch,rex,ric(1740584) <attr-type>values inattr()function (1986631, 1998245)color-mix()function multiple (2+) color arguments (2007772, 2024171)light-dark()function<image>type for images, gradients (2023569)shape()function on by default (1982941):buffering,:muted,:paused,:playing,:seeking,:stalled,:volume-lockedallow you to style<audio><video>elements (1707584, 2014512, 2020775)::beforeand::afteron replaced elements (1931309)::markerpseudo-element supportcounter-increment,counter-reset,counter-set,quotesproperties (2000404)revert-rulekeyword (2017307)@containerstyle()queries (2014404, 2016929, 2019254, 2024601, 2030645)- CSS Anchor Positioning (1988225)
overflow,overflow-x,overflow-yproperties supported on replaced elements (1999100)overscroll-behavior,overscroll-behavior-x,overscroll-behavior-y,overscroll-behavior-block,and overscroll-behavior-inlineapply to scroll containers that have no scrollable overflow (1837436)position-try-order(2008537)shape-outsideproperty supportxywh()andrect()functions (1983187)vertical-alignas shorthand property foralignment-baseline,baseline-shift, andbaseline-sourceproperties (1830771)- CSS properties and rendering of
<fieldset>and<legend>(1935129)- margins, generated content, custom
displayvalues
- margins, generated content, custom
- View transition types (2001878)
- ...
WebCompat:
-webkit-perspectiveproperty (1362499)- ...
CSSOM
- CSS Typed Object Model Level 1 (1278697)
- ...
SVG
- SVG URL media fragments (1999989)
- ...
Rendering
WebGPU:
- ...
Media
- JPEG XL Rust decoder prototype (1986393)
Media-related APIs like WebRTC
HTMLMediaElement.captureStream()(2017708)RTCErrorandRTCErrorEvent(1814459)RTCIceTransport.role(2018843)RTCPeerConnectionIceErrorEventandRTCPeerConnection.icecandidateerrorevent (1561441)- WebRTC MediaStreamTrackProcessor (1749532)
- WebRTC VideoTrackGenerator (1749533)
DOM
- more characters for element and attribute names in methods (1773312)
- Document.createAttribute(), Document.createAttributeNS(), Document.createElement(), Document.createElementNS()
- Element.toggleAttribute(), Element.setAttribute(), Element.setAttributeNS()
- DOMImplementation.createDocument()
- customElements.define(), customElements.whenDefined()
ariaNotify()method onDocumentandElement(2018095)CloseWatcherinterface (1966073)CSSFontFaceDescriptorsinterface (2019904)Document.caretPositionFromPoint()including argumentoptions.shadowRoots(1550635, 1914596)Document.execCommand()"paste" command in web content (1998195)HTMLSelectElement.showPicker()support list of options in<datalist>(1998668)- ...
JS
- CSS module scripts (1986681)
islamic-umalquracalendar support inIntl(2011505)Iterator.concat()method (1986672)Iterator.zip()andIterator.zipKeyed()static methods (2003333)- ...
APIs
CompressionStreamandDecompressionStreamsupport Brotli compression (1921583)Document.activeViewTransitionproperty (2001836)- Document Picture-in-Picture API (1858562)
- HTML Sanitizer API (1650370)
setHTML()
Location.ancestorOriginsproperty (1085214)- Navigation API (1997962)
NavigationPrecommitController.addHandler()(2009004)
options.resizeQualityparameter support inWindow.createImageBitmap()andWorkerGlobalScope.createImageBitmap()(2010125)pointerrawupdateeventmovementXandmovementYproperties (1987671)- Reporting API (1976074, 2008916)
CSPViolationReportandIntegrityViolationReportobjects using aReportingObserver, can be filtered on type"csp-violation"or"integrity-violation"
- Trusted Types API (1994690)
- ...
Add-on gated:
- WebSerial API (926940)
- ...
Add-ons
- split view support (1993037)
tabIdparameter support inaction.isEnabledandbrowserAction.isEnabled(2013477)- ...
WebDriver
browser.setDownloadBehaviorcommand (1989022)browsingContext.getTreecommand now accepts the vendor specificmoz:scope(1944568, 1944570)input.fileDialogOpenedevent (1855045)emulation.setScreenSettingsOverridecommand (2000651)script.realmCreatedandscript.realmDestroyedevents (1936770)- ...
Marionette:
Reporting:GenerateTestReportcommand (1909662)implicitandpageLoadtimeouts supported in line with script timeout;nullvalues to disable the timeouts (2008345)- ...
Protocols
HTTP
- ...
Security
- ...
Interop
- Our announcement blog post: https://hacks.mozilla.org/2026/02/launching-interop-2026/
Interop Focus Areas for implementation:
- 2017321: CSS Anchor Positioning
- 2017328: CSS attr()
- 2017330: CSS contrast-color
- 2017331: Container style queries
- 2017332: Custom highlights
- 2017335: Dialogs and Popovers
- 2017337: Fetch
- 2017340: IndexedDB
- 2017341: JSPI for WASM
- 2017344: Navigation
- 2017353: Scoped custom element registries
- 2017354: Scroll-driven animations
- 2017355: scroll-snap
- 2017356: CSS shape
- 2017359: View transitions
- 2017360: zoom
- 2017361: Web compat
- 2017363: WebRTC
- 2017364: WebTransport
Prototyping
We have plans to prototype the following but no commitment (nor official "intent") to ship yet. Alphabetical, no indication of ordering of implementation or consideration for shipping.
- Fullscreen Keyboard Lock (700123)
- ...
Add-on gated:
Specifications and Notes
Edit and publish new and updated specifications and notes. See Standards for our ongoing work in this area.
- ...
See Also
- Platform
- Previously: Platform/Roadmap2025
- Next: Platform/Roadmap2027