Component · action.button

Button

A pressable control that performs a single activation action.

Informative mappings only. Platform examples below describe possible target primitives. This release does not ship adapters for React, Swift, Android or any other platform.

Anatomy

PartRequiredDescription
label yes Visible text or equivalent naming content for the action.
icon no Optional graphic that accompanies or replaces the label; icon-only buttons still need an accessible name.

States

  • default
  • hover
  • focus-visible
  • pressed
  • disabled
  • loading

Keyboard

  • Enter activates the button
  • Space activates the button

Accessibility

Expose a button role with a clear accessible name from content or an explicit literal. Keep a visible focus indicator. Disabled buttons must not be activatable. Do not rely on color alone to convey the pressed or loading condition.

Motion

Press feedback may scale or darken briefly; under reduced motion, snap to the pressed appearance without bouncing.

Platform mappings

web

web

Prefer native HTML button; ARIA role=button only when a native button cannot be used.

apple

apple

SwiftUI Button or UIKit UIButton with an explicit accessibility label when needed.

android

android

Compose Button or Material Button; ensure contentDescription when icon-only.