BASELINE NowYouCanUse.com
Web Platform Baseline Status Breakdown Total Features: 1198
Search: Reset ×
Categories: All CSS (101) HTML elements (100) Selectors (46) JavaScript (43) Forms (42)
WebGL extensions (37) WebAssembly (22) Media queries (21) Fonts (19) Performance (19) Text (19) Scrolling (18) Arrays (17) Layout (17) HTML (16) Progressive web app (15) Typed arrays (14) Units (14) Canvas (13) Background (12) Color types (12) Media elements (12) Strings (12) Clipping, shapes, and masking (11) Security (11) Web components (11) WebXR (11) Typographic font features (10) Animation (9) DOM (9) Internationalization (9) Reporting (9) Text wrap (9) Workers (9) Clipboard (8) Containment (7) Fetch (7) JavaScript modules (7) Print media (7) Sensors (7) CSS object models (6) Image formats (6) Iterators (6) Landmark elements (6) Positioning (6) Promises (6) SVG (6) Storage (6) Streams (6) Container queries (5) Credential management (5) Custom elements (5) Explicit defaults (5) Font synthesis (5) HTTP (5) Messaging (5) Multi-column (5) Resource hints (5) Ruby (5) Selection (5) Speech (5) Transitions (CSS) (5) View transitions (5) Web audio (5) WebGL (5) Anchor positioning (4) Cookies (4) Counters (4) File system access (4) Flexbox (4) Gamepad (4) Grid (4) Images (4) Lists (4) Primitive types (4) Regular expressions (4) WebDriver (4) WebRTC (4) Blend mode (3) Borders and outlines (3) Geolocation (3) Gradients (3) Image scaling (3) JSON (3) Maps (3) MathML (3) Payments (3) Reading order (3) Scroll markers (3) Transforms (3) WebAuthn (3) WebGPU (3) White space (3) Worklets (3) XML (3) Collections (2) Compute pressure (2) IndexedDB (2) Parsing and serialization (2) Resource integrity (2) Sets (2) Text fragments (2) WebMCP (2) CSS environment variables (1)
Showing 30 of 429 features

Limited Availability

30 features
• In Progress / Not Yet Baseline

The protected audience API facilitates advertisement sales by allowing sites to register users as part of an interest group or to choose which ads appear based on those interest groups, while minimizing the ability of advertisers to track specific members of the interest group. Also known as FLEDGE.

Chrome 134
Firefox
Safari
Edge
Status: Incomplete cross-engine support

The protocol_handlers web app manifest member registers an installed web app as a handler for a specific protocol. When a user follows a link with the specified protocol, the installed app opens the link.

Chrome 96
Firefox
Safari
Edge 96
Status: Incomplete cross-engine support

The @container style() CSS at-rule and if(style()) CSS function queries accept a range syntax, such as >, <, >=, <=, to query for inexact values.

Chrome 142
Firefox
Safari
Edge 142
Status: Incomplete cross-engine support

The XRView.camera property provides direct access to pose-synchronized camera images within a WebXR session.

Chrome 107
Firefox
Safari
Edge 107
Status: Incomplete cross-engine support

The optional formats.unsanitized parameter of the navigator.clipboard.read() method reads unsanitized text/html data from the system clipboard.

Chrome 122
Firefox
Safari
Edge 122
Status: Incomplete cross-engine support

The ReadableStream.from() static method converts an iterable or async iterable object, such as an array or async generator function, into a readable stream.

Chrome
Firefox 117
Safari 27
Edge
Status: Incomplete cross-engine support

The referenceTarget property of a ShadowRoot object forwards attributes such as for and aria-labelledby to elements inside a shadow DOM. You can use this to, for example, link a <label> to its <input> even if the <input> is in the shadow DOM of a web component.

Chrome 152
Firefox
Safari
Edge 152
Status: Incomplete cross-engine support

The compile() method of RegExp objects recompiles an existing regular expression object using a new pattern and flags.

Chrome 1
Firefox 1
Safari 3.1
Edge 12
Status: Incomplete cross-engine support

The RegExp object has several static properties to access the input and results of the most-recent regular expression match.

Chrome 1
Firefox 1
Safari 3
Edge 12
Status: Incomplete cross-engine support
Limited

When using navigator.mediaDevices.getDisplayMedia() to capture a browser tab as a video stream, the region capture API allows you to crop the video to the bounding box of a given element. In contrast to the element capture API, any content that overlays that element is also captured.

Chrome 104
Firefox
Safari
Edge 104
Status: Incomplete cross-engine support

Relaxed SIMD (Single Instruction Multiple Data) introduces local non-determinism, where the results of the instructions may vary based on hardware support.

Chrome 114
Firefox 146
Safari
Edge 114
Status: Incomplete cross-engine support
Limited

The Remote Playback API initiates and controls playback of media on connected remote devices, such as smart TVs with AirPlay or Chromecast capabilities.

Chrome 121
Firefox
Safari 13.1
Edge 121
Status: Incomplete cross-engine support

The frame-sizing CSS property sets the size of an <iframe> element to that of it contents, to avoid scrolling in the iframe. Embedded documents allow this with the <meta name="responsive-embedded-sizing"> element and request resizing in the embedding page by calling window.requestResize().

Chrome
Firefox
Safari
Edge
Status: Incomplete cross-engine support

The reversed() CSS function for counter-reset creates a counter that counts down.

Chrome
Firefox 96
Safari
Edge
Status: Incomplete cross-engine support

The line-height-step CSS property creates consistent vertical rhythm by setting the spacing between body text baselines. It rounds taller lines like headings up to the next multiple of the body text spacing.

Chrome
Firefox
Safari
Edge
Status: Incomplete cross-engine support
Limited

The SVG 1.1 image format has several components that were excluded from SVG 2, such as fonts, alternate glyphs, and the xlink namespace.

Chrome
Firefox
Safari ≤13.1
Edge
Status: Incomplete cross-engine support

The image/svg+xml data type (also known as the MIME type) for ClipboardItem objects represents SVG data written to or read from the clipboard.

Chrome 124
Firefox
Safari
Edge 124
Status: Incomplete cross-engine support
Limited

The Sanitizer API customizes the sanitization of HTML parsed and inserted into the DOM in a way that can prevent cross-site scripting attacks. You can use it with DOM APIs that accept a sanitizer option, such as parseHTML() or setHTML().

Chrome 146
Firefox 148
Safari
Edge 146
Status: Incomplete cross-engine support
Limited

Browsers send the Save-Data HTTP request header when the user turns on a data-saving mode. It is a hint to reduce data sent to the browser. Servers should respond with alternative content, such as smaller images and videos, or different markup and styling.

Chrome 65
Firefox
Safari
Edge 79
Status: Incomplete cross-engine support
Limited

The scheduler API provides a way to prioritize all tasks belonging to an application.

Chrome 129
Firefox 142
Safari
Edge 129
Status: Incomplete cross-engine support

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.

Chrome 146
Firefox
Safari 26
Edge 146
Status: Incomplete cross-engine support
Limited

The navigator.mediaDevices.getDisplayMedia() method asks the user to choose a screen or portion of a screen (such as a window) to capture as a media stream.

Chrome 72
Firefox 33
Safari 13
Edge 79
Status: Incomplete cross-engine support

The screen.orientation.lock() method prevents changes to the screen orientation, typically in fullscreen applications such as games. For example, while locked, rotating a phone to the side won't change the screen orientation from landscape to portrait.

Chrome
Firefox 144
Safari
Edge
Status: Incomplete cross-engine support

The :target-current CSS pseudo-class selects the active scroll marker (as in ::scroll-marker), while the :target-after and :target-before pseudo-classes select the inactive markers preceding and following the active scroll marker.

Chrome 142
Firefox
Safari
Edge 142
Status: Incomplete cross-engine support

A scroll marker scrolls a container to a scroll target. The ::scroll-marker CSS pseudo-element selects a scroll marker in a ::scroll-marker-group pseudo-element, generated before or after the scroll container. You can use them to navigate and style tables of contents, tab panels, and carousels.

Chrome 135
Firefox
Safari
Edge 135
Status: Incomplete cross-engine support

The scroll(), scrollBy(), scrollTo(), and scrollIntoView() methods on the Element and Window interfaces return Promises that resolve when scrolling completes.

Chrome 150
Firefox
Safari
Edge 150
Status: Incomplete cross-engine support

The scrollsnapchanging and scrollsnapchange events fire when a scroll gesture changes the selected scroll snap target.

Chrome 129
Firefox
Safari
Edge 129
Status: Incomplete cross-engine support

The animation-timeline, scroll-timeline, and view-timeline CSS properties advance animations based on the user's scroll position.

Chrome 115
Firefox
Safari 26
Edge 115
Status: Incomplete cross-engine support
← Previous Page 8 of 15 (429 features) Next →