A partial archive of discourse.wicg.io as of Saturday February 24, 2024.

Transferring Interventions to the WICG



To facilitate collaboration on Interventions (see below for a quick description), we would like to transfer the “Interventions github” to the WICG.

Let me know if there are any concerns or questions.


What are interventions?

Over the course of its existence, the web has accumulated a multitude of standards and common patterns. While most of these are beneficial for both developers and users, if abused (intentionally or otherwise) web APIs can sometimes be a detriment to the user experience.

An intervention is when a user agent decides to deviate slightly from a standardized or commonly expected behavior in order to provide a greatly enhanced user experience. Because of its nature, it must be done sparingly and with extreme prudence.

Examples of existing interventions:

  • popup blocker
  • “not responding” dialog shown for long running scripts…

Examples of new Interventions (proposed, on-going experiments…):

See the readme to learn more.


Looks good to me.


This looks good to me as well!

All browser developers have been quietly implementing Interventions over the past few years without sharing. I’m looking forward to having a place to rapidly experiment on and come to consensus in an open forum.


LGTM! :slightly_smiling:

I invited Ojan and Kenji to the org. We’ll continue by email to get the repo properly imported.


Repo imported! \o/


Cool work, and thanks for sharing it here.

I’m glad that the proposal includes steps to specify the behavior, which would seem to encourage open discussion of it and documentation for the sake of interoperability. Should we go further and suggest that as much as possible this behavior should be specified in the features to begin with? That is, as in some of the examples, specs already note when functionality is optional where specification authors anticipate that functionality may be implemented in different ways by user agents in order to optimize the user experience in different contexts.