BASELINE NowYouCanUse.com
Web Platform Baseline Status Breakdown Total Features: 1198
Search:
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

Anchor positioning places an element based on the position of another element. For example, you can place a tooltip next to the content it references.

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

The <select> element's appearance, including the button, selected option, picker dropdown, and options, can be customized using CSS.

Chrome 135
Firefox
Safari 27
Edge 135
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 service worker install event's addRoutes method declares resource paths that should either be fetched from the network or the cache, to bypass the service worker and improve performance.

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

The OTPCredential API represents a one-time-password (OTP).

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

The ariaNotify() method of Element and Document requests assistive technology software, if activated, to announce a message to the user. This can help make dynamic content changes more accessible to users.

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

The stretch CSS keyword expands a box as needed to fit its contents until the maximum size is reached, without preserving the content's preferred aspect ratio.

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

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.

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

The attr() CSS function, in the context of any property, returns the value of an attribute of an HTML element, with the option to return it as a specific type or unit. You can set a default value for missing or invalid attributes.

Chrome 133
Firefox 155
Safari
Edge 133
Status: Incomplete cross-engine support

The Connection-Allowlist HTTP response header limits which requests a page may initiate using fetch and other APIs.

Chrome 152
Firefox
Safari
Edge 152
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
Limited

The window-drag: move CSS declaration sets an element as a window drag handle, like a device's app title bar. You can use this to add click-and-drag areas to an installed progressive web app, often alongside window controls overlay.

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

An interaction-contentful-paint performance entry measures the duration of an interaction that causes one or more contentful paints. You can use it to measure LCP for soft navigations in single page apps.

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

A soft-navigation performance entry measures the duration of a soft navigation in a single page app. A soft navigation is defined as when a trusted user interaction causes a URL update and a visible contentful paint to the screen.

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

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.

Chrome 151
Firefox 153
Safari
Edge 151
Status: Incomplete cross-engine support

The getAllRecords() method of IDBObjectStore and IDBIndex return records and their primary keys from an IndexedDB store or index. The records can be read in batches and in reverse order. The getAllRecords() methods speed up read operations on large datasets.

Chrome 141
Firefox 153
Safari
Edge 141
Status: Incomplete cross-engine support

The picture-in-picture API allow websites to create a floating, always-on-top video window. Also known as PiP or pop-out video.

Chrome 69
Firefox 153
Safari 13.1
Edge 79
Status: Incomplete cross-engine support

Module import … with { type: "text" } statements load text data as a string value.

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

The <template for="…"> HTML element replaces the content at a named range or insertion point, marked by the processing instructions <?start name="…"> and <?end> or <?marker name="…">. You can use this to stream or "patch" partial updates into the document out of order.

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

An HTML processing instruction is text enclosed by <? and >, which marks a target for further processing. They may appear anywhere in a document. They are ignored like comments when they're not recognized for a specific purpose.

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

The loading="lazy" attribute for <video> and <audio> elements defers loading the media resource until the element is near the viewport. This matches the lazy-loading behavior for <img> and <iframe> elements.

Chrome 150
Firefox
Safari
Edge 150
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 background-clip: border-area CSS declaration draws the background underneath only the border of an element.

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

The url() CSS function accepts a cross-origin() modifier to control cross-origin resource sharing (CORS) when requesting the URL. For example, url("https://example.com" cross-origin(anonymous))) does not send credentials to the URL.

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

The flex-wrap: balance CSS declaration distributes items in a multi-line flex container such that each line has about the same number of items.

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

The url() CSS function accepts an integrity() modifier to use subresource integrity to verify the response from the requested URL.

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

The url() CSS function accepts a referrer-policy() modifier to choose which referrer to send when requesting the URL. For example, `url("https://example.com" referrer-policy(no-referrer)) does not send a referrer to the URL.

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

The text-fit CSS property scales text to fill the inline size of its container. You can use this to grow or shrink headlines, captions, or pull quotes to fit a container.

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

The column-rule and row-rule CSS properties display decorative lines between columns and rows of a flex, grid, or multi-column layout. The rule-break, rule-outset, and rule-paint-order properties control the appearance of these lines.

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

The migrate_to and migrate_from web app manifest members move an installed app from one origin to another, within the same site. They preserve the user's installation settings on the device, like shortcuts.

Chrome 149
Firefox
Safari
Edge 149
Status: Incomplete cross-engine support
Page 1 of 15 (429 features) Next →