Skip to main contentdv01 Waterfall Design System

Button

General guidance

Buttons are used to initialize an action. Button labels express what action will occur when the user interacts with it.

Buttons are used primarily for actions. Examples include Add, Save, Delete, and Sign up. Each page should have one primary button, and a Return or Enter keyboard event should trigger it. Any remaining calls-to-action should be represented as secondary buttons.

Do not use buttons as navigational elements. Instead, use links when the desired action is to take the user to a new page.

Primary buttons always appear to the right. Secondary buttons appear to the left of the primary button.

Button order

When using multiple buttons, the primary button appears to the right and any secondary buttons appear to the left. Research has shown that performance differences between secondary and primary button placement are negligible, however maintaining consistency throughout a product, offering, or platform is crucial. The Secondary / Primary button order (secondary to the left and primary to the right) is therefore our required guidance and should be followed at all times.

Button alignment

Button alignment depends on where the buttons appear.

  • Use left-justified buttons for forms on their own page (not in a modal or side panel).
  • Use right-justified buttons if the primary response advances the user through a multi-step configuration such as a wizard.

Labels

Button labels should clearly indicate the action of the button. Use active verbs, such as Add or Delete. Use sentence-style capitalization (only the first word in a phrase and any proper nouns capitalized) and no more than three words for button labels.

For sets of buttons, use specific labels, such as Save or Discard, instead of using OK and Cancel. This is particularly helpful when the user is confirming an action.

For consistency, see labels and idioms for the approved list of action labels.

Variations

Button typePurpose
PrimaryFor the principal call to action on the page.
SecondaryFor secondary actions on each page.
Button with iconWhen words are not enough, icons can be used in buttons to better communicate what the button does. Icons are always paired with text.
Disabled buttonUse when the user cannot proceed until an input is collected.
Set of buttonsWhen an action required by the user has more than one option, always use a a negative action button (secondary) paired with a positive action button (primary) in that order. Negative action buttons will be on the left; positive action buttons on the right. When these two types of buttons are paired in the correct order, they will automatically space themselves apart.
Small buttonUse when there is not enough vertical space for a regular sized button.
Ghost buttonWhen an action does not require primary dominance on the page.
Danger buttonWhen an action has potentially destructive effects on the user‘s data (delete, remove, etc).

Code

src/button
<Button label="Primary Button" />
src/button
<Button variant="secondary" label="Secondary Button" />
src/button
<Button label="Default Button" variant="default" />
src/button
<Button label="Outline Button" variant="outline" />
src/button
<Button label="Warning Button" variant="warning" />
src/button
<Button label="Danger Button" variant="danger" />
src/button
<Button label="Ghost Button" variant="ghost" />
src/button
<Button label="Small Button" size="small" />
src/button
<Button label="Medium Button" size="medium" />
src/button
<Button label="Large Button" size="large" />
src/button
<Button label="Full Width Button" fullWidth />

References