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
| Part | Required | Description |
|---|---|---|
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.