Components · Links

Tile link

A tile link is a clickable, graphical link with an SVG graphic or an icon with a label. It highlights navigation destinations in grids and horizontal scrollers.

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

Design Tokens

Resolved from the live token package.

Background · statePartTokenValue

The border is a separate layer (inset: 0), so it never changes the tile size.


Sizes

Label and icon, label only

Size · placementDesktop paddingDesktop gapMobile paddingMobile gapIcon
Large · vertical10px 16px4px9px 16px4px24px
Large · horizontal8px 16px8px9px 16px4px20px
Small · vertical8px 16px4px6px 8px4px24px
Small · horizontal6px 16px8px6px 8px4px20px

Label only uses the horizontal padding, without an icon. sm (640 to 768px) looks like mobile.

Brand

BreakpointHeightHorizontal paddingLogo height
Desktop (769px+)112px48px48px
Mobile and tablet80px32px24px

Measurements

Dimensions

Padding of the tile at each size and placement. The shaded areas are the padding; the border is drawn in its own layer and does not change the size. The numbers are read from the component. A brand tile has a fixed height and only horizontal padding, so it is listed in the table.

Breakpoint
The tile at true size (1:1). Change the Breakpoint to see the mobile values.
AttributeValue
PaddingSee the figure and Sizes: per size, placement and breakpoint
Gap, icon to label4px, or 8px for Horizontal on desktop
Border1px, in its own layer (inset: 0)
Brand tile height112px desktop, 80px mobile
CornersSquare
Focus ring2px, 2px outside the tile

Spacing

The gap as a spacing token. The tile paddings (10, 9, 8 and 6px) have no spacing token.

PartValue
Gap, 4pxspace-4
Gap, 8pxspace-8
Padding, 16pxspace-16
Focus ring offset2px

States

Hover is forced on this page; in your code it comes from :hover.

Brand (SVG)

  • Enabled: a White container with a subtle border and the logo at full contrast; or a Black container with no visible border and the logo at full contrast.
  • Hover, White: the border appears or darkens (border-hover, 1px). The logo is unchanged.
  • Hover, Black: the surface is surface-action-1 with surface-opacity-white-20 on top. The logo is unchanged.

Label + icon and Label only

  • Enabled: a White or Grey container with a subtle border and the content at full contrast.
  • Hover: the border appears or darkens (border-hover, 1px), and the label and the icon shift to the action hover color.

All states

Breakpoint
Kind
StateWhiteGreyBlack

Typography

Size

SizeType tokenDesktopMobile
Largebody-md17/24, 0.32px16/22, 0.32px
Smallbody-sm14/20, 0.36px14/20, 0.36px

Breuer Condensed with ss02, ss03 and ss06.

Weight and style

ModifierClassCSS
Regular(none)font-weight: 400
Mediumtile-link--weight-mediumfont-weight: 500
Boldtile-link--boldfont-weight: 600
Italictile-link--italicfont-style: italic

The modifiers change the label only. The font package ships 300, 400, 500 and 700, each with an italic face, so 600 renders with the 700 face.


Structure

Elements

ElementClassNotes
Linktile-linkA real <a href>, display: inline-flex.
Innertile-link__innerThe tile. Holds the background, the padding and the border layer.
Icontile-link__iconA Material Symbol, aria-hidden.
Labeltile-link__labelOne line.
Logoimg in the inner elementBrand tiles only, with an alt.
Modifierstile-link--large, --small, --vertical, --horizontal, --brand, --white, --grey, --black
Label weight, styletile-link--weight-medium, --bold, --italicChange the label only.

Types

TypeClassUse
Label + icontile-link--large tile-link--vertical (or horizontal, small)An icon over or beside a label.
Label onlytile-link--horizontalThe label alone.
Brandtile-link--brand tile-link--largeA logo. Large only.

Width

The tile is as wide as its content plus the padding.


Motion

PropertyDurationEasing
border-colorduration-fast-3ease-standard

Behavior

InputResult
Click anywhere on the tileFollows the link.
Enter, TabFollows the link; 2px focus ring on keyboard focus.
HoverThe border darkens. A Label + icon or Label only tile also changes the color of the label and the icon; a brand logo is unchanged. The Black tile gets a 20% white overlay.
MarkupThe whole tile is one <a href>. Brand tiles need an alt with the brand name.

Accessibility Requirements

TopicRequirement
ElementOne <a href> for the whole tile. Links navigate; buttons act.
NameThe label is the link text. On a brand tile the alt of the logo is the link text (WCAG 1.1.1, 2.4.4).
FocusA 2px ring with border-focus and 2px offset, on keyboard focus (WCAG 2.4.7, 1.4.11).
ContrastThe border and text meet the contrast requirements on White, Grey and Black. Use the white logo version on the Black tile.