Skip to main content
Coat of arms of Barbados
Official government website

Colour

Use colour through semantic tokens; reach for the primitive ramp only for a specific shade.

Always apply colour through tokens, never hex values. Start with the semantic tokens: they name a job, stay correct if the palette is retuned, and cover almost every case. Drop down to a primitive only when you genuinely need a specific shade with no semantic meaning.

Every swatch, value and contrast ratio on this page is generated from the design system's tokens.css at build time, so what you see is what ships.

Semantic colours

PreviewTokenResolves toValueOn whiteUse for
--govbb-color-brand--govbb-blue-100#00267f13.3:1 AAultramarine
--govbb-color-brand-accent--govbb-yellow-100#ffc7261.6:1 fails AAgold
--govbb-color-ink--govbb-black-00#00021.0:1 AA
--govbb-color-surface--govbb-white-00#fff1.0:1 fails AA
--govbb-color-muted--govbb-mid-grey-00#5959597.0:1 AA
--govbb-color-interactive--govbb-teal-00#0e5f647.4:1 AAprimary action, checked fill
--govbb-color-interactive-active--govbb-teal-05#0a454910.7:1 AA
--govbb-color-focus--govbb-teal-100#30c0c82.2:1 fails AAfocus ring
--govbb-color-focus-danger--govbb-red-100#ff6b6b2.8:1 fails AA
--govbb-color-error--govbb-red-00#a42c2c7.1:1 AAinvalid state
--govbb-color-neutral--govbb-grey-00#e0e4e91.3:1 fails AAsecondary fill, dividers
--govbb-color-highlight--govbb-blue-10#e5e9f21.2:1 fails AAselected surfaces
--govbb-color-tertiary--govbb-green-00#00654a7.1:1 AAtertiary action

Primitive ramp

Primitives mirror the Figma variable ramp. Each family runs from a dark 00 shade through pale tints (10, 40) to the saturated 100. The last column records which semantic token, if any, aliases the shade.

Neutrals

PreviewTokenValueOn whiteAliased by
--govbb-white-00#fff1.0:1 fails AA--govbb-color-surface
--govbb-black-00#00021.0:1 AA--govbb-color-ink
--govbb-grey-00#e0e4e91.3:1 fails AA--govbb-color-neutral
--govbb-mid-grey-00#5959597.0:1 AA--govbb-color-muted

Blue

PreviewTokenValueOn whiteAliased by
--govbb-blue-00#00164a17.3:1 AA
--govbb-blue-10#e5e9f21.2:1 fails AA--govbb-color-highlight
--govbb-blue-40#99a8cc2.4:1 fails AA
--govbb-blue-100#00267f13.3:1 AA--govbb-color-brand

Teal

PreviewTokenValueOn whiteAliased by
--govbb-teal-05#0a454910.7:1 AA--govbb-color-interactive-active
--govbb-teal-00#0e5f647.4:1 AA--govbb-color-interactive
--govbb-teal-10#eaf9f91.1:1 fails AA--govbb-link-hover-bg
--govbb-teal-40#ace6e91.4:1 fails AA
--govbb-teal-100#30c0c82.2:1 fails AA--govbb-color-focus

Green

PreviewTokenValueOn whiteAliased by
--govbb-green-00#00654a7.1:1 AA--govbb-color-tertiary
--govbb-green-10#e9f9f31.1:1 fails AA
--govbb-green-40#a5e5ce1.4:1 fails AA
--govbb-green-100#1fbf842.4:1 fails AA

Red

PreviewTokenValueOn whiteAliased by
--govbb-red-00#a42c2c7.1:1 AA--govbb-color-error
--govbb-red-10#fff0f01.1:1 fails AA
--govbb-red-40#ffc4c41.5:1 fails AA
--govbb-red-100#ff6b6b2.8:1 fails AA--govbb-color-focus-danger

Yellow

PreviewTokenValueOn whiteAliased by
--govbb-yellow-00#e8a8332.1:1 fails AA
--govbb-yellow-10#fff9e91.1:1 fails AA
--govbb-yellow-40#ffe9a81.2:1 fails AA
--govbb-yellow-100#ffc7261.6:1 fails AA--govbb-color-brand-accent

Pink

PreviewTokenValueOn white
--govbb-pink-00#ad11577.0:1 AA
--govbb-pink-10#fff4fb1.1:1 fails AA
--govbb-pink-40#ffd4f01.3:1 fails AA
--govbb-pink-100#ff94d92.0:1 fails AA

Purple

PreviewTokenValueOn white
--govbb-purple-00#4a235a12.5:1 AA
--govbb-purple-40#ddc0e91.6:1 fails AA
--govbb-purple-100#a962c74.0:1 AA large only

Accessibility

Every text and background combination must meet WCAG AA contrast: 4.5:1 for body text, 3:1 for large text and interface graphics. The "on white" column above shows each shade's computed ratio against a white background. As a rule the dark 00 shades pass as text on white (except --govbb-yellow-00); the pale 10 and 40 tints and the vivid 100 shades do not, so treat those as backgrounds and accents. Check any combination the ratios above do not already cover before you ship it.