Web/CSS/@media/forced-colors

From Get docs


The forced-colors CSS media feature is used to detect if the user agent has enabled a forced colors mode where it enforces a user-chosen limited color palette on the page.

Note: This feature is not supported by any user agent and its specifics are subject to change.


Syntax

The forced-colors media feature indicates whether or not the browser is currently in forced-colors mode.

Values

none
Forced colors mode is not active; the page’s colors are not being forced into a limited palette.
active
Indicates that forced colors mode is active. The browser provides the color palette to authors through the CSS system color keywords and, if appropriate, it triggers the appropriate value of prefers-color-scheme so that authors can adapt the page.

Usage notes

Properties affected by forced-color mode

In forced colors mode, the values of the following properties are treated as if they have no author-level values specified. That is, user-specified values (if any) or browser-specified values are used instead.

You can use system color keywords with any property other than those listed above, to ensure that the rest of the page integrates with the restricted color palette available in forced colors mode.

User preferences

Currently no user agent implements this feature, although various operating systems do support such preferences and if this media query is ever implemented user agents will likely rely on the settings provided by the operating system in use.

Examples

Note: No browser currently implements this feature so the following example will not work.


This example has an annoying color palette by default. This example does not take advantage of the colors provided by the user agent.

HTML

<div class="colors">weird color box</div>

CSS

.colors {
  background-color: red;
  color: grey; 
}

@media (forced-colors: active) {
  .colors {
    background-color: white;
    color: black;
  }
}

Result

Specifications

Specification Status Comment
Media Queries Level 5The definition of 'forced-colors' in that specification. Editor's Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

forced-colors media feature

Experimental'

Chrome Full support 79

Notes' Disabled'

Full support 79

Notes' Disabled'

Notes' See bug 970285. Disabled' From version 79: this feature is behind the #forced-colors preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.

Edge

Full support 79

Firefox Full support 81

Disabled'

Full support 81

Disabled'

Disabled' From version 81: this feature is behind the layout.css.forced-colors.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

IE

No support No

Opera

No support No

Safari

No support No

WebView Android No support No

Notes'

No support No

Notes'

Notes' See bug 970285.

Chrome Android No support No

Notes'

No support No

Notes'

Notes' See bug 970285.

Firefox Android

No support No

Opera Android

No support No

Safari iOS

No support No

Samsung Internet Android No support No

Notes'

No support No

Notes'

Notes' See bug 970285.

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.
See implementation notes.'
See implementation notes.
User must explicitly enable this feature.'
User must explicitly enable this feature.


See also