Components · Status and navigation

Breadcrumb Base

A breadcrumb base is one level of a breadcrumb trail: a bordered box with a label. A parent level is a link; the current page is bold and not clickable.

Tokens, sizes, measurements, states and requirements. Values come from the live token package and from Figma: Breadcrumb Base.

Design Tokens

Resolved from the live token package.

StatePartTokenValue

Sizes

BreakpointCrumb paddingTextLetter spacingWeight
Mobile: xs and sm (0–768px)6px 7px12px / 12px0.24pxRegular 400, current 600
Desktop: md, lg and xl (769px+)9px 10px14px / 14px0.28pxRegular 400, current 600

The border is 1px and is part of the box. Figma writes the current weight as Bold (700); in CSS it is 600 (Figma − 100). Sizes change at 769px and never at 640px.


Measurements

Dimensions

Padding of the crumb. The shaded areas are the padding; the numbers are read from the real component. Change the Breakpoint to see the mobile values.

Breakpoint
The crumbs at twice their size (the figure is scaled 2×).
AttributeValue
Padding, desktop9px top and bottom, 10px left and right
Padding, mobile6px top and bottom, 7px left and right
Border1px, border-action-3, in the box
Height, desktop34px (14px line + 18px padding + 2px border)
Height, mobile26px (12px line + 12px padding + 2px border)
CornersSquare

Spacing

The paddings (6, 7, 9 and 10px) have no spacing token.

PartValue
Padding6, 7, 9 and 10px: no spacing token
Focus ring offset2px

States

Hover is forced on this page; in your code it comes from :hover. Every state keeps the box and the border.

Breakpoint
StateCrumbBorderText

Figma has Enabled, Enabled Hover and Active for each breakpoint, and no Focus or Disabled state. Focus is the shared 2px ring; a crumb is never disabled.


Typography

PartFontSize / lineLetter spacingWeight
Label, desktopBreuer Condensed14px / 14px0.28pxRegular 400, current 600
Label, mobileBreuer Condensed12px / 12px0.24pxRegular 400, current 600

Font features ss02 and ss03 are on. Size and line height are the pair of label-sm (12/12 on mobile, 14/14 from 769px). Open point: Figma sets the letter spacing to 0.24px and 0.28px, the token has 0.48px and 0.56px; breadcrumb.css follows Figma and writes all values as pixels.


Structure

Elements

ElementClassNotes
Crumbbreadcrumb-itemAn a with an href. The bordered box and the label.
Current pagebreadcrumb-item breadcrumb-item--activeA span with aria-current="page". Bold and black.

Types

TypeMarkupUse
Enabled / Hovera.breadcrumb-itemA parent level. Hover comes from :hover.
Current pagespan.breadcrumb-item--activeThe last crumb.

Width

A crumb is as wide as its label plus the side padding. The label never wraps (white-space: nowrap).


Motion

PropertyTokenValue
Text color on hoverduration-fast-3
Easingease-standard

The underline appears at once; only the color is animated.


Behavior

TopicResult
HoverText color text-action-primary and an underline. The border does not change.
FocusA 2px ring, 2px outside the box, on keyboard focus only (:focus-visible with body.keyboard-nav).
Current pageNo hover, no underline, no pointer cursor, no focus.
BreakpointThe size changes at 769px: 12/12 below, 14/14 from there.

Accessibility Requirements

TopicRequirement
LinksEvery parent crumb is an <a href>. Figma draws the hover crumb as a button; in code it is a link, because it navigates.
Current pageA span with aria-current="page", not a link.
ContrastText in text-tertiary on white and on grey must reach 4.5:1 (WCAG 1.4.3). The border (border-action-3) is decoration, not the only cue.
Target sizeThe box is 34px high on desktop and 26px on mobile. Keep the gap to the next crumb at 8px or more (WCAG 2.5.8).
FocusA visible focus ring on every link (WCAG 2.4.7).