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 30 of 646 features

2024

9 features
• March 2024
Widely Available

The Object.groupBy() and Map.groupBy() static methods group values of arrays and iterables based on a function that returns a key for each value.

Chrome 117
Firefox 119
Safari 17.4
Edge 117
Baseline Date: Mar 5, 2024

The i32.add, i32.sub, i32.mul, i64.add, i64.sub, and i64.mul operations extend constant expressions to include arithmetic.

Chrome 114
Firefox 112
Safari 17.4
Edge 114
Baseline Date: Mar 5, 2024

The Promise.withResolvers() static method is an alternative to the Promise() constructor that returns both the promise and resolution functions. You can use this to access resolve and reject outside the scope of the executor function.

Chrome 119
Firefox 121
Safari 17.4
Edge 119
Baseline Date: Mar 5, 2024

The transfer() and transferToFixedLength() methods of ArrayBuffer move a buffer from one context to another (for example, to a worker).

Chrome 114
Firefox 122
Safari 17.4
Edge 114
Baseline Date: Mar 5, 2024
Widely Available

The checkVisibility() method checks if an element is potentially visible, with optional parameters for the kinds of visibility to check. For example, it checks whether the element has the style display: none, but can also check for visibility: hidden.

Chrome 105
Firefox 106
Safari 17.4
Edge 105
Baseline Date: Mar 5, 2024
• 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
• January 2024
Widely Available

AVIF (AV1 Image File Format) is an image format based on the AV1 video format.

Chrome 85
Firefox 113
Safari 16.4
Edge 121
Baseline Date: Jan 25, 2024
Widely Available

The Array.fromAsync() static method copies items from an async iterable object to make a new array.

Chrome 121
Firefox 115
Safari 16.4
Edge 121
Baseline Date: Jan 25, 2024

The rect() CSS function creates a rectangle shape with insets from the edges of an element. The xywh() CSS function creates a rectangle shifted by an x and y distance. They can be used with clip-path and shape-outside.

Chrome 119
Firefox 122
Safari 17.2
Edge 119
Baseline Date: Jan 23, 2024

2023

21 features
• December 2023
Widely Available

The :has() CSS functional pseudo-class matches an element if any of the selectors passed as parameters would match at least one element.

Chrome 105
Firefox 121
Safari 15.4
Edge 105
Baseline Date: Dec 19, 2023

The loading="lazy" attribute for <img> and <iframe> elements blocks loading the external resource until the user scrolls to that element's part of the page.

Chrome 77
Firefox 121
Safari 16.4
Edge 79
Baseline Date: Dec 19, 2023
Widely Available

The reset() method clears a canvas to its initial state.

Chrome 99
Firefox 113
Safari 17.2
Edge 99
Baseline Date: Dec 11, 2023
Widely Available

CSS nesting allows for shorter selectors, easier reading, and more modularity by nesting rules inside others.

Chrome 120
Firefox 117
Safari 17.2
Edge 120
Baseline Date: Dec 11, 2023
Widely Available

The imagesrcset and imagesizes attributes with the rel="preload" attribute for the <link> HTML element starts fetching responsive images before they're found in the body of the document.

Chrome 73
Firefox 78
Safari 17.2
Edge 79
Baseline Date: Dec 11, 2023
Widely Available

The cap CSS length unit corresponds to the height of Latin capital letters.

Chrome 118
Firefox 97
Safari 17.2
Edge 118
Baseline Date: Dec 11, 2023
Widely Available

The counter-set CSS property creates (and optionally sets a value for) a counter, the numbers for a series of headings or ordered list items.

Chrome 85
Firefox 68
Safari 17.2
Edge 85
Baseline Date: Dec 11, 2023
Widely Available

The createImageBitmap() global method creates an ImageBitmap object from a source such as an image, SVG, blob, or canvas. An ImageBitmap object represents pixel data that can be drawn to a canvas with lower latency than other types, such as ImageData.

Chrome 59
Firefox 98
Safari 17.2
Edge 79
Baseline Date: Dec 11, 2023
Widely Available

The linear() easing function for animations and transitions interpolates linearly between the control points, and can be used to approximate complex easing functions, such as a bounce effect.

Chrome 113
Firefox 112
Safari 17.2
Edge 113
Baseline Date: Dec 11, 2023
Widely Available

The preservesPitch property for <audio> or <video> adjusts the pitch of audio to sound more natural when the playback rate is faster or slower than the default.

Chrome 86
Firefox 101
Safari 17.2
Edge 86
Baseline Date: Dec 11, 2023
Widely Available

The :dir() CSS functional pseudo-class matches elements by text direction, either right to left (rtl) or left to right (ltr).

Chrome 120
Firefox 49
Safari 16.4
Edge 120
Baseline Date: Dec 7, 2023
Widely Available

The pow(), sqrt(), hypot(), log(), and exp() CSS functions compute various exponential functions.

Chrome 120
Firefox 118
Safari 15.4
Edge 120
Baseline Date: Dec 7, 2023

The mask CSS property (and several longhand properties) partially or completely hides an element according to the shape and depth of an image.

Chrome 120
Firefox 53
Safari 15.4
Edge 120
Baseline Date: Dec 7, 2023
Widely Available

The URL.canParse() static method checks whether a URL can be parsed into a valid URL object. It's an alternative to calling new URL() in a try … catch statement.

Chrome 120
Firefox 115
Safari 17
Edge 120
Baseline Date: Dec 7, 2023

The scripting CSS media query sets styles based on whether scripting such as JavaScript is available. Values are enabled if scripting is available, initial-only if scripting is only available on page load (for example, printed content), or none.

Chrome 120
Firefox 113
Safari 17
Edge 120
Baseline Date: Dec 7, 2023
Widely Available

The document.requestStorageAccess() method allows content in iframes to request storing and reading cookies and other site data, while the document.hasStorageAccess() method checks if such access is granted.

Chrome 119
Firefox 65
Safari 11.1
Edge 85
Baseline Date: Dec 5, 2023
• November 2023
Widely Available

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.

Chrome 72
Firefox 120
Safari 16.4
Edge 79
Baseline Date: Nov 21, 2023
Widely Available

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.

Chrome 109
Firefox 120
Safari 16.4
Edge 109
Baseline Date: Nov 21, 2023
Widely Available

The rlh CSS length unit is a font-relative length relative to the line height of root element.

Chrome 111
Firefox 120
Safari 16.4
Edge 111
Baseline Date: Nov 21, 2023

The :user-valid and :user-invalid pseudo-classes match form controls that have been marked as valid or invalid based on their validation constraints.

Chrome 119
Firefox 88
Safari 16.5
Edge 119
Baseline Date: Nov 2, 2023

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.

Chrome 119
Firefox 54
Safari 13.1
Edge 119
Baseline Date: Nov 2, 2023
Page 1 of 22 (646 features) Next →