- Filters:
- Newly available
- Widely available
- Limited availability
- One missing engine
- Discouraged
- All features
- Browser releases:
- Chrome 141
- Chrome Android 141
- Edge
- Firefox 143
- Firefox for Android 143
- Safari 26
- Safari on iOS 26
Features implemented only in Chromium
The following features are only implemented in Chromium.
-
Accelerometer
Limited availabilityThe
Accelerometer
,LinearAccelerationSensor
andGravitySensor
APIs read the acceleration applied to a device in three dimensions, either including the effect of gravity, without its effect, or only its effect, respectively.- Chrome 91 Released on 2021-05-25
- Chrome Android 91 Released on 2021-05-25
- Edge 91 Released on 2021-05-27
- Firefox ❌
- Firefox for Android ❌
- Safari ❌ Vendor position : oppose (concerns: duplication, privacy, venue, use cases, power, device independence)
- Safari on iOS ❌ Vendor position : oppose (concerns: duplication, privacy, venue, use cases, power, device independence)
-
File handlers
Limited availabilityThe
file_handlers
web app manifest member registers an installed web app as a handler for files with specific file extensions or MIME types.- Chrome 102 Released on 2022-05-24
- Chrome Android ❌
- Edge 102 Released on 2022-05-31
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Launch handler
Limited availabilityThe
launch_handler
web app manifest member, with theclient_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 Released on 2023-02-07
- Chrome Android ❌
- Edge 110 Released on 2023-02-09
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Protocol handlers
Limited availabilityThe
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 Released on 2021-11-15
- Chrome Android ❌
- Edge 96 Released on 2021-11-19
- Firefox ❌ Vendor position : defer
- Firefox for Android ❌ Vendor position : defer
- Safari ❌
- Safari on iOS ❌
-
Attribution reporting
Limited availabilityThe Attribution Reporting API measures when an ad click or view leads to a conversion, such as a purchase on an advertiser site.
- Chrome 133 Released on 2025-02-04
- Chrome Android 133 Released on 2025-02-04
- Edge 133 Released on 2025-02-06
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown (concerns: interoperability, venue)
- Safari on iOS ❌ Vendor position : unknown (concerns: interoperability, venue)
-
Background fetch
Limited availabilityBackground fetch downloads data in the background even when the web page is closed.
- Chrome 74 Released on 2019-04-23
- Chrome Android 74 Released on 2019-04-24
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown (concerns: privacy, maintenance)
- Safari on iOS ❌ Vendor position : unknown (concerns: privacy, maintenance)
-
Background sync
Limited availabilityThe background synchronization API registers a service worker callback to run only when the device is no longer offline. You can use this to let users continue using your app while offline and synchronize with a server after reconnecting.
- Chrome 49 Released on 2016-03-02
- Chrome Android 49 Released on 2016-03-09
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌
- Safari on iOS ❌
-
Barcode detector
Limited availabilityThe
BarcodeDetector
API recognizes various barcode formats in images.- Chrome ❌
- Chrome Android 83 Released on 2020-05-19
- Edge ❌
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Battery status
Limited availabilityThe
navigator.getBattery()
API obtains information about the device's battery, including charge level and status. Also known as the Battery API.- Chrome 38 Released on 2014-10-07
- Chrome Android 38 Released on 2014-10-08
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
beforeinstallprompt
Limited availabilityThe
beforeinstallprompt
event fires when a Progressive Web App (PWA) is installable. You can cancel the event and later callevent.prompt()
to control when the installation prompt is shown. Theappinstalled
event fires when the PWA is successfully installed.- Chrome 76 Released on 2019-07-30
- Chrome Android 76 Released on 2019-07-30
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Back/forward cache blocking reasons
Limited availabilityThe
notRestoredReasons
property of aPerformanceNavigationTiming
object explains why the current document was blocked from using the back/forward cache (also known as the bfcache) on navigation.- Chrome 125 Released on 2024-05-14
- Chrome Android 125 Released on 2024-05-14
- Edge 125 Released on 2024-05-17
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
calc-size()
Limited availabilityThe
calc-size()
CSS function computes mathematical expressions that includeheight
andwidth
keyword values, for examplecalc-size(fit-content, size / 2)
. Not to be confused with thecalc()
CSS function, which cannot use keyword values.- Chrome 129 Released on 2024-09-17
- Chrome Android 129 Released on 2024-09-17
- Edge 129 Released on 2024-09-19
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
captureStream() for <audio> and <video>
Limited availabilityThe
captureStream()
method for<audio>
and<video>
elements returns aMediaStream
for the media element's content. You can use this to record media or send it elsewhere, such as a canvas or WebRTC connection.- Chrome 62 Released on 2017-10-17
- Chrome Android 62 Released on 2017-10-24
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Custom formats for clipboard items
Limited availabilityThe
web
prefix forClipboardItem
data types (also known as MIME types) allows reading and writing ununsanitized custom data from the device clipboard.- Chrome 104 Released on 2022-08-02
- Chrome Android 104 Released on 2022-08-02
- Edge 104 Released on 2022-08-05
- Firefox ❌
- Firefox for Android ❌
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
SVG clipboard items
Limited availabilityThe
image/svg+xml
data type (also known as the MIME type) forClipboardItem
objects represents SVG data written to or read from the clipboard.- Chrome 124 Released on 2024-04-16
- Chrome Android 124 Released on 2024-04-16
- Edge 124 Released on 2024-04-18
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌
- Safari on iOS ❌
-
Read unsanitized clipboard data
Limited availabilityThe optional
formats.unsanitized
parameter of thenavigator.clipboard.read()
method reads unsanitizedtext/html
data from the system clipboard.- Chrome 122 Released on 2024-02-20
- Chrome Android 122 Released on 2024-02-20
- Edge 122 Released on 2024-02-23
- Firefox ❌ Vendor position : neutral
- Firefox for Android ❌ Vendor position : neutral
- Safari ❌
- Safari on iOS ❌
-
CloseWatcher
Limited availabilityThe
CloseWatcher
API listens and responds to close requests on in-page components, such as modals, popovers, and sidebars.- Chrome 126 Released on 2024-06-11
- Chrome Android 126 Released on 2024-06-11
- Edge 126 Released on 2024-06-13
- Firefox ❌
- Firefox for Android ❌
- Safari ❌ Vendor position : neutral
- Safari on iOS ❌ Vendor position : neutral
-
Column breaks
Limited availabilityIn columnar layouts (created by the
columns
orcolumn-count
CSS properties), thebreak-after
,break-before
,break-inside
properties control where columns start or end.- Chrome 102 Released on 2022-05-24
- Chrome Android 102 Released on 2022-05-24
- Edge 102 Released on 2022-05-31
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
::column
Limited availabilityThe
::column
CSS pseudo-element represents the individual columns of a multi-column layout container. Columns can only be styled with scroll snap CSS properties and can also have a::scroll-marker
pseudo-element, which scrolls to the column when activated.- Chrome 135 Released on 2025-04-01
- Chrome Android 135 Released on 2025-04-01
- Edge 135 Released on 2025-04-04
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Compression Dictionary Transport
Limited availabilityCompression Dictionary Transport is a mechanism for using designated HTTP responses as an external dictionary for future HTTP responses for compression schemes that support using external dictionaries (e.g., Brotli and Zstandard)
- Chrome 130 Released on 2024-10-15
- Chrome Android 130 Released on 2024-10-15
- Edge 130 Released on 2024-10-17
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
CPU compute pressure
Limited availabilityThe
PressureObserver
API monitors CPU load, allowing you to adjust workloads in response to available computing resources. Also known as the Compute Pressure API.- Chrome 125 Released on 2024-05-14
- Chrome Android ❌
- Edge 125 Released on 2024-05-17
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : oppose (concerns: privacy, device independence)
- Safari on iOS ❌ Vendor position : oppose (concerns: privacy, device independence)
-
Contact picker
Limited availabilityThe
navigator.contacts
API allows you to ask users to share limited details about entries in their contact list with your application.- Chrome ❌
- Chrome Android 80 Released on 2020-02-04
- Edge ❌
- Firefox ❌ Vendor position : defer
- Firefox for Android ❌ Vendor position : defer
- Safari ❌
- Safari on iOS ❌
-
Container scroll-state queries
Limited availabilityContainer scroll-state queries with the
@container scroll-state(...)
at-rule apply styles to an element based on the sticky positioning, snapped, and scrollable state of the container.- Chrome 133 Released on 2025-02-04
- Chrome Android 133 Released on 2025-02-04
- Edge 133 Released on 2025-02-06
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Content Index
Limited availabilityThe Content Index API allows developers to register their offline enabled content with the browser.
- Chrome ❌
- Chrome Android 84 Released on 2020-07-27
- Edge ❌
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
controlslist
Limited availabilityThe
controlslist
attribute for<audio>
or<video>
hides parts of the browser's built-in controls. For example,controlslist="nofullscreen"
removes the button to play the video in fullscreen.- Chrome 58 Released on 2017-04-19
- Chrome Android 58 Released on 2017-04-25
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌
- Safari on iOS ❌
-
corner-shape
Limited availabilityThe
corner-shape
CSS property sets the shape of an element's corners when usingborder-radius
, allowing for shapes other than rounded corners. For example,corner-shape: squircle
is a shape in between a square and rounded corner.- Chrome 139 Released on 2025-08-05
- Chrome Android 139 Released on 2025-08-05
- Edge 139 Released on 2025-08-07
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : support
- Safari on iOS ❌ Vendor position : support
-
CSS import attributes
Limited availabilityModule
import … with { type: "css" }
statements load CSS modules as constructable stylesheets. Also known as CSS module scripts.- Chrome 123 Released on 2024-03-19
- Chrome Android 123 Released on 2024-03-19
- Edge 123 Released on 2024-03-22
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : support
- Safari on iOS ❌ Vendor position : support
-
Customizable <select>
Limited availabilityThe
<select>
element's appearance, including the button, selected option, picker dropdown, and options, can be customized using CSS.- Chrome 135 Released on 2025-04-01
- Chrome Android 135 Released on 2025-04-01
- Edge 135 Released on 2025-04-04
- Firefox ❌ Vendor position : positive (concerns: compatibility)
- Firefox for Android ❌ Vendor position : positive (concerns: compatibility)
- Safari ❌ Vendor position : support
- Safari on iOS ❌ Vendor position : support
-
Device memory
Limited availabilityThe
navigator.deviceMemory
property is the approximate amount of device memory, in gigabytes.- Chrome 65 Released on 2018-03-06
- Chrome Android 65 Released on 2018-03-06
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Device posture
Limited availabilityThe device posture API and the
device-posture
CSS media feature reflect the physical posture of a device, such as whether a foldable device is folded or unfolded.- Chrome 132 Released on 2025-01-14
- Chrome Android 132 Released on 2025-01-14
- Edge 132 Released on 2025-01-17
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
Digital goods
Limited availabilityThe
window.getDigitalGoodsService
API connects to stores or billing services for in-app products and subscriptions.- Chrome ❌
- Chrome Android 101 Released on 2022-04-26
- Edge 134 Released on 2025-03-06
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
display-mode media query
Limited availabilityThe
display-mode
CSS media query sets styles based on whether the web page is infullscreen
,standalone
,minimal-ui,
browser
, orpicture-in-picture
mode.- Chrome 123 Released on 2024-03-19
- Chrome Android ❌
- Edge 123 Released on 2024-03-22
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Document picture-in-picture
Limited availabilityThe document picture-in-picture API creates an always-on-top window from arbitrary HTML content.
- Chrome 130 Released on 2024-10-15
- Chrome Android ❌
- Edge 130 Released on 2024-10-17
- Firefox ❌ Vendor position : positive (concerns: device independence)
- Firefox for Android ❌ Vendor position : positive (concerns: device independence)
- Safari ❌ Vendor position : unknown (concerns: portability, device independence)
- Safari on iOS ❌ Vendor position : unknown (concerns: portability, device independence)
-
EditContext
Limited availabilityThe
EditContext
API allows you to build rich text editors that support advanced text input, such as Input Method Editor (IME) composition, an emoji picker, or other platform-specific editing UI.- Chrome 121 Released on 2024-01-23
- Chrome Android 121 Released on 2024-01-23
- Edge 121 Released on 2024-01-25
- Firefox ❌ Vendor position : positive (concerns: compatibility, accessibility)
- Firefox for Android ❌ Vendor position : positive (concerns: compatibility, accessibility)
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
Element capture
Limited availabilityThe
restrictTo()
method on screen capture media tracks limits capture to a specific element, excluding content which might occlude the element itself, such as video conferencing controls.- Chrome 132 Released on 2025-01-14
- Chrome Android ❌
- Edge 132 Released on 2025-01-17
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌
- Safari on iOS ❌
-
Element timing
Limited availabilityThe
element
performance entry and thePerformanceElementTiming
API measures the time to render elements that have theelementtiming
attribute.- Chrome 77 Released on 2019-09-10
- Chrome Android 77 Released on 2019-09-10
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
Eyedropper
Limited availabilityThe
EyeDropper
API opens an eyedropper tool, a color picker that allows users to select a color from their screen.- Chrome 96 Released on 2021-11-15
- Chrome Android ❌
- Edge 96 Released on 2021-11-19
- Firefox ❌ Vendor position : unknown (concerns: integration, API design)
- Firefox for Android ❌ Vendor position : unknown (concerns: integration, API design)
- Safari ❌ Vendor position : unknown (concerns: API design, maintenance)
- Safari on iOS ❌ Vendor position : unknown (concerns: API design, maintenance)
-
Federated credential management
Limited availabilityThe
IdentityCredential
API delegates authentication to a third-party identity provider, instead of using third-party cookies. Also known as FedCM.- Chrome 116 Released on 2023-08-15
- Chrome Android 116 Released on 2023-08-15
- Edge 116 Released on 2023-08-21
- Firefox ❌ Vendor position : neutral
- Firefox for Android ❌ Vendor position : neutral
- Safari ❌
- Safari on iOS ❌
-
Federated credentials
Limited availabilityThe
FederatedCredential
API represents the details required to authenticate a user using a third-party identity provider. Not to be confused with federated credential management (FedCM).- Chrome 51 Released on 2016-05-25
- Chrome Android 51 Released on 2016-06-08
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
<fencedframe>
Limited availabilityThe
<fencedframe>
element embeds another HTML page into the current page in a more secure and privacy-preserving way than<iframe>
elements.- Chrome 126 Released on 2024-06-11
- Chrome Android 126 Released on 2024-06-11
- Edge 126 Released on 2024-06-13
- Firefox ❌ Vendor position : negative (concerns: complexity, privacy, security, use cases)
- Firefox for Android ❌ Vendor position : negative (concerns: complexity, privacy, security, use cases)
- Safari ❌ Vendor position : blocked
- Safari on iOS ❌ Vendor position : blocked
-
fetchLater
Limited availabilityThe
fetchLater()
method requests a deferred fetch sent at an unknown time. The browser chooses a reliable time to send the request, ideally when the document is unloaded, and ignores the response. This API is useful for sending beacons to a server without expecting a particular response.- Chrome 135 Released on 2025-04-01
- Chrome Android 135 Released on 2025-04-01
- Edge 135 Released on 2025-04-04
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : support (concerns: complexity, privacy, integration, venue, API design, maintenance)
- Safari on iOS ❌ Vendor position : support (concerns: complexity, privacy, integration, venue, API design, maintenance)
-
field-sizing
Limited availabilityThe
field-sizing
CSS property allows form controls such as<textarea>
to be sized based on their content.- Chrome 123 Released on 2024-03-19
- Chrome Android 123 Released on 2024-03-19
- Edge 123 Released on 2024-03-22
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : support
- Safari on iOS ❌ Vendor position : support
-
File system access
Limited availabilityThe
showOpenFilePicker()
,showDirectoryPicker()
, andshowSaveFilePicker()
methods request access to files and directories on the user's device and returns a handle for reading and writing to them.- Chrome 86 Released on 2020-10-20
- Chrome Android 132 Released on 2025-01-14
- Edge 86 Released on 2020-10-09
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌ Vendor position : oppose (concerns: security)
- Safari on iOS ❌ Vendor position : oppose (concerns: security)
-
Math font family
Limited availabilityThe
font-family: math
CSS declaration uses the browser default font face for displaying mathematical expressions.- Chrome 109 Released on 2023-01-10
- Chrome Android 109 Released on 2023-01-10
- Edge 109 Released on 2023-01-12
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
font-palette animation
Limited availabilityYou can animate color fonts between two
font-palette
values.- Chrome 121 Released on 2024-01-23
- Chrome Android 121 Released on 2024-01-23
- Edge 121 Released on 2024-01-25
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
@function
Limited availabilityThe
@function
CSS at-rule defines a custom function that takes CSS values or custom properties as arguments, and returns a CSS value. It can be based on conditional logic such as by using the@media
at-rule.- Chrome 139 Released on 2025-08-05
- Chrome Android 139 Released on 2025-08-05
- Edge 139 Released on 2025-08-07
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
IndexedDB getAllRecords()
Limited availabilityThe
getAllRecords()
method ofIDBObjectStore
andIDBIndex
return records and their primary keys from an IndexedDB store or index. The records can be read in batches and in reverse order. ThegetAllRecords()
methods speed up read operations on large datasets.- Chrome 141 Released on 2025-09-30
- Chrome Android 141 Released on 2025-09-30
- Edge ❌
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Gyroscope
Limited availabilityThe
Gyroscope
API reads the angular velocity of a device in three dimensions.- Chrome 67 Released on 2018-05-29
- Chrome Android 67 Released on 2018-05-31
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌ Vendor position : oppose (concerns: duplication, privacy, venue, use cases, power, device independence)
- Safari on iOS ❌ Vendor position : oppose (concerns: duplication, privacy, venue, use cases, power, device independence)
-
Custom highlights from point
Limited availabilityThe
CSS.highlights.highlightsFromPoint()
method returns an array ofHighlight
objects at a specified point.- Chrome 140 Released on 2025-09-02
- Chrome Android 140 Released on 2025-09-02
- Edge 140 Released on 2025-09-05
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
:host-context()
DiscouragedThe
: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 Released on 2016-10-12
- Chrome Android 54 Released on 2016-10-19
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Idle detection
Limited availabilityThe
IdleDetector
API is used to notify a webpage of the user's idle, active, and locked state.- Chrome 94 Released on 2021-09-21
- Chrome Android 94 Released on 2021-09-21
- Edge 114 Released on 2023-06-02
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌
- Safari on iOS ❌
-
if()
Limited availabilityThe
if()
CSS function is an inline conditional value that returns a value based on a set of conditions.- Chrome 137 Released on 2025-05-27
- Chrome Android 137 Released on 2025-05-27
- Edge 137 Released on 2025-05-29
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
Credentialless iframes
Limited availabilityThe
credentialless
attribute for the<iframe>
HTML element loads third-party content in an ephemeral context and does not send any credentials such as cookies. When using cross-origin isolation, this allows you to embed content that does not sendCross-Origin-Embedder-Policy
headers.- Chrome 110 Released on 2023-02-07
- Chrome Android 110 Released on 2023-02-07
- Edge 110 Released on 2023-02-09
- Firefox ❌ Vendor position : unknown (concerns: venue)
- Firefox for Android ❌ Vendor position : unknown (concerns: venue)
- Safari ❌
- Safari on iOS ❌
-
initial-letter
Limited availabilityThe
initial-letter
CSS property sets the number of lines the first letter of an element occupies. You can use the property to make a raised capital or drop cap.- Chrome 110 Released on 2023-02-07
- Chrome Android 110 Released on 2023-02-07
- Edge 110 Released on 2023-02-09
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : support
- Safari on iOS ❌ Vendor position : support
-
Ink
Limited availabilityThe
navigator.ink
API uses the system compositor to draw to a<canvas>
element ahead of pointer events, reducing the delay between moving a stylus or cursor and a pen stroke appearing on screen.- Chrome 94 Released on 2021-09-21
- Chrome Android 94 Released on 2021-09-21
- Edge 93 Released on 2021-09-02
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌
- Safari on iOS ❌
-
interactivity
Limited availabilityThe
interactivity: inert
CSS declaration makes an element and its descendants inert, like when using theinert
HTML attribute. Inert elements can't be focused or clicked, their text can't be selected or found using the browser's find-in-page feature.- Chrome 135 Released on 2025-04-01
- Chrome Android ❌
- Edge 135 Released on 2025-04-04
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
interpolate-size
Limited availabilityThe
interpolate-size
CSS property sets whether animations and transitions interpolate between a numeric value and a keyword value, such as from a fixed length toauto
orfit-content
.- Chrome 129 Released on 2024-09-17
- Chrome Android 129 Released on 2024-09-17
- Edge 129 Released on 2024-09-19
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
Intersection observer visibility tracking
Limited availabilityThe
trackVisibility
parameter for theIntersectionObserver
constructor enables tracking the visibility of an element, to detect if it may be obscured by other content or visual effects. Also known as IntersectionObserver v2.- Chrome 74 Released on 2019-04-23
- Chrome Android 74 Released on 2019-04-24
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Invoker commands
Limited availabilityThe
command
andcommandfor
attributes for the<button>
HTML element dispatch an action to an element when the button is invoked (by click or keystroke), as a declarative alternative toaddEventListener()
calls oronclick
attribute handlers.- Chrome 135 Released on 2025-04-01
- Chrome Android 135 Released on 2025-04-01
- Edge 135 Released on 2025-04-04
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : support
- Safari on iOS ❌ Vendor position : support
-
isInputPending()
DiscouragedThe
navigator.scheduling.isInputPending()
method checks if there are pending input events, such as touch or mouse events. This allows you to yield from long-running scripts that might be blocking user interaction.- Chrome 87 Released on 2020-11-17
- Chrome Android 87 Released on 2020-11-17
- Edge 87 Released on 2020-11-19
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Keyboard lock
Limited availabilityThe
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 Released on 2018-07-24
- Chrome Android 68 Released on 2018-07-24
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown (concerns: compatibility, internationalization, security, integration, portability, API design, annoyance, device independence, accessibility, dependencies)
- Safari on iOS ❌ Vendor position : unknown (concerns: compatibility, internationalization, security, integration, portability, API design, annoyance, device independence, accessibility, dependencies)
-
Keyboard map
Limited availabilityThe
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 Released on 2018-09-04
- Chrome Android 69 Released on 2018-09-04
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌
- Safari on iOS ❌
-
Layout instability
Limited availabilityThe
layout-shift
performance entry andLayoutShift
API measures the layout stability of web pages based on movements of the elements on the page.- Chrome 84 Released on 2020-07-27
- Chrome Android 84 Released on 2020-07-27
- Edge 84 Released on 2020-07-16
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌
- Safari on iOS ❌
-
<link rel="expect">
Limited availabilityThe
rel="expect"
attribute for the<link>
HTML element is a hint to the browser to block rendering until the element that thehref
value references is connected to the document and fully parsed.- Chrome 124 Released on 2024-04-16
- Chrome Android 124 Released on 2024-04-16
- Edge 124 Released on 2024-04-18
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Local fonts
Limited availabilityThe
window.queryLocalFonts()
method returns an array of locally-installed fonts, each represented by aFontData
object.- Chrome 103 Released on 2022-06-21
- Chrome Android ❌
- Edge 103 Released on 2022-06-23
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Long animation frames
Limited availabilityThe
long-animation-frame
performance event type and thePerformanceLongAnimationFrameTiming
API provide information about rendering updates that take longer than 50 milliseconds. Also known as LoAFs.- Chrome 123 Released on 2024-03-19
- Chrome Android 123 Released on 2024-03-19
- Edge 123 Released on 2024-03-22
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
Long tasks
Limited availabilityThe
longtask
performance event type and thePerformanceLongTaskTiming
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 Released on 2017-04-19
- Chrome Android 58 Released on 2017-04-25
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
Memory measurement
Limited availabilityThe
measureUserAgentSpecificMemory()
method estimates the memory usage of a web application including all its iframes and workers.- Chrome 89 Released on 2021-03-02
- Chrome Android 89 Released on 2021-03-02
- Edge 89 Released on 2021-03-04
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
<meta name="application-title">
Limited availabilityThe
name="application-title"
attribute for the<meta>
HTML element sets an installed web application's title bar text.- Chrome 134 Released on 2025-03-04
- Chrome Android 134 Released on 2025-03-04
- Edge 134 Released on 2025-03-06
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
moveBefore()
Limited availabilityThe
moveBefore()
DOM method relocates a node while preserving its state. For example, you can move the active element without losing focus, move an animated element without resetting the animation, or move an iframe without reloading its content.- Chrome 133 Released on 2025-02-04
- Chrome Android 133 Released on 2025-02-04
- Edge 133 Released on 2025-02-06
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Network Information
Limited availabilityThe
navigator.connection
API provides information about the network connection a device is using and fires events when the connection type changes.- Chrome 67 Released on 2018-05-29
- Chrome Android 67 Released on 2018-05-31
- Edge ❌
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌
- Safari on iOS ❌
-
object-view-box
Limited availabilityThe
object-view-box
CSS property crops and zooms to an inset area of an image.- Chrome 104 Released on 2022-08-02
- Chrome Android 104 Released on 2022-08-02
- Edge 104 Released on 2022-08-05
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Observable
Limited availabilityThe
when()
method on a event target returns anObservable
object, which provides a declarative API for subscribing to and operating on events. It's an alternative toaddEventListener()
callbacks.- Chrome 135 Released on 2025-04-01
- Chrome Android 135 Released on 2025-04-01
- Edge 135 Released on 2025-04-04
- Firefox ❌ Vendor position : unknown (concerns: complexity, venue)
- Firefox for Android ❌ Vendor position : unknown (concerns: complexity, venue)
- Safari ❌ Vendor position : support (concerns: venue)
- Safari on iOS ❌ Vendor position : support (concerns: venue)
-
Orientation Sensor
Limited availabilityThe
AbsoluteOrientationSensor
andRelativeOrientationSensor
APIs describe the physical orientation of a device in three-dimensional space, either in relation to the Earth's coordinate system or in relation to the device's own orientation, respectively.- Chrome 67 Released on 2018-05-29
- Chrome Android 67 Released on 2018-05-31
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌ Vendor position : oppose (concerns: duplication, privacy, venue, use cases, power, device independence)
- Safari on iOS ❌ Vendor position : oppose (concerns: duplication, privacy, venue, use cases, power, device independence)
-
overlay
Limited availabilityThe
overlay
CSS property, used as anallow-discrete
CSS transition, prevents a top layer element, such as a popover or a<dialog>
, from being removed from the top layer before it has finished animating. You can't set the value of theoverlay
property; only use it as transition property.- Chrome 117 Released on 2023-09-12
- Chrome Android 117 Released on 2023-09-12
- Edge 117 Released on 2023-09-15
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
OVR_multiview2 WebGL extension
Limited availabilityThe
OVR_multiview2
extension for WebGL 2.0 contexts renders into multiple views simultaneously. This especially useful for virtual reality (VR) and WebXR.- Chrome ❌
- Chrome Android 93 Released on 2021-08-31
- Edge ❌
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Page break aliases
DiscouragedThe
page-break-before
,page-break-inside
, andpage-break-after
CSS properties are aliases to thebreak-before
,break-inside
, andbreak-after
properties.- Chrome 1 Released on 2008-12-11
- Chrome Android 18 Released on 2012-06-27
- Edge 12 Released on 2015-07-29
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Page lifecycle
Limited availabilityThe page lifecycle API helps you safely handle page suspensions or discards from memory. The
freeze
andresume
events fire when the browser suspends or resumes a page from memory while thedocument.wasDiscarded
property reports whether the page was reloaded after being dropped.- Chrome 68 Released on 2018-07-24
- Chrome Android 68 Released on 2018-07-24
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Page visibility state
Limited availabilityThe
visibility-state
performance entry and theVisibilityStateEntry
API measure the timing of page visibility state changes, such as when a tab is no longer visible or the user has switched to another app.- Chrome 115 Released on 2023-07-18
- Chrome Android 115 Released on 2023-07-21
- Edge 115 Released on 2023-07-21
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
paint()
Limited availabilityThe
paint()
CSS function creates a custom image, drawn using a paint worklet, for an element's background or border.- Chrome 65 Released on 2018-03-06
- Chrome Android 65 Released on 2018-03-06
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌
- Safari on iOS ❌
-
Password credentials
Limited availabilityThe
PasswordCredential
API represents a username and password.- Chrome 60 Released on 2017-07-25
- Chrome Android 60 Released on 2017-08-01
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Payment handler
Limited availabilityThe payment handler API registers a web application as a payment handler and responds to payment requests in the browser's user interface, rather than redirecting users to a separate site to complete a payment.
- Chrome 70 Released on 2018-10-16
- Chrome Android 70 Released on 2018-10-17
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌
- Safari on iOS ❌
-
Periodic background sync
Limited availabilityThe periodic background synchronization API fires a recurring
periodicsync
event in a service worker. You can use this to update data in the background at regular intervals.- Chrome 80 Released on 2020-02-04
- Chrome Android 80 Released on 2020-02-04
- Edge 80 Released on 2020-02-07
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
popover="hint"
Limited availabilityThe
popover="hint"
global HTML attribute creates a popover that is subordinate to popovers with apopover="auto"
attribute. You can use this to create tooltips that don't dismissauto
popovers.- Chrome 133 Released on 2025-02-04
- Chrome Android 133 Released on 2025-02-04
- Edge 133 Released on 2025-02-06
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
prefers-reduced-transparency media query
Limited availabilityThe
prefers-reduced-transparency
CSS media query sets styles based on whether the user prefers to reduce the amount of transparent effects on their device, for example to improve contrast and legibility.- Chrome 119 Released on 2023-10-31
- Chrome Android 119 Released on 2023-10-31
- Edge 119 Released on 2023-11-02
- Firefox ❌
- Firefox for Android ❌
- Safari ❌ Vendor position : unknown (concerns: privacy)
- Safari on iOS ❌ Vendor position : unknown (concerns: privacy)
-
Presentation API
Limited availabilityThe Presentation API shows or controls content on another display, such as a network-connected TV or projector.
- Chrome 47 Released on 2015-12-01
- Chrome Android 47 Released on 2015-12-02
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌
- Safari on iOS ❌
-
Profiler
Limited availabilityThe
Profiler
API records data about the execution of a page, which you can send to a server for later analysis. Also known as self-profiling.- Chrome 94 Released on 2021-09-21
- Chrome Android 94 Released on 2021-09-21
- Edge 94 Released on 2021-09-24
- Firefox ❌ Vendor position : unknown (concerns: security)
- Firefox for Android ❌ Vendor position : unknown (concerns: security)
- Safari ❌
- Safari on iOS ❌
-
reading-flow
Limited availabilityThe
reading-flow
CSS property sets the order in which flex or grid elements are rendered to speech or reached via focus navigation. Thereading-order
property overrides this order.- Chrome 137 Released on 2025-05-27
- Chrome Android 137 Released on 2025-05-27
- Edge 137 Released on 2025-05-29
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
Region capture
Limited availabilityWhen 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 Released on 2022-08-02
- Chrome Android ❌
- Edge 104 Released on 2022-08-05
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Save-Data
Limited availabilityBrowsers 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 Released on 2018-03-06
- Chrome Android 65 Released on 2018-03-06
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Screen orientation lock
Limited availabilityThe
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 ❌
- Chrome Android 38 Released on 2014-10-08
- Edge ❌
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
scroll-initial-target
Limited availabilityThe
scroll-initial-target: nearest
CSS declaration sets the initial scroll position of its scroll container to the top of the element, much like scrolling to a URL fragment.- Chrome 133 Released on 2025-02-04
- Chrome Android 133 Released on 2025-02-04
- Edge 133 Released on 2025-02-06
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Scroll markers
Limited availabilityA scroll container can be navigated by activating
::scroll-marker
pseudo-elements which appear in a generated::scroll-marker-group
pseudo-element, either before or after the scroll container.- Chrome 135 Released on 2025-04-01
- Chrome Android ❌
- Edge 135 Released on 2025-04-04
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Scroll snap events
Limited availabilityThe
scrollsnapchanging
andscrollsnapchange
events fire when a scroll gesture changes the selected scroll snap target.- Chrome 129 Released on 2024-09-17
- Chrome Android 129 Released on 2024-09-17
- Edge 129 Released on 2024-09-19
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
Secure payment confirmation
Limited availabilityThe
payment
extension of a web authentication credential allows a relying party (such as a bank) to create a credential that can be queried by any merchant origin as part of an online checkout that uses the Payment Request API'ssecure-payment-confirmation
payment method. Also known as SPC.- Chrome 139 Released on 2025-08-05
- Chrome Android 139 Released on 2025-08-05
- Edge 139 Released on 2025-08-07
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Web serial
Limited availabilityThe
navigator.serial
API communicates with devices over serial ports, such as microcontrollers.- Chrome 89 Released on 2021-03-02
- Chrome Android ❌
- Edge 89 Released on 2021-03-04
- Firefox ❌ Vendor position : neutral
- Firefox for Android ❌ Vendor position : neutral
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
sibling-count() and sibling-index()
Limited availabilityThe
sibling-count()
andsibling-index()
CSS functions return integers that are useful to style elements based on their positions among siblings or on the number of siblings, for example as part of acalc()
expression.- Chrome 138 Released on 2025-06-24
- Chrome Android 138 Released on 2025-06-24
- Edge 138 Released on 2025-06-26
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
<img sizes="auto" loading="lazy">
Limited availabilityThe
sizes="auto"
attribute for the<img>
HTML element reserves layout space for an image before it loads, avoiding some layout shifts. This attribute only applies to images with theloading="lazy"
attribute.- Chrome 126 Released on 2024-06-11
- Chrome Android 126 Released on 2024-06-11
- Edge 126 Released on 2024-06-13
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Speculation rules
Limited availabilitySpeculation rules are hints to the browser to proactively download pages in the background so they appear instantly when the user navigates to them.
- Chrome 109 Released on 2023-01-10
- Chrome Android 109 Released on 2023-01-10
- Edge 109 Released on 2023-01-12
- Firefox ❌ Vendor position : neutral (concerns: complexity)
- Firefox for Android ❌ Vendor position : neutral (concerns: complexity)
- Safari ❌
- Safari on iOS ❌
-
Speech recognition
Limited availabilityThe
SpeechRecognition
API converts audio into text using the device's speech recognition service.- Chrome 139 Released on 2025-08-05
- Chrome Android 139 Released on 2025-08-05
- Edge 139 Released on 2025-08-07
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌
- Safari on iOS ❌
-
Storage buckets
Limited availabilityThe
navigator.storageBuckets
API allows you to organize locally stored data into groups called storage buckets. Each bucket can have different settings, allowing the browser to manage and delete buckets independently rather than applying the same treatment to all.- Chrome 122 Released on 2024-02-20
- Chrome Android 122 Released on 2024-02-20
- Edge 122 Released on 2024-02-23
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
stretch
Limited availabilityThe
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 Released on 2025-06-24
- Chrome Android 138 Released on 2025-06-24
- Edge 138 Released on 2025-06-26
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
Summarizer
Limited availabilityThe
Summarizer
API uses an on-device language model to summarize text.- Chrome 138 Released on 2025-06-24
- Chrome Android ❌
- Edge ❌
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
text-decoration in ::selection
Limited availabilityThe
text-decoration
CSS property in a::selection
rule sets the underline and other text decoration styles on the text a user has highlighted.- Chrome 105 Released on 2022-09-02
- Chrome Android 105 Released on 2022-09-02
- Edge 105 Released on 2022-09-01
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
text-size-adjust
Limited availabilityThe
text-size-adjust
CSS property disables or modifies the browser's default text size adjustment for small screen sizes.- Chrome 54 Released on 2016-10-12
- Chrome Android 54 Released on 2016-10-19
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
text-spacing-trim
Limited availabilityThe
text-spacing-trim
CSS property controls spacing around CJK characters, avoiding excessive whitespace when using full-width punctuation characters.- Chrome 123 Released on 2024-03-19
- Chrome Android 123 Released on 2024-03-19
- Edge 123 Released on 2024-03-22
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌
- Safari on iOS ❌
-
Topics
Limited availabilityThe Topics API reports a user's likely subject-matter interests (as determined by the browser, known as topics) to iframes. This allows for interest-based advertising that does not rely on user's exact browsing history, third-party cookies, or fingerprinting.
- Chrome 126 Released on 2024-06-11
- Chrome Android 126 Released on 2024-06-11
- Edge 126 Released on 2024-06-13
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
User agent client hints
Limited availabilityThe
Sec-CH-UA
HTTP request header and thenavigator.userAgentData
API expose browser and platform information used to vary responses and application logic. User agent client hints are similar to user agent strings but more privacy-preserving and safer to parse.- Chrome 90 Released on 2021-04-13
- Chrome Android 90 Released on 2021-04-13
- Edge 90 Released on 2021-04-15
- Firefox ❌ Vendor position : neutral
- Firefox for Android ❌ Vendor position : neutral
- Safari ❌ Vendor position : blocked (concerns: interoperability, privacy)
- Safari on iOS ❌ Vendor position : blocked (concerns: interoperability, privacy)
-
Vibration
Limited availabilityThe
navigator.vibrate()
method makes a tactile alert, if the device is equipped with a haptic motor.- Chrome 32 Released on 2014-01-14
- Chrome Android 32 Released on 2014-01-15
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : oppose (concerns: integration, use cases, portability, power, annoyance, device independence)
- Safari on iOS ❌ Vendor position : oppose (concerns: integration, use cases, portability, power, annoyance, device independence)
-
Viewport segments
Limited availabilityThe viewport segment CSS environment variables and media features, and the
viewport.segments
API, allow you to adapt your layout to devices where the display is split, such as on foldable devices.- Chrome 138 Released on 2025-06-24
- Chrome Android 138 Released on 2025-06-24
- Edge 138 Released on 2025-06-26
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Virtual keyboard
Limited availabilityThe
navigator.virtualKeyboard
API inspects and controls on-screen virtual keyboards. You can use it to programmatically hide or show a virtual keyboard or respond to the keyboard disappearing or appearing.- Chrome 94 Released on 2021-09-21
- Chrome Android 94 Released on 2021-09-21
- Edge 94 Released on 2021-09-24
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌ Vendor position : unknown (concerns: device independence)
- Safari on iOS ❌ Vendor position : unknown (concerns: device independence)
-
Virtual pressure sources
Limited availabilityThe
CreateVirtualPressureSource
WebDriver command creates artificial sources of compute pressure for testing without the need real device sources of compute pressure.- Chrome 129 Released on 2024-09-17
- Chrome Android 129 Released on 2024-09-17
- Edge 129 Released on 2024-09-19
- Firefox ❌
- Firefox for Android ❌
- Safari ❌ Vendor position : oppose (concerns: privacy, device independence)
- Safari on iOS ❌ Vendor position : oppose (concerns: privacy, device independence)
-
Virtual sensors
Limited availabilityThe
CreateVirtualSensor
WebDriver command creates a virtual sensor for testing applications that use sensor APIs, without the need for real device sensors.- Chrome 120 Released on 2023-12-05
- Chrome Android 120 Released on 2023-12-05
- Edge 120 Released on 2023-12-07
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Relaxed-width SIMD (WebAssembly)
Limited availabilityRelaxed SIMD (Single Instruction Multiple Data) introduces local non-determinism, where the results of the instructions may vary based on hardware support.
- Chrome 114 Released on 2023-05-30
- Chrome Android 114 Released on 2023-05-30
- Edge 114 Released on 2023-06-02
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : neutral
- Safari on iOS ❌ Vendor position : neutral
-
Web Bluetooth
Limited availabilityThe Web Bluetooth API enables selecting and communicating with nearby Bluetooth devices.
- Chrome 70 Released on 2018-10-16
- Chrome Android 56 Released on 2017-02-01
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌
- Safari on iOS ❌
-
Web NFC
Limited availabilityThe
NDEFReader
API reads and writes messages to near-field communication (NFC) tags.- Chrome ❌
- Chrome Android 100 Released on 2022-03-29
- Edge ❌
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌
- Safari on iOS ❌
-
WebOTP
Limited availabilityThe
OTPCredential
API represents a one-time-password (OTP).- Chrome 93 Released on 2021-08-31
- Chrome Android 84 Released on 2020-07-27
- Edge 93 Released on 2021-09-02
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Desynchronized WebGL canvas
Limited availabilityThe optional
desynchronized
parameter of a canvas'sgetContext()
method permits the browser to draw a WebGL canvas independently of the event loop. This can reduce drawing latency.- Chrome 81 Released on 2020-04-07
- Chrome Android 75 Released on 2019-06-04
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Desynchronized WebGL2 canvas
Limited availabilityThe optional
desynchronized
parameter of a canvas'sgetContext()
method permits the browser to draw a WebGL2 canvas independently of the event loop. This can reduce drawing latency.- Chrome 81 Released on 2020-04-07
- Chrome Android 75 Released on 2019-06-04
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
WebHID
Limited availabilityThe WebHID API provides access to Human Interface Devices (HID) that are connected to the user's device.
- Chrome 89 Released on 2021-03-02
- Chrome Android ❌
- Edge 89 Released on 2021-03-04
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌
- Safari on iOS ❌
-
WebUSB
Limited availabilityThe WebUSB API exposes USB compatible devices to web pages.
- Chrome 61 Released on 2017-09-05
- Chrome Android 61 Released on 2017-09-05
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : negative
- Firefox for Android ❌ Vendor position : negative
- Safari ❌ Vendor position : oppose (concerns: privacy, security, device independence)
- Safari on iOS ❌ Vendor position : oppose (concerns: privacy, security, device independence)
-
Anchors (WebXR)
Limited availabilityAn
XRAnchor
object keeps track of a pose that is fixed relative to the real world. Anchors build an illusion that the placed objects are really present in the user's environment.- Chrome 85 Released on 2020-08-25
- Chrome Android 85 Released on 2020-08-25
- Edge 85 Released on 2020-08-27
- Firefox ❌ Vendor position : defer
- Firefox for Android ❌ Vendor position : defer
- Safari ❌
- Safari on iOS ❌
-
Augmented reality
Limited availabilityThe
"immersive-ar"
value fornavigator.xr.requestSession()
starts an augmented reality WebXR session that renders content aligned with the visible environment.- Chrome 86 Released on 2020-10-20
- Chrome Android 86 Released on 2020-10-20
- Edge 86 Released on 2020-10-09
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Raw camera access for WebXR
Limited availabilityThe
XRView.camera
property provides direct access to pose-synchronized camera images within a WebXR session.- Chrome 107 Released on 2022-10-25
- Chrome Android 107 Released on 2022-10-25
- Edge 107 Released on 2022-10-27
- Firefox ❌ Vendor position : defer
- Firefox for Android ❌ Vendor position : defer
- Safari ❌ Vendor position : oppose (concerns: privacy)
- Safari on iOS ❌ Vendor position : oppose (concerns: privacy)
-
Depth sensing
Limited availabilityAn
XRDepthInformation
object represents a measurement of the distance from the user's device to the real-world geometry in the user's environment.- Chrome 90 Released on 2021-04-13
- Chrome Android 90 Released on 2021-04-13
- Edge 90 Released on 2021-04-15
- Firefox ❌ Vendor position : defer
- Firefox for Android ❌ Vendor position : defer
- Safari ❌
- Safari on iOS ❌
-
WebXR
Limited availabilityThe
navigator.xr
API represents the browser's virtual reality or augmented reality system. You can use to request a WebXR session.- Chrome 79 Released on 2019-12-10
- Chrome Android 79 Released on 2019-12-17
- Edge 79 Released on 2020-01-15
- Firefox ❌ Vendor position : positive
- Firefox for Android ❌ Vendor position : positive
- Safari ❌ Vendor position : unknown
- Safari on iOS ❌ Vendor position : unknown
-
DOM overlays for WebXR
Limited availabilityA DOM overlay shows 2D DOM content as an interactive, transparent layer on top of a WebXR application's WebGL content and camera image.
- Chrome 83 Released on 2020-05-19
- Chrome Android 83 Released on 2020-05-19
- Edge 83 Released on 2020-05-21
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Gamepad (WebXR)
Limited availabilityThe
gamepad
attribute of anXRInputSource
represents an XR input device, such as a motion controller, that reports data from physical inputs (such as buttons, touch pads, and triggers).- Chrome 79 Released on 2019-12-10
- Chrome Android 79 Released on 2019-12-17
- Edge 79 Released on 2020-01-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Hand input
Limited availabilityAn
XRHand
object, from thehand
attribute of anXRInputSource
object, represents a WebXR session's fully-articulated hand tracking model.- Chrome 131 Released on 2024-11-12
- Chrome Android 131 Released on 2024-11-12
- Edge ❌
- Firefox ❌ Vendor position : defer
- Firefox for Android ❌ Vendor position : defer
- Safari ❌ Vendor position : support
- Safari on iOS ❌ Vendor position : support
-
Hit test
Limited availabilityThe
getHitTestResults()
method of anXRFrame
object helps place objects in an augmented reality session by finding where cast rays intersect with real-world geometry.- Chrome 81 Released on 2020-04-07
- Chrome Android 81 Released on 2020-04-07
- Edge 81 Released on 2020-04-13
- Firefox ❌ Vendor position : defer
- Firefox for Android ❌ Vendor position : defer
- Safari ❌
- Safari on iOS ❌
-
Lighting estimation
Limited availabilityThe
XRLightProbe
andXRLightEstimate
objects represent real-world environmental lighting conditions during a WebXR session.- Chrome 90 Released on 2021-04-13
- Chrome Android 90 Released on 2021-04-13
- Edge 90 Released on 2021-04-15
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Window Controls Overlay
Limited availabilityThe
display_override:\ ["window-controls-overlay"]
web application manifest member shows content in the title bar area of a progressive web app that is installed on a desktop device.- Chrome 105 Released on 2022-09-02
- Chrome Android ❌
- Edge 105 Released on 2022-09-01
- Firefox ❌ Vendor position : defer
- Firefox for Android ❌ Vendor position : defer
- Safari ❌
- Safari on iOS ❌
-
Window management
Limited availabilityThe
window.getScreenDetails()
method gets information about the screens on a device, which you can use to place new windows on a specific screen withwindow.open()
.- Chrome 111 Released on 2023-03-07
- Chrome Android ❌
- Edge 111 Released on 2023-03-13
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
word-break: auto-phrase
Limited availabilityThe
word-break: auto-phrase
CSS declaration specifies that wrapping should occur at natural phrase boundaries, especially in CJK languages.- Chrome 119 Released on 2023-10-31
- Chrome Android 119 Released on 2023-10-31
- Edge 119 Released on 2023-11-02
- Firefox ❌ Vendor position : unknown
- Firefox for Android ❌ Vendor position : unknown
- Safari ❌
- Safari on iOS ❌