Skip to content

Colours

Colour palettes, semantic usage and accessibility requirements.

Palettes

Colours that are grouped into semantic groups are called palettes. Context determines which palette colour should be used and the contrast requirements that need to be met.

Palette colours

Each palette has six colours, except the Primary palette, which has four.

{base} represents the palette name. For instance, in the success palette, the {base} token is success and the on{Base} token is onSuccess.

  • {base} - saturated fill, or for use on canvas
  • on{Base} - text and icon colour on {base} or alt surfaces (meets 4.5:1 contrast against both)
  • alt - saturated fill, slightly darker than {base}; used for hover state when a component using {base} is interactive; never used as a static colour
  • subtle - very light background, suitable for larger fill areas
  • muted - light background, suitable for smaller fill areas
  • onMuted - text and icon colour on subtle or muted surfaces (meets 4.5:1 contrast against both)

Note: infoContrast, successContrast, warningContrast, and errorContrast are deprecated aliases for their respective on{Base} tokens. primaryContrast is not deprecated.

Primary

Establishes visual hierarchy and draws attention to the most important action on a page. The main signal of interactivity in the system. May be the brand colour, but not necessarily.

Primary
#2F4379
AA
Primary Alt
#212A4A
AA
Primary Muted
#F2F6FC
AA
Primary Contrast
#FFFFFF
AA
Theme tokens
TokenDefault Value
colors.primary
#2F4379
colors.primaryAlt
#212A4A
colors.primaryContrast
#FFFFFF
colors.primaryMuted
#F2F6FC

Error

Signals that something has gone wrong or will cause a problem if the user proceeds.

Error
#D40C3C
AA
On Error
#FFFFFF
AA
Error Alt
#B70932
AA
Error Subtle
#FFF0F1
AA
Error Muted
#FFE3E5
AA
Error On Muted
#8E0B21
AA
Theme tokens
TokenDefault Value
colors.onError
#FFFFFF
colors.errorSubtle
#FFF0F1
colors.errorMuted
#FFE3E5
colors.error
#D40C3C
colors.errorAlt
#B70932
colors.errorOnMuted
#8E0B21
colors.errorContrast
#FFFFFF

Warning

Signals that something needs attention, but is not necessarily a problem yet.

Warning
#B95E04
AA (Large)
On Warning
#FFFFFF
AA (Large)
Warning Alt
#96480A
AA (Large)
Warning Subtle
#FFFAD7
AA (Large)
Warning Muted
#FFEF87
AA (Large)
Warning On Muted
#7B3B0C
AA (Large)
Theme tokens
TokenDefault Value
colors.onWarning
#FFFFFF
colors.warningSubtle
#FFFAD7
colors.warningMuted
#FFEF87
colors.warning
#B95E04
colors.warningAlt
#96480A
colors.warningOnMuted
#7B3B0C
colors.warningContrast
#FFFFFF

Info

Provides supporting context that is useful but not urgent.

Info
#0F74CD
AA (Large)
On Info
#FFFFFF
AA (Large)
Info Alt
#0C5498
AA (Large)
Info Subtle
#F1F7FE
AA (Large)
Info Muted
#E2EEFC
AA (Large)
Info On Muted
#123D68
AA (Large)
Theme tokens
TokenDefault Value
colors.onInfo
#FFFFFF
colors.infoSubtle
#F1F7FE
colors.infoMuted
#E2EEFC
colors.info
#0F74CD
colors.infoAlt
#0C5498
colors.infoOnMuted
#123D68
colors.infoContrast
#FFFFFF

Success

Confirms that an action completed as expected or that a state is healthy.

Success
#07883F
AA (Large)
On Success
#FFFFFF
AA (Large)
Success Alt
#08793A
AA (Large)
Success Subtle
#EEFFF4
AA (Large)
Success Muted
#CCFFE1
AA (Large)
Success On Muted
#0C5B30
AA (Large)
Theme tokens
TokenDefault Value
colors.onSuccess
#FFFFFF
colors.successSubtle
#EEFFF4
colors.successMuted
#CCFFE1
colors.success
#07883F
colors.successAlt
#08793A
colors.successOnMuted
#0C5B30
colors.successContrast
#FFFFFF

Canvas

Canvas is main colour used for backgrounds and impacts the contrast requirements of the other colours - Primary, Body and Heading for example need to be visible when appearing with this colour.

Canvas
#FFFFFF
AA
Theme tokens
TokenDefault Value
colors.canvas
#FFFFFF

Canvas Muted

Canvas Muted is similar to Canvas, but allows for an additinal background colour to distunguish section, such as alternating rows on a table.

Canvas Muted
#FAFAF9
AA
Theme tokens
TokenDefault Value
colors.canvasMuted
#FAFAF9

Body

Body is used for body text. It needs to be accessible when used with Canvas and Canvas Muted.

Body
#57534E
AA
Theme tokens
TokenDefault Value
colors.body
#57534E

Heading

Heading is used for heading text. It needs to be accessible when used with Canvas and Canvas Muted.

Heading
#292524
AA
Theme tokens
TokenDefault Value
colors.heading
#292524

Border

Border is used the borders of important UI elements, such as text inputs. It needs to be accessible when used with Canvas and Canvas Muted.

Border
#78716C
AA
Theme tokens
TokenDefault Value
colors.border
#78716C

Border Muted

Border Muted is used the borders of decorative UI elements, such as cards. As it is used for decorative elements only it has no specific requirement to be accessible.

Border Muted
#D6D3D1
Theme tokens
TokenDefault Value
colors.borderMuted
#D6D3D1

Focus

Focus is used to highlight the currently selected item when using tab navigation. It needs to be accessible when used with Canvas and Canvas Muted.

Focus
#2A71BE
AA
Theme tokens
TokenDefault Value
colors.focus
#2A71BE

Accessibility

We take web accessibility standards seriously. As a result, we require all designs to meet the minimum contrast ratios specified by WCAG 2.1 Level AA which requires a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text. It also requires a contrast ratio of at least 3:1 for graphics and user interface components (such as form input borders).

You can check contrast at https://webaim.org/resources/contrastchecker/ (opens in new window) 

What is large text?

Large text is defined as typically bold text of 18.66px and larger, or regular text of 24px and larger. WCAG 2.1 Level AA requres a contrast ratio of 3:1 for Large Text.

What counts as decorative use?

Just because a colour doesn’t have sufficient contrast, doesn’t mean we can’t use it for purely decorative means. When using colours in this way it’s important not to relay any important information, as visually impared users may struggle to see it at all.

The element should have no impact on the meaning of the page - if it were removed, it wouldn’t affect the user’s experience.