Platform/Roadmap2026: Difference between revisions
< Platform
Jump to navigation
Jump to search
(Adding HDR items to Media) |
(more 151) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 6: | 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-150, 151addon-... --> | ||
* [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 24: | Line 24: | ||
* 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><attr-type></code> values in <code>attr()</code> function ([https://bugzil.la/1986631 1986631], [https://bugzil.la/1998245 1998245]) | ||
* <code>attr()</code> function support namespaced attributes ([https://bugzil.la/2014060 2014060]) | |||
* <code>color-mix()</code> function multiple (2+) color arguments ([https://bugzil.la/2007772 2007772], [https://bugzil.la/2024171 2024171]) | * <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>light-dark()</code> function <code><image></code> type for images, gradients ([https://bugzil.la/2023569 2023569]) | ||
| Line 32: | Line 33: | ||
* <code>revert-rule</code> keyword ([https://bugzil.la/2017307 2017307]) | * <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]) | * <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]) | ||
** nested <code>style()</code> queries ([https://bugzil.la/2014098 2014098]) | |||
* 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]) | ||
| Line 52: | Line 54: | ||
=== CSSOM === | === CSSOM === | ||
* CSS Typed Object Model Level 1 ([https://bugzil.la/1278697 1278697]) | * CSS Typed Object Model Level 1 ([https://bugzil.la/1278697 1278697]) | ||
* <code>CSSContainerRule.conditions</code> ([https://bugzil.la/2022827 2022827]) | |||
* ... | * ... | ||
| Line 60: | Line 63: | ||
== Rendering == | == Rendering == | ||
WebGPU: | WebGPU: | ||
* <code>maxStorageBuffersInFragmentStage</code>, <code>maxStorageBuffersInVertexStage</code>, <code>maxStorageTexturesInFragmentStage</code>, <code>maxStorageTexturesInVertexStage</code> properties on <code>GPUSupportedLimits</code> ([https://bugzil.la/2006720 2006720]) | |||
* ... | * ... | ||
| Line 83: | Line 87: | ||
* <code>CloseWatcher</code> interface ([https://bugzil.la/1966073 1966073]) | * <code>CloseWatcher</code> interface ([https://bugzil.la/1966073 1966073]) | ||
* <code>CSSFontFaceDescriptors</code> interface ([https://bugzil.la/2019904 2019904]) | * <code>CSSFontFaceDescriptors</code> interface ([https://bugzil.la/2019904 2019904]) | ||
* <code>customElementRegistry</code> property support <code>Document</code>, <code>Element</code>, <code>ShadowRoot</code> objects ([https://bugzil.la/2018900 2018900]) | |||
* <code>Document.caretPositionFromPoint()</code> including argument <code>options.shadowRoots</code> ([https://bugzil.la/1550635 1550635], [https://bugzil.la/1914596 1914596]) | * <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]) | ||
| Line 96: | Line 101: | ||
== APIs == | == APIs == | ||
* <code>CanvasRenderingContext2D.lang</code> ([https://bugzil.la/1943070 1943070]) | |||
* <code>CompressionStream</code> and <code>DecompressionStream</code> support Brotli compression ([https://bugzil.la/1921583 1921583]) | * <code>CompressionStream</code> and <code>DecompressionStream</code> support Brotli compression ([https://bugzil.la/1921583 1921583]) | ||
* <code>Document.activeViewTransition</code> property ([https://bugzil.la/2001836 2001836]) | * <code>Document.activeViewTransition</code> property ([https://bugzil.la/2001836 2001836]) | ||
* Document Picture-in-Picture API ([https://bugzil.la/1858562 1858562]) | * Document Picture-in-Picture API ([https://bugzil.la/1858562 1858562], [https://bugzil.la/2006594 2006594]) | ||
* HTML Sanitizer API ([https://bugzil.la/1650370 1650370]) | * HTML Sanitizer API ([https://bugzil.la/1650370 1650370]) | ||
** <code>setHTML()</code> | ** <code>setHTML()</code> | ||
| Line 105: | Line 111: | ||
** <code>NavigationPrecommitController.addHandler()</code> ([https://bugzil.la/2009004 2009004]) | ** <code>NavigationPrecommitController.addHandler()</code> ([https://bugzil.la/2009004 2009004]) | ||
* <code>options.resizeQuality</code> parameter support in <code>Window.createImageBitmap()</code> and <code>WorkerGlobalScope.createImageBitmap()</code> ([https://bugzil.la/2010125 2010125]) | * <code>options.resizeQuality</code> parameter support in <code>Window.createImageBitmap()</code> and <code>WorkerGlobalScope.createImageBitmap()</code> ([https://bugzil.la/2010125 2010125]) | ||
* <code>options.keyboardLock</code> property supported option in <code>Element.requestFullscreen()</code> ([https://bugzil.la/2032302 2032302]), AKA "Fullscreen Keyboard Lock" ([https://bugzil.la/700123 700123]) | |||
* <code>pointerrawupdate</code> event <code>movementX</code> and <code>movementY</code> properties ([https://bugzil.la/1987671 1987671]) | * <code>pointerrawupdate</code> event <code>movementX</code> and <code>movementY</code> properties ([https://bugzil.la/1987671 1987671]) | ||
* Reporting API ([https://bugzil.la/1976074 1976074], [https://bugzil.la/2008916 2008916]) | * Reporting API ([https://bugzil.la/1976074 1976074], [https://bugzil.la/2008916 2008916]) | ||
| Line 112: | Line 119: | ||
Add-on gated: | Add-on gated: | ||
* WebSerial API ([https://bugzil.la/926940 926940]) | * WebSerial API ([https://bugzil.la/926940 926940], [https://bugzil.la/2029625 2029625]) | ||
* ... | * ... | ||
| Line 121: | Line 128: | ||
=== WebDriver === | === WebDriver === | ||
* <code>altitudeAngle</code> and <code>azimuthAngle</code> to pointer actions of subtype <code>touch</code> ([https://bugzil.la/2022644 2022644]) | |||
* <code>browser.setClientWindowState</code> ([https://bugzil.la/1855028 1855028]) | |||
* <code>browser.setDownloadBehavior</code> command ([https://bugzil.la/1989022 1989022]) | * <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>emulation.setNetworkConditions</code> command ([https://bugzil.la/1993079 1993079]) | |||
* <code>script.realmCreated</code> and <code>script.realmDestroyed</code> events ([https://bugzil.la/1936770 1936770]) | * <code>script.realmCreated</code> and <code>script.realmDestroyed</code> events ([https://bugzil.la/1936770 1936770]) | ||
* <code>script.getRealms</code> command support worker realms ([https://bugzil.la/2016097 2016097]) | |||
* ... | * ... | ||
| Line 167: | Line 178: | ||
== Prototyping == | == 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. | 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. | ||
* ... | * ... | ||
Add-on gated: | Add-on gated: | ||
* WebUSB API ([https://bugzil.la/2022432 2022432]) | |||
* Web Bluetooth API ([https://bugzil.la/2022433 2022433]) | * Web Bluetooth API ([https://bugzil.la/2022433 2022433]) | ||
* ... | * ... | ||
Latest revision as of 23:59, 18 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)attr()function support namespaced attributes (2014060)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)- nested
style()queries (2014098)
- nested
- 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
SVG
- SVG URL media fragments (1999989)
- ...
Rendering
WebGPU:
maxStorageBuffersInFragmentStage,maxStorageBuffersInVertexStage,maxStorageTexturesInFragmentStage,maxStorageTexturesInVertexStageproperties onGPUSupportedLimits(2006720)- ...
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)
- HDR Video on Windows (2012848)
- HDR Video on Linux (1642854)
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)customElementRegistryproperty supportDocument,Element,ShadowRootobjects (2018900)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
CanvasRenderingContext2D.lang(1943070)CompressionStreamandDecompressionStreamsupport Brotli compression (1921583)Document.activeViewTransitionproperty (2001836)- Document Picture-in-Picture API (1858562, 2006594)
- HTML Sanitizer API (1650370)
setHTML()
Location.ancestorOriginsproperty (1085214)- Navigation API (1997962)
NavigationPrecommitController.addHandler()(2009004)
options.resizeQualityparameter support inWindow.createImageBitmap()andWorkerGlobalScope.createImageBitmap()(2010125)options.keyboardLockproperty supported option inElement.requestFullscreen()(2032302), AKA "Fullscreen Keyboard Lock" (700123)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:
Add-ons
- split view support (1993037)
tabIdparameter support inaction.isEnabledandbrowserAction.isEnabled(2013477)- ...
WebDriver
altitudeAngleandazimuthAngleto pointer actions of subtypetouch(2022644)browser.setClientWindowState(1855028)browser.setDownloadBehaviorcommand (1989022)browsingContext.getTreecommand now accepts the vendor specificmoz:scope(1944568, 1944570)input.fileDialogOpenedevent (1855045)emulation.setScreenSettingsOverridecommand (2000651)emulation.setNetworkConditionscommand (1993079)script.realmCreatedandscript.realmDestroyedevents (1936770)script.getRealmscommand support worker realms (2016097)- ...
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.
- ...
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