Sticky activation
Sticky activation (or "sticky user activation") is a window state that indicates a user has meaningfully and directly interacted with the window since page load. Once active, the state lasts for the duration of the session.
The state is enabled following any user interaction, when the window has focus, that results in the browser generating one or more of the following:
- A
mousedown
orpointerdown
event for a mouse. - A
pointerup
event for any other kind of pointer. - A
touchend
event. - A
keydown
event, other than for the escape or browser shortcut keys.
The window is not user-activated by events that aren't necessarily caused by intentional interaction with the window, such as mouse move events or wheel
events.
Sticky activation is used to control access to certain features, blocking them if the user hasn't interacted with the page. For example, it can be used to ensure that controlled features in cross-origin frames don't run code on page load. See Features gated by user activation for more information.
The UserActivation.hasBeenActive
property can be used to programmatically check the current window's sticky activation state.
See also
- Comparison between transient and sticky activation in Features gated by user activation
- Related glossary terms:
UserActivation.hasBeenActive
- HTML Living Standard > Sticky activation