Skip to content

CTA Button

CTA Buttons perform an action on the page or submit a form.

Overview

CTA button is used to perform an action when clicked. Please note that, when taking the user to a new location, a CTA Link should be used instead.

Usage

CTA Button

The base CTA Button that supports the use of variants.

Primary CTA Button

The primary variant of CTAButton. These are used for performing routine tasks.

Secondary CTA Button

The secondary variant of CTAButton. These should be used to perform an action other than the primary task.

Destructive CTA Button

The destructive variant of CTAButton. Destructive should only be used for destructive actions.

Loading state

Buttons have a boolean loading property which replaces the button content (including any icons) with a spinner animation when set. Use this to indicate to users that you're taking an action after the button has been clicked.

Content

CTAs should be succinct and precise:

  • Always use sentence case.
  • Always use active language.
  • Always be specific.
  • Avoid repeating the same language you've used in a Heading.
  • Avoid the use of personal possessive pronouns. This helps to keep the copy short.

Accessibility

In order to avoid confusion while using screen readers each CTA on a page should be unique. If this isn’t possible, use Visually Hidden.

Variations

Full Width

CTA Buttons by default will be responsive and will be displayed as full width below the smallest breakpoint. This can be overriden by setting fullWidth="always" and fullWidth="never".

Chevron Icon

Multi-part forms with CTAs like ‘Next’ or ‘Save & Continue’ should be buttons (because they submit forms). Including a chevron indicates that the journey is not complete.

Customising variants

Custom variants can be defined in your theme using the variants property.

Properties

NameValuesDefault

iconLeft

offIconName

off

iconRight

offIconName

off

fullWidth

alwaysneversmall

small

variant

primarysecondarydestructive

primary

loading

truefalse

false

...

JSX.IntrinsicElements["button"]

Tokens