How and when to remove "experimental" macros

Pages on MDN can include KumaScript macros to notify readers that a Web technology feature described by the page is still experimental and not yet standardized. However, items that are flagged as experimental might become standardized, and yet the page is not revisited to remove the macro. You can help improve MDN by reviewing pages that contain these "experimental" macros, and removing the macros from items that are no longer experimental.

The macros in question are experimental_inline to flag a specific item mentioned in a page, and SeeCompatTable to flag the entire page.

Warning: We no longer recommend using SeeCompatTable. All data about compatibility is now expected to be presented within the browser compatibility table and any footnotes within.

Here is the definition of "experimental" from the MDN Definitions and Conventions article:

Experimental can mean different things depending on the context you hear or read it in. When a technology is described as experimental on MDN, it means that the technology is nascent and immature, and currently in the process of being added to the Web platform (or considered for addition).

One or both of these will be true:

  • It is implemented and enabled by default in less than two modern major browsers.
  • Its defining spec is likely to change significantly, in backwards-incompatible ways (i.e. it may break existing code that relies on the feature).

If one or both of these definitions is true, then you should think carefully before you start using that technology in any kind of production project (i.e. not just a demo or experiment). See also the definition of experimental in our browser-compat-data project.

Conversely, an item is no longer experimental when:

  • It is implemented in two or more major browsers; or
  • Its defining spec is unlikely to change in ways that will break the web.

The or is important here — usually if a technology is supported across several major browsers, the spec will be stable, but this is not always the case. And some technologies will have a stable spec and be well-used, but have no native support in browsers (IMSC, for example).

Where does this task need to be done?

Pages in the following lists:

What do you need to know to do the task?
Knowledge of the standardization or implementation status of the relevant item.
What are the steps to do the task?
  1. Review the page to see what item or items the macro is associated with.
  2. Determine whether each item is still experimental or not. The compatibility table on the page may be more current than the macros; you can also test using the item in multiple browsers.
  3. If an item is no longer experimental, remove the "experimental" macro call associated with it. (Note: an item on a summary page that has the experimental_inline macro next to it is often a link to a full reference page, containing the SeeCompatTable macro.
  4. Save the page with a comment about what you did.
  5. If you have removed all "experimental" macros from a page (for inline macros, you might remove only some of them), force a refresh (Shift+Refresh) on the relevant search results page (linked above) to ensure that the list is updated.