Interface More detail A2 · Formal specification Platform: Web

Forced Colors Mode

Forced colors mode uses a user-chosen system palette instead of many page colors. This can make controls and text easier to distinguish.

See how it works
You might call it forced-colorsuser-forced palette

See how it works

Original worked exampleForced Colors Mode
ACCESSIBLE UI RULEForced Colors Mode@media (forced-colors: active) -> system colors + visible shape and state
BUTTON STATESforced-colors: active
AUTHOR PALETTESave changesbackground + box-shadow
SYSTEM PALETTE▣ Save changesButtonText · ButtonFace · border
⌨Visible keyboard focusOutline survives color replacementoutline: 2px
Shape and state surviveborder + text + focus
PASSText, border, and focus remain clear in the system palette.AVOIDDo not rely on a background or shadow alone.
@media (forced-colors: active) -> system colors + visible shape and stateA11Y
Forced Colors ModeAccessible interface practice

Another example

A button loses its author background and shadow. Its border, text, and focus indicator still show its shape and state.

Main parts

  1. 01Author palette
  2. 02User-forced palette
  3. 03Visible border
  4. 04System color
  5. 05Focus indicator
  6. 06Color-adjust exception

Use it when

Test controls with forced colors active. Keep important boundaries visible and use system colors for necessary adjustments.

Do not use it when

Do not depend on color or box shadow alone. Use forced-color-adjust none only when preserving color is essential.

Name used in code

@media (forced-colors: active) -> system colors + visible shape and state

Before you ship

Before release, check the page structure, keyboard access, visible focus, contrast, and zoom. Also check loading, empty, error, success, cancel, and reduced-motion states.

Request you can copy

Outcome: Use Forced Colors Mode to solve this user need without losing the current context. User context: A button loses its author background and shadow. Its border, text, and focus indicator still show its shape and state. Recommended pattern: Forced Colors Mode. Why it fits: Test controls with forced colors active. Keep important boundaries visible and use system colors for necessary adjustments. Do not use it when: Do not depend on color or box shadow alone. Use forced-color-adjust none only when preserving color is essential. Product requirements: Define the default, loading, empty, error, success, and recovery states. Keep user input. Give clear feedback after every action. Accessibility and resilience: Use semantic HTML, full keyboard access, and visible focus. Make the layout work when zoomed and support reduced motion. Follow the project’s current rules. Do not add a new UI library unless the project already uses it. Acceptance criteria: The main task works with keyboard only and at 320px width. Focus and status changes are announced. Check loading, failure, retry, cancel, and reduced-motion paths. Evidence and limits (evidence boundary): A formal document may still be a draft, release candidate, or final version. Check its status and browser or platform support. Unknowns to confirm: Product wording, data source, analytics events, supported devices and languages, and platform limits.

Check this request

Review the current use of Forced Colors Mode. Definition: Forced colors mode uses a user-chosen system palette instead of many page colors. This can make controls and text easier to distinguish. Release checks: Before release, check the page structure, keyboard access, visible focus, contrast, and zoom. Also check loading, empty, error, success, cancel, and reduced-motion states. Before changing code, report the evidence you found, gaps, severity, and the smallest safe fix.

A2
How official is this term?

Formal specification

A published, versioned formal specification defines this term for the listed technical scope.

A formal document may still be a draft, release candidate, or final version. Check its status and browser or platform support.

Scope
Candidate Recommendation forced-color palette behavior; the draft Media Queries feature supplies detection context
Document status
release candidate
Checked on
2026-07-30

Evidence sources & scope

Authority source + Term reference · W3C CSS Working Group · release candidate CSS Color Adjustment Module Level 1 — Forced Color Palettes Forced Color Palettes Scope: CSS forced color palettes and automatic color adjustment; direct scope: Forced Color Palettes Role here: Direct term reference Source covers: canonical name, definition, semantics, implementation Authority source · W3C CSS Working Group · release candidate CSS Color Adjustment Module Level 1 Scope: CSS forced color palettes and automatic color adjustment Role here: Authority within stated scope Source covers: canonical name, definition, semantics, implementation Authority source · W3C CSS Working Group · draft Media Queries Level 5 Scope: CSS conditional rules and user preferences Role here: Authority within stated scope Source covers: canonical name, definition, semantics, implementation Background source Media Queries Level 5 — forced-colors Role here: Helpful background, not a definition

Copy it yourself

The browser could not copy this. Select the request below and copy it yourself.