- Filters:
- Newly available
- Widely available
- Limited availability
- One missing engine
- Discouraged
- All features
- Browser releases:
- Chrome
- Chrome Android
- Edge 141
- Firefox 144
- Firefox for Android 144
- Safari 26
- Safari on iOS 26
Features implemented only in Chromium
The following features are only implemented in Chromium.
-
Accelerometer
Limited availabilityThe
Accelerometer,LinearAccelerationSensorandGravitySensorAPIs 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_handlersweb 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_handlerweb app manifest member, with theclient_modeproperty, 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_handlersweb 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
- Safari on iOS ❌ Vendor position : unknown
-
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
BarcodeDetectorAPI 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
beforeinstallpromptevent 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. Theappinstalledevent 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
notRestoredReasonsproperty of aPerformanceNavigationTimingobject 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 includeheightandwidthkeyword 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 aMediaStreamfor 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
webprefix forClipboardItemdata 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+xmldata type (also known as the MIME type) forClipboardItemobjects 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.unsanitizedparameter of thenavigator.clipboard.read()method reads unsanitizedtext/htmldata 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
CloseWatcherAPI 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
columnsorcolumn-countCSS properties), thebreak-after,break-before,break-insideproperties 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
::columnCSS 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-markerpseudo-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
PressureObserverAPI 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.contactsAPI 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
controlslistattribute 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-shapeCSS property sets the shape of an element's corners when usingborder-radius, allowing for shapes other than rounded corners. For example,corner-shape: squircleis 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.deviceMemoryproperty 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-postureCSS 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.getDigitalGoodsServiceAPI 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-modeCSS media query sets styles based on whether the web page is infullscreen,standalone,minimal-ui,browser, orpicture-in-picturemode.- 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
EditContextAPI 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
elementperformance entry and thePerformanceElementTimingAPI measures the time to render elements that have theelementtimingattribute.- 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
EyeDropperAPI 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
IdentityCredentialAPI 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
FederatedCredentialAPI 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-sizingCSS 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: mathCSS 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-palettevalues.- 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
@functionCSS 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@mediaat-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 ofIDBObjectStoreandIDBIndexreturn 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 141 Released on 2025-10-03
- Firefox ❌
- Firefox for Android ❌
- Safari ❌
- Safari on iOS ❌
-
Gyroscope
Limited availabilityThe
GyroscopeAPI 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 ofHighlightobjects 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
IdleDetectorAPI 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
credentiallessattribute 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-Policyheaders.- 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-letterCSS 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.inkAPI 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: inertCSS declaration makes an element and its descendants inert, like when using theinertHTML 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-sizeCSS property sets whether animations and transitions interpolate between a numeric value and a keyword value, such as from a fixed length toautoorfit-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
trackVisibilityparameter for theIntersectionObserverconstructor 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 ❌
-
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-shiftperformance entry andLayoutShiftAPI 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 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 thehrefvalue 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 aFontDataobject.- 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-frameperformance event type and thePerformanceLongAnimationFrameTimingAPI 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
longtaskperformance event type and thePerformanceLongTaskTimingAPI 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.connectionAPI 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-boxCSS 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 anObservableobject, 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
AbsoluteOrientationSensorandRelativeOrientationSensorAPIs 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
overlayCSS property, used as anallow-discreteCSS 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 theoverlayproperty; 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_multiview2extension 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-afterCSS properties are aliases to thebreak-before,break-inside, andbreak-afterproperties.- 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
freezeandresumeevents fire when the browser suspends or resumes a page from memory while thedocument.wasDiscardedproperty 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-stateperformance entry and theVisibilityStateEntryAPI 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
PasswordCredentialAPI 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
periodicsyncevent 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 dismissautopopovers.- 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-transparencyCSS 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
ProfilerAPI 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-flowCSS property sets the order in which flex or grid elements are rendered to speech or reached via focus navigation. Thereading-orderproperty 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-DataHTTP 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 ❌
-
scroll-initial-target
Limited availabilityThe
scroll-initial-target: nearestCSS 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-markerpseudo-elements which appear in a generated::scroll-marker-grouppseudo-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
scrollsnapchangingandscrollsnapchangeevents 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
paymentextension 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-confirmationpayment 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.serialAPI 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 sets the layout size for the image based on the computed layout size when choosing a source from thesrcset. 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
SpeechRecognitionAPI 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.storageBucketsAPI 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
stretchCSS 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
SummarizerAPI 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-decorationCSS property in a::selectionrule 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-adjustCSS 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-trimCSS 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-UAHTTP request header and thenavigator.userAgentDataAPI 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.segmentsAPI, 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.virtualKeyboardAPI 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
CreateVirtualPressureSourceWebDriver 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
CreateVirtualSensorWebDriver 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
NDEFReaderAPI 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
OTPCredentialAPI 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
desynchronizedparameter 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
desynchronizedparameter 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
XRAnchorobject 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.cameraproperty 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
XRDepthInformationobject 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.xrAPI 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
gamepadattribute of anXRInputSourcerepresents 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
XRHandobject, from thehandattribute of anXRInputSourceobject, 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 anXRFrameobject 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
XRLightProbeandXRLightEstimateobjects 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-phraseCSS 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 ❌