Web platform features explorer

📃 May 2026 release notes

Newly available

The following features are newly available:

  • Container style queries: Container style queries with the @container at-rule apply styles to an element based on the values of custom properties of its container.
  • crisp-edges: The image-rendering: crisp-edges CSS declaration scales images to preserve lines without blurring.
  • JavaScript modules in shared workers: The SharedWorker() constructor accepts { type: "module" } to load scripts that use import and export. Also known as ECMAScript modules or ESM in shared workers.
  • :open: The :open CSS pseudo-class matches elements that have open states, like <details>, <dialog>, or <select>, based on their state.
  • Shared worker: The SharedWorker() constructor runs a script in its own thread, which can send and receive messages with other scripts running at the same origin.
  • text-decoration-skip-ink: all: The text-decoration-skip-ink: all CSS declaration forces interruptions in underlines and overlines where the line would cross a glyph. This contrasts with auto, which does not skip for CJK glyphs.
  • ToggleEvent source: The source property of a ToggleEvent object is the element which triggered the toggle event to fire for a popover, <dialog>, or <details> element, if applicable.

Widely available

The following features are now widely available:

  • Clip path boxes: The fill-box, stroke-box, and view-box values for clip-path set an edge of the element's box to use as the clipping shape.
  • lh unit: The lh CSS length unit corresponds to the requested line height, the computed value of the line-height property. Some lines may be higher than this based on their content.
  • rlh unit: The rlh CSS length unit is a font-relative length relative to the line height of root element.
  • User activation: The navigator.userActivation API reveals whether the user has interacted with the page through an "activation" gesture such as a click, tap, or key press. User activation gated APIs (such as the fullscreen API) fail without user interaction, and this API allows you to predict such a failure.
  • :user-valid and :user-invalid: The :user-valid and :user-invalid pseudo-classes match form controls that have been marked as valid or invalid based on their validation constraints.

New in Chrome

The following features are now available in Chrome:

  • LanguageModel: The LanguageModel API prompts an on-device language model. Also known as the Prompt API.

New in Edge

The following features are now available in Edge:

  • LanguageModel: The LanguageModel API prompts an on-device language model. Also known as the Prompt API.

New in Firefox

The following features are now available in Firefox:

  • Document picture-in-picture: The document picture-in-picture API creates an always-on-top window from arbitrary HTML content.
  • Web serial: The navigator.serial API communicates with devices over serial ports, such as microcontrollers.

New in Safari

The following features are now available in Safari:

  • Hanging punctuation: The hanging-punctuation CSS property puts punctuation characters outside of the box to align the text with the rest of the document.
  • Origin: An Origin object represents an origin, as in a scheme, hostname, and port. You can use it to make same-site and same-origin comparisons.

New in Safari on iOS

The following features are now available in Safari on iOS:

  • Hanging punctuation: The hanging-punctuation CSS property puts punctuation characters outside of the box to align the text with the rest of the document.
  • Origin: An Origin object represents an origin, as in a scheme, hostname, and port. You can use it to make same-site and same-origin comparisons.