BASELINE NowYouCanUse.com
Web Platform Baseline Status Breakdown Total Features: 1191
Search: Reset ×
Categories: All CSS (101) HTML elements (98) Selectors (46) JavaScript (43) Forms (40)
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) Internationalization (9) Reporting (9) Text wrap (9) Clipboard (8) Workers (8) Containment (7) DOM (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) 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) Container queries (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) 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) Geolocation (2) IndexedDB (2) Parsing and serialization (2) Resource integrity (2) Sets (2) Text fragments (2) WebMCP (2) CSS environment variables (1)
Showing 11 of 11 features

2025

1 features
• August 2025

The window.getSelection().getComposedRanges() method returns ranges that represent the current user selection, even if the selection spans across shadow tree boundaries.

Chrome 137
Firefox 142
Safari 17
Edge 137
Baseline Date: Aug 19, 2025

2024

1 features
• February 2024
Widely Available

The shadowrootmode attribute on <template> creates a shadow root without the use of JavaScript. It is a declarative alternative to the attachShadow() method.

Chrome 111
Firefox 123
Safari 16.4
Edge 111
Baseline Date: Feb 20, 2024

2023

1 features
• March 2023

The assign() method for <slot> elements assigns nodes to the slot, as an alternative to using the slot and name HTML attributes. The nodes must be children of a shadow host and the shadow root must be created with the slotAssignment set to "manual". Also known as manual slot assignment.

Chrome 92
Firefox 92
Safari 16.4
Edge 92
Baseline Date: Mar 27, 2023

2020

4 features
• July 2020
Widely Available

The part and exportparts HTML attributes expose elements of a shadow DOM as named parts, which can be selected by the ::part() CSS pseudo-element for styling.

Chrome 73
Firefox 72
Safari 13.1
Edge 79
Baseline Date: Jul 28, 2020
• January 2020
Widely Available

The <slot> HTML element is a placeholder inside a web component where consumers of the component can insert their own markup.

Chrome 53
Firefox 63
Safari 10
Edge 79
Baseline Date: Jan 15, 2020
Widely Available

The :host CSS pseudo-class selects the containing element of the shadow tree in which it is used. The :host() CSS pseudo-class selects the that element only if it matches the provided selector.

Chrome 54
Firefox 63
Safari 10
Edge 79
Baseline Date: Jan 15, 2020
Widely Available

Shadow DOM allows you to attach encapsulated "shadow" DOM trees to elements. A shadow DOM tree is a separate component, isolated from the scripts and styles in other parts of the document. This is a part of Web Components.

Chrome 53
Firefox 63
Safari 10
Edge 79
Baseline Date: Jan 15, 2020

2015

1 features
• November 2015
Widely Available

The <template> HTML element holds HTML fragments which you can clone and insert into the document using JavaScript.

Chrome 26
Firefox 22
Safari 8
Edge 13
Baseline Date: Nov 12, 2015

Limited Availability

3 features
• In Progress / Not Yet Baseline

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.

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

The :host-context() CSS pseudo-class selects the containing element of the shadow tree in which it is used if that element or an ancestor matches the provided selector.

Chrome 54
Firefox
Safari
Edge 79
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