ICON BUTTON

When to Use

Example: app top bar (back, title, icon actions)

  • Compact action triggers in toolbars, table rows, or card headers where space is limited
  • Common icon-recognizable actions like close, delete, edit, or share
  • Always provide aria-label — the icon alone is not accessible without a text alternative
  • If the action needs a text label for clarity, use a standard Button with an icon instead

Usage Guidelines

DO

Always provide aria-label — Icon Button has no visible text. Use consistent icon styles within a toolbar

Don’t

Don't use Icon Button when text would improve clarity. Don't omit the aria-label — it is required

Interaction Behavior

Three Shapes

ShapeRadiusUse Case
rounded999px (full circle)Floating action buttons (FAB), primary icon actions
square16pxToolbars, card actions
rectangle24px + wider horizontallyHorizontal layouts, pill shape

Three Fill Styles

StyleAppearanceUse Case
filledColored background + white iconPrimary actions, high priority
outlineTransparent background + colored border + colored iconSecondary actions
ghostNo background, no border + colored iconLow-interference actions, toolbars

Accessibility

Icon Button has no visible text — an aria-label is required:

<IconButton icon={<SearchIcon />} aria-label="Search" />
RequirementDetails
aria-labelRequired, describes the button action
Focus ring2px brand-pink focus ring on keyboard focus
ContrastIcon-to-background contrast ≥ 4.5:1