GC Design System Styles
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

Typography tokens

Typography tokens include the style, arrangement, and appearance of letters, numbers, and symbols.

Typography and accessibility

GC Design System components meet level AA of the Web Content Accessibility Guidelines (WCAG 2.1) for text spacing and AAA for visual presentation.

Vertical rhythm and rem spacing sizes

GC Design System typography spacing is based on vertical rhythm and calculated with the help of a base size.

Vertical rhythm aligns text to evenly spaced horizontal lines in repeated patterns. Consistent vertical spacing helps make content easier to scan, read, and understand. Spacing sizes are configured with rem units. All spacing sizes are relative to a base size of 1.25rem (20px) and what we use to calculate all typography and spacing values.

Global typography tokens

Headings

Heading tags for headings and subheadings give a page structure, organize content. They also support navigation, especially for people using assistive technology.

  • All headings and subheadings need a heading tag (<h1> - <h6>).
  • Start main content with an H1. Use no more than one H1 for each page.
  • Order heading levels numerically. H3 follows H2, H2 follows H1, and so on.
  • Avoid skipping hierarchical heading levels.
  • Match an H1 font size with an H1 line height, an H2 font size with an H2 line height, etc.
  • Use headings for calls to action and to create emphasis.
  • Make each heading distinctive and make it obvious what the content is about.
PreviewToken nameValue
Heading 1 --gcds-font-h1700 2.56rem/117% 'Lato', sans-serif
Heading 2 --gcds-font-h2700 2.44rem/123% 'Lato', sans-serif
Heading 3 --gcds-font-h3700 1.81rem/137% 'Lato', sans-serif
Heading 4 --gcds-font-h4700 1.69rem/133% 'Lato', sans-serif
Heading 5 --gcds-font-h5700 1.5rem/133% 'Lato', sans-serif
Heading 6 --gcds-font-h6700 1.38rem/145% 'Lato', sans-serif

Note: The font property is a shorthand property for font-weight, font-size/line-height, font-family.

Text

  • For font size, keep text line length below 65 characters for a comfortable, accessible reading length.
  • Use the css unit 65ch (--gcds-text-character-limit) or lower to set the maximum width of your paragraphs.
PreviewToken nameValue
Text --gcds-font-text400 1.25rem/160% 'Noto Sans', sans-serif
Text small --gcds-font-text-small400 1.13rem/155% 'Noto Sans', sans-serif

Font families

Headings use the font "Lato". Paragraphs and other text use the font "Noto Sans".

The font family contains fallback values. The fallback is a substitute value for font families only in case the font is not available.

  • Only use the heading tokens for headings. Everything else can be set in text.
  • Use text font family for most purposes.
  • Opt to use monospace when citing code to give specific code examples.
PreviewToken nameValue
Heading --gcds-font-families-heading'Lato', sans-serif
Text --gcds-font-families-body'Noto Sans', sans-serif
Monospace --gcds-font-families-monospace'Noto Sans Mono', monospace
icons --gcds-font-families-icons'gcds-icons'

Font weights

  • Limit the quantity of font weights you use in the same space to avoid compromising contrast. Only use two or three weights with as much contrast as possible.
  • Use font weights to emphasize words within a table, at the start of a paragraph, or in long blocks of text when you've exhausted available headings and other style elements.
  • Be mindful in establishing emphasis in an accessible way, many assistive technologies ignore font weights.
  • Instead of font weights, consider using bullets or increasing white space to break up text.
PreviewToken nameValue
Light --gcds-font-weights-light300
Regular --gcds-font-weights-regular400
Medium --gcds-font-weights-medium500
Semibold --gcds-font-weights-semibold600
Bold --gcds-font-weights-bold700

Bold text

  • Maintain the default bold setting for headings.
  • Overuse of bold text can create cognitive processing difficulties for sighted readers.

Italics

  • Use italics when referencing a Canadian law, as in Accessible Canada Act.
  • Limit your use of italics to short strings of text. Long passages in italics can create cognitive processing difficulties for sighted readers.

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-10