CTA

A Call To Action (CTA) allows
people to complete an action or
navigate to a different location.

There are two types of CTA that you can use depending on the context of use.

The CTA Button allows people to complete an action on the current page. The CTA link allows people to navigate to a different location. They're both visually identical.

Use a CTA when there is a clear action (or 2) that helps users move towards their goal or complete the main task.

A CTA button should be used to allow people to complete an action on the current page, or to allow them to submit information. Examples of this may be:

  • Submitting a form
  • Deleting previously saved information
  • Opening a modal

A CTA link should be used to allow people to navigate elsewhere. Examples of this may be:

  • Navigating to a piece of important information (either in the same page, or a different page)
  • Used within a card component to navigate to relevant information

Do not use this component:

  • For auxiliary actions that would pull people off the main journey. For example: 'Read more info on the Tado website', when it should be a text link instead.
  • For a long list of actions. An ActionList is usually more appropriate for this use case.

Live example

Storybook failed to load. Please connect to the VPN to access.

Availabile platforms

Platform

Available

Figma

v1+

Web (@ovotech/element)

v1+

App (@ovotech/element-native)

v1+


How to use it

Primary, secondary or destructive?

Use a primary CTA for the main call to action on the page.

Then use secondary CTAs if needed.

Only use destructive CTAs for actions with serious consequences that cannot be easily undone by a user. Make users think carefully before they use them. They only work if used sparingly. Most journeys do not need one.

Writing a label

  1. Imagine finishing this sentence in as few words as possible: "On the next page, you can [functional task]"
  2. Now, see if you can phrase that task in even fewer words using a verb and noun (action and name).

Remember, CTA buttons should be an ideal of 2 words, absolute maximum 4 words.

  • use sentence case
  • lead with a verb (an action word, for example 'Go', 'Find', 'Change')
  • be as clear as possible about what the action will do
  • focus on the function
  • put it as simply as possible
  • use one main action per screen only
  • use active language
  • respect that the customer knows what’s best for them
  • check it's accessible for screenreaders – can this copy stand alone without body copy and still make sense?
  • be overly dramatic or pushy
  • use punctuation at the end of the copy
  • use a question
  • be redundant – vary this copy from headlines and other copy on the page
  • use words like 'Click here', 'Learn more', or 'Get started', which are vague or and not compelling
  • use first person - for example 'my', 'I'
  • try to lure users back in - this isn’t the right moment

Adapting our tone of voice

  • For primary actions, this copy can lean into our optimistic and gutsy traits
  • For secondary and destructive actions, dial up our straight-talking and inclusive traits

Examples

Get a quote

Pay bill

Change address

Let’s get started!

Make my monthly payment

Change address on file

Grouping CTAs

When grouping 2 or more CTAs together:

  • align inline CTAs right to left

 

  • stack full-width CTAs top to bottom
  • only use one Primary and put it first - on the right for inline CTAs and at the top for stacked CTAs

Adding an icon

CTAs like ‘Next’ or ‘Back’ can include a right or left chevron.

Full-width CTAs

Use full-width buttons:

  • where an inline CTA would take up more than half the container width
  • on small screens
  • in narrow containers, such as some card layouts, on larger screens
  • inside a container to make them the same width when 2 or more buttons are stacked vertically

Disabled CTAs

We do not support disabled CTAs. When a user encounters a disabled button they are blocked but they don’t know why.

Best practice is to use an enabled button and surface the reason why they can't complete that action.

Interactive states

CTAs have specific states for hover and focus, which should not be overwritten.


Properties

These are the properties for anyone implementing this component and code.

Name

Values

Default

iconLeft

IconName off

off

iconRight

IconName off

off

fullWidth

boolean

false

variant

primary secondary destructive

primary

...

JSX.IntrinsicElements["button"]

 


Checking for accessibility

User stories

The following user stories can be used to understand when this component should be used, and how to know when it's been implemented correctly.

  • As someone using the component, I want to be able to easily understand the purpose of the control.
  • As someone with a motor disability, I want to be able to easily select the correct control.
  • As a screen reader user, I want to be able to understand the purpose of the control and whether it will complete an action on the same page, or navigate me elsewhere.
  • As a keyboard-only user, I want to be able to navigate to the control.

For a CTA button:

  • As a keyboard-only user, I want to be able to activate the button using the Space key.

For a CTA link:

  • As a keyboard-only user, I want to be able to activate the link using the Enter key.

Test steps

Use these steps to check that the CTA component has been implemented correctly:

For a CTA button:

  1. Turn on a screen reader.
  2. Navigate to the CTA button using the Tab key.
  3. Verify that the screen reader announces a role of "button".
  4. Verify that the visible label for the button is included in the name announced by the screen reader.
  5. Verify that the button can be activated using the Space key.

For a CTA link:

  1. Turn on a screen reader.
  2. Navigate to the CTA link using the Tab key.
  3. Verify that the screen reader announces a role of "link".
  4. Verify that the visible label for the link is included in the name announced by the screen reader.
  5. Verify that the link can be activated using the Enter key.

Avoiding accessibility barriers

We're aware of the following barriers that can be introduced when using this component. Ensure that you are not adding barriers, by considering the following:

  • When using the CTA link, ensure that an href attribute is always provided, so that people can navigate to the control using only a keyboard, and so that an appropriate role is communicated to screen reader users. Without this, people may be unable to use the link.

Related components