Skip to content

Link

Links allow users to navigate between pages, sections, or external resources while remaining visually distinguishable within content. They are used for actions that change context rather than trigger in-page processes.

This component supports two types: Inline (embedded within running text) and Standalone (used independently as a navigational element). Both types are fully responsive across mobile, tablet, and desktop viewports.

Use a Link when the action takes the user to another page, section, or external resource. Links are intended for inline or rich text contexts (for example, within editorial or CMS-managed content).

For interactive or transactional actions (e.g. submit, save, confirm), use the main Button component instead. Avoid using Links for CTAs or actions that trigger in-page changes.

The default icon is an example: it can be replaced with any icon from the shared iconography library, as long as accessibility and balance are maintained. Avoid mixing Buttons and Links within the same action group to preserve clarity and hierarchy.

Quick summary of accessibility & consistency

Section titled “Quick summary of accessibility & consistency”
  • Inline links inherit typography from their parent text but remain visually distinguishable through colour and underline.
  • Standalone links use predefined sizes and ensure a 24–44 px minimum touch target.
  • Meets WCAG 2.1 AA: sufficient contrast and visible focus.
  • Minimum touch target: 24×24 px (recommended 44×44 px).
  • All links are built in SVG + text, tokenised for foreground and focus states.
  • Decorative icons must be marked with aria-hidden="true".

Neutral

Link Button
Width: 55
Border radius: 0
Label
Text color:
buttons-link-button-neutral-foreground-color#000000
buttons-link-button-neutral-foreground-color#282830

Rested

Label
Text color:
buttons-link-button-neutral-rested-foreground-color#00244d
buttons-link-button-neutral-rested-foreground-color#0072f0

Hover

Label
Text color:
buttons-link-button-neutral-hover-foreground-color#001a38
buttons-link-button-neutral-hover-foreground-color#001874

Active

Label
Text color:
buttons-link-button-neutral-selected-foreground-color#4d4d4d
buttons-link-button-neutral-selected-foreground-color#001874

Visited

Label
Text color:
buttons-link-button-neutral-visited-foreground-color#00244d
buttons-link-button-neutral-visited-foreground-color#001874

Focus

Link Button
Border color:
color-border-focus-neutral-default#0072f0
color-border-focus-neutral-default#0072f0
Width: 63
Border weight: 2
Border radius: 2

Neutral

Label
Text color:
buttons-link-button-neutral-foreground-color#000000
buttons-link-button-neutral-foreground-color#282830

Rested

Label
Text color:
buttons-link-button-neutral-rested-foreground-color#00244d
buttons-link-button-neutral-rested-foreground-color#0072f0

Hover

Label
Text color:
buttons-link-button-neutral-hover-foreground-color#001a38
buttons-link-button-neutral-hover-foreground-color#001874

Active

Label
Text color:
buttons-link-button-neutral-selected-foreground-color#4d4d4d
buttons-link-button-neutral-selected-foreground-color#001874

Visited

Label
Text color:
buttons-link-button-neutral-visited-foreground-color#00244d
buttons-link-button-neutral-visited-foreground-color#001874

Focus

Link Button
Border color:
color-border-focus-neutral-default#0072f0
color-border-focus-neutral-default#0072f0

We define three text sizes for this component: Large (LG), Medium (MD) and Small (SM). Each size adapts to the visual hierarchy and the context of use across the system.

Large (LG) — Default for standalone links (e.g. end of cards, modals, or sections). Use when the link acts as a main navigational or call-to-action element.

Medium (MD) — Used in compact layouts or side panels, where space is limited but the link still needs prominence.

Small (SM) — Used for inline links within text, captions or metadata. It inherits the parent text size to maintain reading flow and hierarchy. Avoid using SM as a standalone default.

When used inline, the link inherits the text style of the paragraph but preserves its interaction and colour tokens. Standalone links always use the predefined typographic token (LG by default) and have internal padding to meet touch-target requirements (min. 24×24 px; recommended 44×44 px). Line height and spacing must ensure the clickable area is accessible on both desktop and mobile devices.

False

Label
Text color:
buttons-link-button-neutral-foreground-color#000000
buttons-link-button-neutral-foreground-color#282830

True

Label
Text color:
buttons-link-button-contrast-foreground-color#ffffff
buttons-link-button-contrast-foreground-color#ffffff

A boolean property that controls whether the link displays an icon alongside the label. Default value is true. The icon element depends on the Link sub-component.

Toyota

Label
Text color:
buttons-link-button-neutral-foreground-color#000000
buttons-link-button-neutral-foreground-color#282830

Lexus

Label
Text color:
buttons-link-button-neutral-foreground-color#000000
buttons-link-button-neutral-foreground-color#282830

Type: Inline, State: Neutral

Link Button
Direction: Horizontal
Alignment: Middle left
Vertical resizing: Hug
Horizontal resizing: Fixed
Item spacing: 4
container
Direction: Horizontal
Alignment: Middle left
Vertical resizing: Hug
Horizontal resizing: Hug
Item spacing: 4
NameApplied asApplied to
buttons-link-button-neutral-foreground-color
Text colorLabel
buttons-link-button-neutral-foreground-color
Text colorLabel
buttons-link-button-neutral-rested-foreground-color
Text colorLabel
buttons-link-button-neutral-rested-foreground-color
Text colorLabel
buttons-link-button-neutral-hover-foreground-color
Text colorLabel
buttons-link-button-neutral-hover-foreground-color
Text colorLabel
buttons-link-button-neutral-selected-foreground-color
Text colorLabel
buttons-link-button-neutral-selected-foreground-color
Text colorLabel
buttons-link-button-neutral-visited-foreground-color
Text colorLabel
buttons-link-button-neutral-visited-foreground-color
Text colorLabel
buttons-link-button-contrast-foreground-color
Text colorLabel
buttons-link-button-contrast-foreground-color
Text colorLabel
buttons-link-button-contrast-rested-foreground-color
Text colorLabel
buttons-link-button-contrast-rested-foreground-color
Text colorLabel
buttons-link-button-contrast-hover-foreground-color
Text colorLabel
buttons-link-button-contrast-hover-foreground-color
Text colorLabel
buttons-link-button-contrast-selected-foreground-color
Text colorLabel
buttons-link-button-contrast-selected-foreground-color
Text colorLabel
buttons-link-button-contrast-visited-foreground-color
Text colorLabel
buttons-link-button-contrast-visited-foreground-color
Text colorLabel
color-border-focus-neutral-default
Border colorLink Button (focus)
color-border-focus-neutral-default
Border colorLink Button (focus)
NameApplied asApplied to
Lorem Ipsum
buttons-link-button-lg-font-size
Text styleLabel (Large)
Lorem Ipsum
buttons-link-button-lg-font-size
Text styleLabel (Large)
Lorem Ipsum
buttons-link-button-md-font-size
Text styleLabel (Medium)
Lorem Ipsum
buttons-link-button-md-font-size
Text styleLabel (Medium)
Lorem Ipsum
buttons-link-button-sm-font-size
Text styleLabel (Small)
Lorem Ipsum
buttons-link-button-sm-font-size
Text styleLabel (Small)

Links are among the most common interactive elements, yet they can easily become accessibility barriers if not designed or coded properly. This section summarises the key guidelines to ensure every link is perceivable, operable, and understandable across devices and assistive technologies.

To ensure that links meet accessibility standards across platforms, please follow this implementation checklist. These recommendations align with WCAG 2.1 AA and EN 301 549, supporting keyboard navigation, screen readers, and assistive technology.

  • Use semantic <a> elements for all links.
  • Every link must have a descriptive text label that clearly indicates its destination or purpose.
  • For icon-only links, include a descriptive aria-label.
  • For external links, add aria-label="Opens in a new tab" or similar.
  • Avoid using duplicate or generic labels such as “Learn more” multiple times on the same page.
  • Links must be focusable via Tab and activable with Enter/Return.
  • Maintain a visible focus state at all times.
  • Ensure consistent focus order following the visual reading order.
  • Avoid using motion or animated effects that trigger on hover or focus.
  • Respect system preferences for reduced motion (prefers-reduced-motion).
  • Use role="link" only when a semantic <a> element is not available.
  • Never use <div> or <span> elements styled as links.
  • Ensure external links open safely (e.g. rel="noopener noreferrer" when target="_blank").
  • All links must be verified through automated accessibility tests (e.g. Axe, Lighthouse) before release.

To ensure accessibility and ease of interaction across devices, all interactive elements — including links — must respect a minimum touch target size.

Absolute minimum: 24 × 24 px — This is the lowest technical requirement referenced in accessibility documentation. It ensures that the link can still be reached, but does not guarantee an optimal experience for all users.

Recommended best practice: 44 × 44 px — This follows WCAG 2.5.5 Target Size (Level AA) and EN 301 549 guidance. Provides a more comfortable interaction area for users with motor difficulties, touch devices, or when using a device outdoors. Should be considered the default requirement in our design system.

The minimum target size applies regardless of the visual size of the component. If the visual element is smaller, additional spacing or invisible padding must be added to meet the requirement. Consistency is key: the same rule applies across all sizes (LG, MD, SM).

Guidance on how to use a component.
  • Add invisible padding around links when needed to expand the touch target (without altering the visual appearance).
  • Ensure links remain usable and clearly tappable in responsive layouts and mobile contexts.
Guidance on what to avoid when using a component.
  • Do not rely solely on the visible text size to define the touch area.
  • Do not define touch areas smaller than the minimum, even for inline links.
  • Avoid placing multiple inline links too close together, as overlapping touch areas may hinder accessibility.
  • Keep to 1–3 words when possible.
  • Avoid vague phrases like “Click here”.
  • Be concise and descriptive (e.g. “Learn more”, “View details”).
  • Keep link text under 24–30 characters for consistency across translations.
  • Use plain English and neutral phrasing to make localisation easier.
  • Text should wrap naturally rather than truncate, to preserve meaning and accessibility. Character limits (24–30 in English) are guidance, not strict enforcement.