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 428 features

Limited Availability

30 features
• In Progress / Not Yet Baseline
Limited

The navigator.keyboard.lock() API allows you to capture keys that are normally reserved by the operating system. It can be used to provide an immersive fullscreen experience such as games.

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

The navigator.keyboard.getLayoutMap() API returns a map from key codes to human readable key names. It can be used to describe buttons to the user when using the keyboard as a set of buttons, such as in games.

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

The LanguageDetector API identifies the likely natural language that some text is written in. You can use this API to supplement machine translation when the source source language is not known.

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

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

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

The launch_handler web app manifest member, with the client_mode property, configure how web app launches behave when an instance of the app is already open. For example, you can choose to focus the existing app instance instead of launching a new one.

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

WebXR layer types, such as XRCylinderLayer, XRCylinderLayer, XREquirectLayer, XRProjectionLayer or XRQuadLayer, are managed by the system compositor, to reduce latency or resampling.

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

The layout-shift performance entry and LayoutShift API measures the layout stability of web pages based on movements of the elements on the page. They're used to calculate Cumulative Layout Shift (CLS), a common metric for perceived stability.

Chrome 84
Firefox
Safari
Edge 84
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 XRLightProbe and XRLightEstimate objects represent real-world environmental lighting conditions during a WebXR session.

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

The window.queryLocalFonts() method returns an array of locally-installed fonts, each represented by a FontData object.

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

The "local-network-access" user permission (and certain actions that imply this permission, such as a fetch() request with { targetAddressSpace: "local" }) allows a site to send requests to servers on a user's local network.

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

The long-animation-frame performance event type and the PerformanceLongAnimationFrameTiming API provide information about rendering updates that take longer than 50 milliseconds. Also known as LoAFs.

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

The longtask performance event type and the PerformanceLongTaskTiming API provides information about tasks that occupy the UI thread for 50 milliseconds or more, a metric for input latency, delayed animations, and other sources of "jank."

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

The Magnetometer API reads magnetic field sensor data from the device's magnetometer.

Chrome
Firefox
Safari
Edge
Status: Incomplete cross-engine support

The ManagedMediaSource API is a MediaSource where the browser manages the memory of source buffers and may evict data if needed.

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

The display: grid-lanes or display: inline-grid-lanes CSS declaration creates a layout where items are tightly packed, like brickwork, in parallel lanes. Items are placed one by one in the lane that has the most available space.

Chrome
Firefox
Safari
Edge
Status: Incomplete cross-engine support

MathML specifies several elements and attributes that are not included in MathML Core. Math applications outside of browsers may implement these features, but they are discouraged for web use.

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

The navigator.mediaSession API integrates with platform UI for media playback. It can be used to set metadata such as title and artwork, and to handle user actions like playing, pausing, or seeking.

Chrome 73
Firefox 82
Safari 15
Edge 79
Status: Incomplete cross-engine support
Limited

The MediaSource API is a custom data source for media elements commonly used for adaptive streaming. Also known as Media Source Extensions (MSE).

Chrome 31
Firefox 42
Safari 8
Edge 12
Status: Incomplete cross-engine support
Limited

The playback of multiple <video> or <audio> elements can be coordinated by a MediaController instance, for example to synchronize a sign-language interpreter track with the main video track.

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

The measureUserAgentSpecificMemory() method estimates the memory usage of a web application including all its iframes and workers.

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

Instructions accept 64-bit memory indexes.

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

A single module in WebAssembly can have multiple memories.

Chrome 120
Firefox 125
Safari
Edge 120
Status: Incomplete cross-engine support

Mutation events like DOMSubtreeModified, DOMNodeInserted, or DOMNodeRemoved fire when DOM changes occur.

Chrome
Firefox
Safari
Edge
Status: Incomplete cross-engine support

The precommitHandler callback option to NavigateEvent's intercept() method returns a promise that defers navigation until the promise resolves. You can use this to change the navigation's URL, state, and history before navigation occurs.

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

The confidence property of a navigation timing entry describes whether the navigation metric is likely to be representative the page's performance (high confidence) or affected by transient conditions, such as browser startup (low confidence).

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

The navigator.connection API provides information about the network connection a device is using and fires events when the connection type changes.

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

The Notification() constructor shows a message to the user, typically using the notification system of the host operating system.

Chrome 20
Firefox 22
Safari 7
Edge 14
Status: Incomplete cross-engine support
← Previous Page 6 of 15 (428 features) Next →