skip to content

In a design system, how should components handle an operating-system setting that asks for more contrast versus one that replaces the app's colors entirely?

level: middleimportance: should knowfreq 38%

answer

  1. request versus replacement
  2. a high-contrast value set
  3. backgrounds vanish, borders survive
  4. state never by fill alone
  5. do not fight the user's palette

basics

~20 s

An increase-contrast setting is a request the app meets with a high-contrast value set. A color-replacement mode swaps the app's colors for the user's palette, so components must convey boundaries and state with borders, text and icons, not fills.

solid answer

~50 s

The two settings need different answers. An **increase-contrast setting** is a *request*: the app keeps its own colors but switches to a **high-contrast value set** — darker text, stronger borders, no translucent overlays or faint tints, a heavier focus indicator — in both light and dark. A **color-replacement contrast mode** is a *replacement*: the platform substitutes a small palette the user chose, so the app's background fills and subtle tints effectively disappear, while text, borders, outlines and text-colored icons survive. Components must therefore never rely on **background fill alone** for a boundary or a state: the pipeline column needs a border, a selected candidate card needs a border or check icon, and focus needs an outline. The app should **not fight** the user's palette; it should make sure nothing essential depended on the colors that were replaced.

go deeper

for a junior

Recall that one setting asks for stronger contrast and the other replaces the app's colors, and that the second one means you cannot rely on background colors.

for a middle

Explain what a high-contrast value set changes, and which parts of a component survive a color-replacement mode: borders, text and text-colored icons, but not fills or shadows.

for a senior

Audit a component library for fill-only boundaries and states, fix them with borders, icons and outlines, and add both settings to per-mode testing.

for a principal

Decide how far the system's contrast modes go beyond the minimum, and how much design effort each extra mode combination is worth.

## Two very different settings Operating systems offer users with low vision, light sensitivity or reading difficulties two kinds of contrast help. They look similar in a settings screen but demand opposite responses from a design system: | Setting | What it means | Who controls the colors | The system's job | |---|---|---|---| | **Increase contrast** | Please use stronger contrast | The app | Provide a high-contrast value set | | **Color replacement** | Use my colors instead of yours | The user's palette | Stay usable when your colors are gone | ## Answering a request: the high-contrast value set Because modes are value sets over semantic tokens, a high-contrast mode is one more mapping — two, in fact, because it combines with light and with dark. In a recruiting app's applicant-tracking screens it typically: - darkens secondary text on light surfaces (and lightens it on dark ones), since secondary text is usually the first to fall near the minimum; - strengthens `border.subtle` so the edges of candidate cards and pipeline columns are unmistakable; - removes translucent overlays and faint tinted surfaces, whose effective contrast depends on what lies beneath; - thickens or strengthens the focus indicator; - keeps status colors distinguishable by something besides hue — the stage chip's label and icon carry the meaning. The baseline modes should already meet WCAG 2.2 Level AA — 4.5:1 for normal text and 3:1 for component boundaries and state indicators — so the high-contrast set goes further than the minimum rather than rescuing a failing default. ## Surviving a replacement: design for missing colors In a color-replacement mode the platform substitutes a few user-chosen colors — typically one for text, one for backgrounds, a few for links, selection and controls. What happens to a component then: - **Background fills collapse** into the single background color. A pipeline whose stages were told apart by tinted columns becomes one undivided field. - **Borders and outlines survive**, drawn in the user's color. A border that was transparent in normal modes can become visible here, which is a common technique for keeping a boundary. - **Text survives**, in the user's text color. - **Icons drawn in the text color survive**; icons with baked-in colors may vanish or clash. - **Shadows usually disappear**, so elevation by shadow alone is lost. The rules that follow for component design: 1. **Never mark a boundary with fill alone.** Give cards, inputs and columns a border, even a transparent one in normal modes. 2. **Never mark a state with fill alone.** A selected candidate card needs a border, a check icon or a text change as well as a tint. This also serves WCAG 1.4.1 Use of Color, which does not allow color to be the only visual means of conveying information. 3. **Draw icons in the current text color** so they take the user's color. 4. **Keep a real focus outline**, not a background-only focus style. 5. **Do not override the user's palette.** Adjustments should restore meaning, such as making a boundary visible, and never reimpose brand colors. ## Testing both - Run the high-contrast value sets through the same contrast checks and visual tests as every other mode. - Emulate a color-replacement mode in visual tests of key components, and review them by eye: the question is not a ratio but whether every boundary, state and focus position is still visible. The short interview answer: one setting asks you to do better with your colors, the other takes your colors away — so build a high-contrast value set for the first, and for the second make sure nothing essential ever depended on fill color.

  • Why can a transparent border be useful in normal modes?
    In normal modes it is invisible and costs nothing visually. In a color-replacement mode the platform draws borders in the user's chosen color, so the transparent border appears and restores the component's boundary after its background fill has collapsed into the page background. It is a cheap way to make a fill-defined component survive the replacement.
  • Should the high-contrast value set simply push every color to pure black or pure white?
    No. Maximum contrast everywhere erases hierarchy and can be harsh for people with light sensitivity. The aim is to lift the weakest pairs — secondary text, subtle borders, focus indicators, translucent layers — well beyond the minimum while keeping enough distinction between primary and secondary elements that the layout still reads.

saying these in an interview costs you the question

  • A color-replacement mode is handled by the app's own high-contrast palette.
  • Selected state shown only by a background tint is fine in every mode.
  • The app should restore its brand colors when the platform replaces them.
  • High-contrast support only matters for dark mode.
  • Icons with baked-in colors behave the same as text-colored icons in replaced-color modes.