title: Button
navTitle: Button
summaryParagraph: Buttons perform actions.
tags: ["Link button", "Primary action", "Secondary action", "Default action", "Destructive action", "Directional link", "Pagination link"]
githubLabels: ["component:button"]
needToKnow:
- Buttons perform actions.
- If it needs to navigate somewhere and can be opened in a new tab, use a link instead.
headerImage: button
demoStoryId: components-button--default-kaizen-site-demo
health:
designed: true
documented: true
implemented: true
latestDesign: true
allVariants: true
responsive: true
internationalized: true
accessible: true
import WhenToUseAndWhenNotToUse from "docs-components/WhenToUseAndWhenNotToUse"
import WhenToUse from "docs-components/WhenToUse"
import WhenNotToUse from "docs-components/WhenNotToUse"
import DoAndDontContainer from "docs-components/DoAndDontContainer"
import Do from "docs-components/Do"
import Dont from "docs-components/Dont"
Visuals
To keep in mind
- All buttons excluding Pagination use a button element (not a link element and no
role=âbuttonâ
)
- All buttons have a large click target of 48px to meet minimum touch target sizes
- Default action button:
- Use this when there is more than 1 button or it is not the most important action on the page
- Primary action button:
- Use only 1 primary action button per page
- Secondary action button:
- Secondary action buttons can look like links, however, they perform actions and are not recommended for navigating.
- Destructive action button:
- Only use when the action will result in data loss, cannot be undone, or otherwise have significant consequences
- Icon + label (icon on the left):
- RTL: flip the direction of arrow icons when the user is using a right-to-left language
- Label + icon (icon on the right):
- RTL: flip the direction of arrow icons when the user is using a right-to-left language
- Disabled buttons:
- Pagination buttons:
- These are purpose-built for the Pagination component.
- They look like buttons but are instead links. Pagination buttons use a link element because it navigates to another page.
- Pagination link:
- Centrally located within the Pagination component to display the available page numbers.
- Used to navigate between available pages.
- Directional link:
- Bookends (to the left and right of) the Pagination links.
- âBackâ and âNextâ links allow page navigation to occur incrementally across a page list.
- (Optional) âStartâ and âEndâ links allow the user to skip to the first and last items in a page list.
- Focus indicator:
- Working buttons:
- Supplementary information:
- You might show additional, optional information on hover and focus using a Tooltip or Popover.
Copy guidelines
All buttons across the platform should be clear, actionable and predictable. When a user clicks on a button, they should know what to expect. Therefore, itâs important to pay close attention to the labelling. Here are the most important rules to keep in mind:
Use a verb
Make sure that all your buttons begin with a strong verb (something that elicits an action from the user). Verbs indicate to a user what theyâre about to see or do next. There are two ways to use verbs in a button:
Verb + noun
A verb and noun combination gives users more context and can help guide them when the action theyâre about to perform isnât commonplace.
- View heatmap
- Create survey
- Archive survey
Verb only
A verb only label should be used in cases where the action the user is about to perform is common and the meaning is clear. In these cases, the context in which the button appears is enough to know what the verb is referring to without needing a noun. This is a good option for when space is tight.
- Go to next step
- Close this screen
- Ignore this
Here are some commonly used verb-only buttons in the platform:
- Next (not âContinueâ)
- Done (not âCloseâ)
- Cancel (not âIgnoreâ or âDiscardâ)
- Back (not âPreviousâ)
- View (not âSeeâ)
- Edit (not âChangeâ)
- Save
- Update
- Skip
- Delete
Write in sentence case with minimal punctuation
All buttons should be in sentence case i.e. the first letter of the first word is capitalized and everything else is in lower case unless itâs a proper noun or feature name. Always err on the side of minimal punctuation, so leave out full stops and commas where possible.
- Create survey
- Deactivate & continue
- View heatmap
- Create Survey
- Deactivate And Continue
- View Heatmap
Keep it short
The optimum number of words for a button is between 2 and 3 words. Buttons should be in active voice, succinct and scannable. So, avoid words like âaâ and âanâ and use an ampersand if youâre short for space.
- Create survey
- Archive survey
- Select action
- Create a survey
- Archive onboarding survey
- Select this action
Be descriptive
Make sure that your verbs describe the action accurately. Use words like âCancelâ and âSave.â Avoid phrases like, âClick here.â Not only is that redundant, it also doesnât describe what the user will see next nor does it comply with our accessibility rules.
Donât use âyesâ or ânoâ
Avoid using âyesâ or ânoâ as buttons. This requires the user to read the body text to know what theyâre agreeing or disagreeing to.
Use second person
Any buttons that include a personal pronoun should be written in the second person.
Keep in mind that you shouldnât use personal pronouns unless youâre asking the user to filter something. For example, âView your reportsâ vs âView all reports.â
The button should match the body
Make sure that the button uses the same verb and noun as whatâs used in the body text above it. For example, if you say âUpload your most up-to-date employee data into Culture Amp.â in the body, the button should say âUpload data,â not âImport data.â There are also cases in which the action the user wants to perform is a common label button like âNextâ or âCancel.â Make sure that youâve rewritten your body copy to make the action very clear. For example, if a user is trying to cancel sending a survey, but thereâs also a cancel button to exit the modal theyâre viewing, reword the copy of the body to say âdonât send survey.â
When to use and when not to use
- A button indicates to a user that they can perform an action on this page, such as:
- Apply an action to an object, e.g. save, delete, add an item, undo, create a new item
- Submit a form to send data
- Start a new task
- Trigger a new element to appear on the page e.g. toggle additional information, open a modal
- Trigger the next step in a process
- Donât use a button when navigation is involved. Instead, use a link.
- If the button is used to toggle between 2 states, consider using a Toggle Switch instead.
See also
External links
Here are some examples of other existing design systems: