WHA Docs

Colors

The WHA brand palette, how each color is used and which pairings meet contrast requirements.

The palette is defined once in theme.json (the WordPress source of truth) and mirrored in tailwind.config.js, so the same colors reach editors (as named swatches in the color picker) and developers (as utility classes). Reach for the named token — primary, secondary and so on — never a raw hex value, so a future palette change stays in the one place it's defined.

Palette

TokenNameHexUsed for
primaryPink#e21d5ePrimary actions, links and the main brand presence
secondaryPlum#942e5aSupporting headings, secondary accents and hover states
tertiaryBlue#daf0f4Soft section backgrounds and tints
accentYellow#DCD22CHighlights and small attention-getting details
darkDark#282f3eBody text and dark backgrounds
lightWhite#ffffffPage backgrounds and text on dark fills

Accessible pairings

WCAG AA needs a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text (roughly 18px bold or 24px regular and up); AAA is 7:1. These are the tested combinations:

SampleTextBackgroundRatioRating
AaWhitedark13.4:1AAA
AadarkWhite13.4:1AAA
Aadarktertiary11.3:1AAA
Aadarkaccent8.5:1AAA
AaWhitesecondary7.5:1AAA
AaWhiteprimary4.6:1AA
AaprimaryWhite4.6:1AA

Watch out for

  • primary on tertiary is only 3.9:1. It fails AA for normal text and passes for large text only. Don't use primary for body copy on the blue tint; use dark instead.
  • accent needs a dark background. On white or tertiary it has very low contrast. Pair accent with dark only, and never use it for text on a light background.
  • Don't rely on color alone to convey meaning; pair it with text or an icon. See Accessibility.
Aa3.9:1 · fails body textAa11.3:1 · use this

In code

The tokens map to Tailwind utility classes — text-primary, bg-tertiary, border-secondary — and to the matching theme.json color slugs in the editor. Add an opacity suffix where you need it, e.g. text-dark/80 for 80% body text.

On this page