Navigation
Button Icon
Icon buttons are compact, action-first UI elements that use symbols instead of text to represent an action. They’re ideal for interfaces where space is limited or when an icon communicates meaning more clearly than text alone.
🧭 When to Use an Icon Button
Use icon buttons when:
The action is visually intuitive (e.g. search, close, favorite, edit)
You need a compact control in a toolbar or table
You’re emphasizing speed and minimalism
The button is supplemental and doesn’t require a text label
Avoid icon-only buttons when the icon might be ambiguous without explanation—especially in unfamiliar contexts.
💡 Tip: If the icon’s meaning isn’t universally understood, pair it with a tooltip or use a text label instead.
🧩 Types (Visual Style)
Icon buttons mirror the core styles of regular buttons but are stripped down to icon-only or icon-dominant formats:
TypeDescriptionDefaultFilled background with icon—used for primary compact actionsSubtleMinimal background—ideal for low-emphasis actionsOutlineTransparent with border—great for utilitiesTransparentFully background-less, often used inline or in tables
📏 Sizes
Small – For dense UIs, mobile apps, and tables
Medium – Standard size for most desktop interfaces
Large – Use when the icon button is a key feature or CTA (e.g., floating action buttons)
Size tokens ensure icons are centered and padded consistently across all layouts.
🧠 States (Intent/Function)
Like standard buttons, icon buttons can carry semantic meaning:
StateUsageDefaultNeutral actionSuccessIndicates confirmation or positive actionErrorDestructive or warning actionsInformationSecondary guidance or learn more-style interactionsWarningUse for caution, not critical failure
Apply semantic tokens through color or icon choice.
🔁 Interaction States
Icon buttons follow the same interaction logic as standard buttons:
StatePurposeDefaultNormal state, ready for interactionHoverBackground or icon color changes for feedbackFocusKeyboard-accessible state, always visible and WCAG compliantDisabledButton is present but not interactable or focusable (optional: aria-disabled
)
♿ Accessibility Considerations
🔍 Design Accessibility
Contrast: Ensure icons meet WCAG color contrast requirements (especially against transparent or subtle backgrounds).
Tooltip pairing: For ambiguous icons, always provide a tooltip with a description on hover/focus.
Size: Minimum touch target size should be 44x44px, even if the visual icon is smaller.
🧑💻 Code Accessibility (if implemented)
Use
aria-label
oraria-labelledby
to describe the icon’s function if no text is present.Prefer
<button>
elements with an<svg>
or<img>
inside.Add
role="button"
andtabindex="0"
only if you're forced to use non-semantic elements (not recommended).
📌 Best Practices
Don’t use too many icon buttons in a row—this can create confusion.
If an icon button launches a destructive or irreversible action, consider using a confirmation dialog.
For mobile and touch interfaces, always prioritize touch target size over visual elegance.
Checkbox Group
Closeable
© Copyright 2024. All rights reserved.