GC Design System Components
Home Start to use Page templates overview Basic page Components overview Breadcrumbs Button Card Checkboxes Container Date input Date modified Details Error message Error summary Fieldset File uploader Footer Grid Header Heading Icon Input Language toggle Link Notice Pagination Radios Screenreader-only Search Select Side navigation Signature Stepper Text Textarea Theme and topic menu Top navigation CSS shortcuts overview Reset styles Responsive layout State Box sizing Container sizing Display Overflow Position Visibility Font Font family Font size Font style Font weight Line height Link colour Link size Link text decoration List style Text align Text colour Text overflow Text transform Word break Margin Padding Align content Align items Align self Flex Flex direction Flex grow Flex shrink Flex wrap Gap Grid columns Grid rows Justify content Justify items Justify self Order Place content Place items Place self Background colour Border colour Border radius Border style Border width Icon names Icon size Image Cursor Pointer events Transition Styles overview Design tokens Colour tokens Spacing tokens Typography tokens Contact us Get involved Find a demo

Button
<gcds-button>

Also called: call to action, CTA.

The button is an interactive object that emphasizes an action.

Button component preview

Button anatomy

  1. The container gives the button its visual prominence.
  2. The label states the action that’ll happen when someone interacts with the button. Text is in sentence case, where only the first letter is capitalized.
Button anatomy: A label reads “Button label” surrounded by a blue container.

Design and accessibility for buttons

Make the button findable

  • Limit the number of buttons on a page. Reserve buttons for the most important actions.
  • Place buttons in a regular and predictable way.
  • Avoid making a person needlessly scroll, tab, or type by providing the path to the next action early.
  • Check the button border’s visibility against the surface where you’re placing it.

Write short, specific, and descriptive button labels

  • Make the button’s action obvious with a short, specific label that has a verb, or a verb and a noun, like “Submit” or “Get estimate”.
  • Use sentence case.
  • Use unique and specific accompanying text to prevent repetition for screen readers.
  • Use literal phrases. Avoid expressions that may be unfamiliar to non-fluent speakers.

Help us improve

Have questions or a request? Give feedback on our contact form.

Something's wrong? Raise it through GitHub with an account. You'll have access to the team's direct responses, progress made on your issue, and issues raised by others.

Give feedback Report an issue on GitHub
2025-03-25