Component 03 · Actions
Split button
Expose a primary action and related alternatives.
Overview
Expose a primary action and related alternatives. It transforms explicit intent into a command or navigation event without changing the accessible name during processing.
When to use
Use HE/Split button when you need to expose a primary action and related alternatives. Keep its role distinct from transport freshness, animal-health severity and model confidence.
Example
<div class="he-split-button"><button class="he-button">Export data</button><button class="he-button he-split-button__menu" aria-label="More export options" aria-haspopup="menu"><svg class="he-icon" aria-hidden="true"><use href="/assets/design-system/health-eye-icons.svg#chevron-down"></use></svg></button></div>Anatomy
1Trigger
2Label or icon
3State feedback
4Audit result
Anatomy stays identical in Pasture and Atlantic. A responsive layout may wrap or stack parts, but reading order and focus order remain equivalent.
Variants and states
Variants
States
Accessibility
Primary and menu controls are separate tab stops with distinct names.
- Maintain a visible keyboard focus indicator and a logical focus sequence.
- Never rely on colour alone for operational, freshness or severity state.
- Keep touch targets at least 44 × 44 px unless the target is an inline text link.
Cross-platform contract
| Surface | Canonical name | Status |
|---|---|---|
| Figma | HE/Split button | review |
| Web | .he-split-button | implemented |
| Flutter | HeSplitButton | implemented |
| Token root | component.splitbutton | generated |