Web platform features explorer

📃 March 2026 release notes

Newly available

The following features are newly available:

  • Math font family: The font-family: math CSS declaration uses the browser default font face for displaying mathematical expressions.
  • Iterator.concat(): The Iterator.concat() JavaScript method returns an iterator that yields values from a sequence of iterators, exhausting each iterator before moving on to the next.
  • Readable byte streams: A ReadableStream constructed with { type: "bytes" } reads bytes from a stream without making extra copies, improving efficiency for streams of large chunks. Also known as BYOB or bring your own buffer.
  • Reporting API: The Reporting-Endpoints HTTP header and ReportingObserver() API send reports of Content Security Policy (CSP) violations, Permissions-Policy violations, deprecated feature usage, browser interventions, and crashes to a nominated URL or callback function.
  • text-indent: each-line: The text-indent: each-line CSS declaration indents text after forced breaks as well as to the first line of a block.
  • text-indent: hanging: The text-indent: hanging CSS declaration indents all lines except the first.
  • WebTransport: The WebTransport API transmits data between a client and a server, by using the HTTP/3 protocol.

Widely available

The following features are now widely available:

  • contain-intrinsic-size: The contain-intrinsic-size CSS property sets the intrinsic size of an element. When using size containment, the browser will lay out the element as if it had a single child of this size.
  • @counter-style: The @counter-style CSS at-rule sets custom counter styles for list items. For example, you can use a sequence of specific symbols instead of numbers for an ordered list.
  • Device orientation events: The DeviceMotion and DeviceOrientation events report the movement and orientation of the browser's device in physical space. Note that coordinates can differ noticeably between platforms and devices.
  • Hyphenate character: The hyphenate-character CSS property sets the character or string to use at the end of a line before a line break.
  • Hyphenation: The hyphens CSS property controls when long words are broken by line wrapping. Although called hyphens, the property applies to word-splitting behavior across languages, such as customary spelling changes or the use of other characters. Support for non-English languages varies significantly.
  • image-set(): The image-set() CSS function provides a set of images at different resolutions or pixel densities, which the browser can pick from, depending on the device capabilities.
  • <link rel="modulepreload">: The rel="modulepreload" attribute for the <link> HTML element indicates that a module script should be fetched, parsed, and compiled preemptively, and stored for later execution.
  • Overflow media queries: The overflow-block and overflow-inline CSS media queries set styles based on the way a device displays content that's larger than the viewport or page area. For example, a laptop lets users scroll to reveal content, while a printer displays overflowing content on additional pages.
  • Storage manager: The navigator.storage API provides information about the availability and persistence of the data that a site stores on the device, by using APIs such as the Cache API or the IndexedDB API.
  • Subgrid: The subgrid value for the grid-template-columns and grid-template-rows properties allows a grid item to inherit the grid definition of its parent grid container.
  • Update frequency media query: The update CSS media query sets styles based on whether and how fast the user's device can modify display after it has been rendered. For example, you can avoid animations on devices that aren't fast enough to display them smoothly.

New in Chrome

The following features are now available in Chrome:

  • Navigation precommit handlers: The precommitHandler callback option to NavigateEvent's intercept() method returns a promise that defers navigation until the promise resolves. You can use this to change the navigation's URL, state, and history before navigation occurs.
  • Scoped custom element registries: The CustomElementRegistry() constructor creates a new custom element registry that's separate from the global window.customElements registry. Creating more than one registry is useful for multiple custom elements that have the same tag name to coexist.

New in Chrome Android

The following features are now available in Chrome Android:

  • Navigation precommit handlers: The precommitHandler callback option to NavigateEvent's intercept() method returns a promise that defers navigation until the promise resolves. You can use this to change the navigation's URL, state, and history before navigation occurs.
  • Scoped custom element registries: The CustomElementRegistry() constructor creates a new custom element registry that's separate from the global window.customElements registry. Creating more than one registry is useful for multiple custom elements that have the same tag name to coexist.

New in Edge

The following features are now available in Edge:

  • Navigation precommit handlers: The precommitHandler callback option to NavigateEvent's intercept() method returns a promise that defers navigation until the promise resolves. You can use this to change the navigation's URL, state, and history before navigation occurs.
  • Scoped custom element registries: The CustomElementRegistry() constructor creates a new custom element registry that's separate from the global window.customElements registry. Creating more than one registry is useful for multiple custom elements that have the same tag name to coexist.

New in Firefox

The following features are now available in Firefox:

  • captureStream() for <audio> and <video>: The captureStream() method for <audio> and <video> elements returns a MediaStream for the media element's content. You can use this to record media or send it elsewhere, such as a canvas or WebRTC connection.
  • CloseWatcher: The CloseWatcher API listens and responds to close requests on in-page components, such as modals, popovers, and sidebars.
  • popover="hint": The popover="hint" global HTML attribute creates a popover that is subordinate to popovers with a popover="auto" attribute. You can use this to create tooltips that don't dismiss auto popovers.

New in Firefox for Android

The following features are now available in Firefox for Android:

  • captureStream() for <audio> and <video>: The captureStream() method for <audio> and <video> elements returns a MediaStream for the media element's content. You can use this to record media or send it elsewhere, such as a canvas or WebRTC connection.
  • CloseWatcher: The CloseWatcher API listens and responds to close requests on in-page components, such as modals, popovers, and sidebars.
  • popover="hint": The popover="hint" global HTML attribute creates a popover that is subordinate to popovers with a popover="auto" attribute. You can use this to create tooltips that don't dismiss auto popovers.