Web platform features explorer

📃 March 2025 release notes

Newly available

The following features are newly available:

  • ClipboardItem.supports(): The ClipboardItem.supports() static method checks if the browser supports writing data types such as "image/svg+xml" or other custom formats to the system clipboard.
  • contenteditable="plaintext-only": The contenteditable="plaintext-only" global HTML attribute allows the user to edit the content of an element, but prevents rich-text formatting.
  • Intl.DurationFormat: The Intl.DurationFormat API creates a locale-aware formatter that turns an object representing a duration (such as days, hours, and minutes) into a string.
  • Iterator methods: The Iterator object is an abstract base for objects that implement the iterator protocol. It provides methods common to built-in iterators, such as filter(), find(), map(), and reduce(). You can also use the static method Iterator.from() to convert an existing iterable into an Iterator.
  • Screen wake lock: The navigator.wakeLock.request("screen") API prevents the device's screen from dimming or being turned off.

Widely available

The following features are now widely available:

  • Inline-size containment: The contain: inline-size CSS declaration prevents the element's inline dimension from being set by the element's contents. This permits the browser to avoid slower layout calculations.
  • Forced colors: The forced-colors CSS @media rule detects when a user has chosen to use a forced colors mode, also known as high-contrast mode, and the forced-color-adjust CSS property sets whether forced colors apply to an element.
  • :modal: The :modal pseudo-class selects elements that put other elements into a non-interactive state, such as a fullscreen element or a <dialog> element used with showModal().
  • Motion path: The offset CSS property animates an element along a defined motion path.
  • overflow: clip: The overflow: clip CSS declaration clips an element's overflowing content to the box that's defined by the overflow-clip-margin property. Unlike overflow: hidden, it allows you to hide overflow on one axis while keeping overflow on the other axis visible.
  • overscroll-behavior: The overscroll-behavior CSS property disables default scrolling behaviors when the edges of a scrolling area are reached.
  • Permissions: The navigator.permissions API checks whether a permission, such as access to geolocation data, has been granted.
  • resolution media query: The resolution CSS media query sets styles based on the pixel density, or how many pixels a device uses to display a single CSS pixel.
  • text-align-last: The text-align-last CSS property sets the alignment of the last line of text before a forced line break.

New in Chrome

The following features are now available in Chrome:

  • <dialog closedby>: The closedby HTML attribute for <dialog> sets which user actions close a dialog. For example, closedby="any" allows the dialog to be closed by clicking outside of it.
  • Explicit resource management: The using and await using declarations and the dispose and asyncDispose symbols manage the lifecycle of resources such as file handles and streams. The DisposableStack and AsyncDisposableStack objects can group, dispose, and coordinate dependencies between multiple disposable resources.
  • :has-slotted: The :has-slotted CSS pseudo-class matches <slot> elements where the fallback content is not shown. The pseudo-class matches any slotted content, including white space, text nodes, or elements.
  • Error.isError(): The Error.isError() static method checks whether a value is an Error object.
  • <meta name="application-title">: The name="application-title" attribute for the <meta> HTML element sets an installed web application's title bar text.
  • dialog.requestClose(): The requestClose() method of a <dialog> HTML element closes the dialog, firing a cancel event first, which listeners can use to prevent the dialog from closing. This differs from the close() method, which only fires the non-cancelable close event.
  • Shared storage locks: The withLock option to set(), append(), delete(), clear(), and batchUpdate() methods of the sharedStorage API prevents duplicate reporting from cross-site race conditions.

New in Chrome Android

The following features are now available in Chrome Android:

  • <dialog closedby>: The closedby HTML attribute for <dialog> sets which user actions close a dialog. For example, closedby="any" allows the dialog to be closed by clicking outside of it.
  • Explicit resource management: The using and await using declarations and the dispose and asyncDispose symbols manage the lifecycle of resources such as file handles and streams. The DisposableStack and AsyncDisposableStack objects can group, dispose, and coordinate dependencies between multiple disposable resources.
  • :has-slotted: The :has-slotted CSS pseudo-class matches <slot> elements where the fallback content is not shown. The pseudo-class matches any slotted content, including white space, text nodes, or elements.
  • Error.isError(): The Error.isError() static method checks whether a value is an Error object.
  • <meta name="application-title">: The name="application-title" attribute for the <meta> HTML element sets an installed web application's title bar text.
  • dialog.requestClose(): The requestClose() method of a <dialog> HTML element closes the dialog, firing a cancel event first, which listeners can use to prevent the dialog from closing. This differs from the close() method, which only fires the non-cancelable close event.
  • Shared storage locks: The withLock option to set(), append(), delete(), clear(), and batchUpdate() methods of the sharedStorage API prevents duplicate reporting from cross-site race conditions.

New in Edge

The following features are now available in Edge:

  • <dialog closedby>: The closedby HTML attribute for <dialog> sets which user actions close a dialog. For example, closedby="any" allows the dialog to be closed by clicking outside of it.
  • Digital goods: The window.getDigitalGoodsService API connects to stores or billing services for in-app products and subscriptions.
  • Explicit resource management: The using and await using declarations and the dispose and asyncDispose symbols manage the lifecycle of resources such as file handles and streams. The DisposableStack and AsyncDisposableStack objects can group, dispose, and coordinate dependencies between multiple disposable resources.
  • :has-slotted: The :has-slotted CSS pseudo-class matches <slot> elements where the fallback content is not shown. The pseudo-class matches any slotted content, including white space, text nodes, or elements.
  • Error.isError(): The Error.isError() static method checks whether a value is an Error object.
  • <meta name="application-title">: The name="application-title" attribute for the <meta> HTML element sets an installed web application's title bar text.
  • dialog.requestClose(): The requestClose() method of a <dialog> HTML element closes the dialog, firing a cancel event first, which listeners can use to prevent the dialog from closing. This differs from the close() method, which only fires the non-cancelable close event.
  • Shared storage locks: The withLock option to set(), append(), delete(), clear(), and batchUpdate() methods of the sharedStorage API prevents duplicate reporting from cross-site race conditions.

New in Firefox

The following features are now available in Firefox:

  • autocorrect: The autocorrect global HTML attribute controls whether to automatically correct spelling or punctuation errors for user input.
  • :has-slotted: The :has-slotted CSS pseudo-class matches <slot> elements where the fallback content is not shown. The pseudo-class matches any slotted content, including white space, text nodes, or elements.
  • :open: The :open CSS pseudo-class matches elements that have open states, like <details>, <dialog>, or <select>, based on their state.
  • Single color stop gradients: A single color stop can be provided to the linear-gradient(), radial-gradient(), and conic-gradient() CSS functions, and their repeating counterparts, to create a solid color background.

New in Firefox for Android

The following features are now available in Firefox for Android:

  • autocorrect: The autocorrect global HTML attribute controls whether to automatically correct spelling or punctuation errors for user input.
  • :has-slotted: The :has-slotted CSS pseudo-class matches <slot> elements where the fallback content is not shown. The pseudo-class matches any slotted content, including white space, text nodes, or elements.
  • :open: The :open CSS pseudo-class matches elements that have open states, like <details>, <dialog>, or <select>, based on their state.
  • Single color stop gradients: A single color stop can be provided to the linear-gradient(), radial-gradient(), and conic-gradient() CSS functions, and their repeating counterparts, to create a solid color background.

New in Safari

The following features are now available in Safari:

  • Atomics.pause(): The Atomics.pause() static method gives a hint to the CPU that the code calling the method is in a short-duration wait for shared memory, known as spinning or a spinlock.
  • ::details-content: The ::details-content pseudo-element selects the expandable content of a <details> element, excluding the <summary>.
  • font-width: The font-width CSS property selects a font face from a font family based on width, either by a keyword such as condensed or a percentage.
  • dialog.requestClose(): The requestClose() method of a <dialog> HTML element closes the dialog, firing a cancel event first, which listeners can use to prevent the dialog from closing. This differs from the close() method, which only fires the non-cancelable close event.
  • Single color stop gradients: A single color stop can be provided to the linear-gradient(), radial-gradient(), and conic-gradient() CSS functions, and their repeating counterparts, to create a solid color background.
  • text-autospace: The text-autospace CSS property sets whether and how to insert spaces in inter-script text (such as when mixing Latin and Chinese characters) and around punctuation.
  • Exception references with exnref (WebAssembly): When caught, an exception is reified into an exception reference, a value of the new type exnref.

New in Safari on iOS

The following features are now available in Safari on iOS:

  • Atomics.pause(): The Atomics.pause() static method gives a hint to the CPU that the code calling the method is in a short-duration wait for shared memory, known as spinning or a spinlock.
  • ::details-content: The ::details-content pseudo-element selects the expandable content of a <details> element, excluding the <summary>.
  • dialog.requestClose(): The requestClose() method of a <dialog> HTML element closes the dialog, firing a cancel event first, which listeners can use to prevent the dialog from closing. This differs from the close() method, which only fires the non-cancelable close event.
  • Single color stop gradients: A single color stop can be provided to the linear-gradient(), radial-gradient(), and conic-gradient() CSS functions, and their repeating counterparts, to create a solid color background.
  • text-autospace: The text-autospace CSS property sets whether and how to insert spaces in inter-script text (such as when mixing Latin and Chinese characters) and around punctuation.
  • Exception references with exnref (WebAssembly): When caught, an exception is reified into an exception reference, a value of the new type exnref.