search⌘K

Link

Last Updated: September 2026

Links are navigational triggers that are ideally reserved for destinations either outside the application or in-app destinations that open in a new browser tab.

Anatomy

link
Dotted grid scale: 8px
  1. 1Label
  2. 2Prefix icon
  3. 3Suffix icon

Variants

link

Neutral

Default tertiary text color for quieter links.

Accent

Accent-colored link for stronger emphasis.

With icons

prefixIcon and/or suffixIcon render Material Symbols.

Disabled

disabled sets aria-disabled, removes tab focus, and blocks activation.

As button

Use render to morph into another element while keeping link styles.

Sizes

link

Links support 3 sizes: XS, S, and M.

Line spacing scale: 8px
16px
20px
24px

Usage Guidelines

link

When to use

  • •For navigation to another page, section, or external resource.
  • •When the action is destination-oriented rather than a command.
  • •Inline within body copy or supportive UI chrome.

When not to use

  • •For actions that submit or mutate data — use Button.
  • •For sidebar destinations with icon + label — prefer NavigationItem.
  • •For menus of actions — use Menu.
checkDo

Use descriptive destinations in the label.

closeDon't

Don't use vague labels like 'Click here'.

checkDo

Mark external destinations with a suffix icon when helpful.

closeDon't

Don't use Link for destructive or form-submit actions — use Button.

Behaviors

link

Disabled

  • •Native anchors cannot be truly disabled; Link sets aria-disabled and tabIndex={-1}.
  • •Clicks are prevented while disabled.

Polymorphic render

  • •render swaps the underlying element (e.g. button or router Link).
  • •Styles and icons still apply to the rendered host.

Content Guidelines

link

Labels

  • •Name the destination or document.
  • •Sentence case; keep labels concise.

Accessibility

link

Text & Labels

  • •Visible text should describe the destination.
  • •If using icon-only patterns, supply an accessible name on the host.

ARIA attributes

  • •aria-disabled is set when disabled.
  • •Prefer real href navigation for true links.

Keyboard Support

  • •Tab → focus (unless disabled).
  • •Enter → activate.

WCAG Compliance Standards

FAQs

link

Link vs Button?

Use Link for navigation. Use Button for actions that change data or trigger commands.

Link vs NavigationItem?

NavigationItem is for sidebar/rail destinations with icon + label. Link is for inline or compact navigation.

How do I use a router link?

Pass your router component via the render prop while keeping Link styles.

link