UserActivation

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The UserActivation interface allows querying information about a window's user activation state.

A user activation either implies that the user is currently interacting with the page, or has completed an interaction since page load. Typically, this is a click on a button or some other user interaction with the UI.

There are two kinds of window user activation states:

See Features gated by user activation for more information and a list of APIs that require either sticky or transient user activation.

This API is only available in the window context and not exposed to workers.

Instance properties

UserActivation.hasBeenActive Read only Experimental

Indicates whether the current window has sticky user activation.

UserActivation.isActive Read only Experimental

Indicates whether the current window has transient user activation.

Examples

Checking if a user gesture was recently performed

Use UserActivation.isActive to check wether the user is currently interacting with the page (Transient activation).

if (navigator.userActivation.isActive) {
  // proceed to request playing media, for example
}

Checking if a user gesture was ever performed

Use UserActivation.hasBeenActive to check wether the user has ever interacted with the page (Sticky activation).

if (navigator.userActivation.hasBeenActive) {
  // proceed with auto-playing an animation, for example
}

Specifications

Specification
HTML Standard
# the-useractivation-interface

Browser compatibility

BCD tables only load in the browser

See also