ComponentsIconButton

formstexulinot agent-emittableapp

IconButton

icon-button

An icon-only button that requires an accessible name.

Live examples

Close icon button

Close icon button

Loading demo…

Props

Public props for IconButton
NameKindRequiredDefaultDescription
labelstringyes—Accessible name
variantenum (default, secondary, outline, ghost, destructive, link)no"ghost"—
hrefstringno——
loadingbooleannofalse—
autoLoadingbooleannotrue—
disabledbooleannofalse—
classstringno——
childrenslotno—Icon content

Keyboard

Keyboard behavior for IconButton
KeyAction
—See accessibility notes for keyboard behavior.

Accessibility

  • label is required and becomes aria-label on the control.

Evidence for icon-button

Latest committed gates for icon-button (as of 2026-10-23). Static snapshot — not live CI.

Behavior

n/ano behavior scenario

No dedicated behavior scenario for this catalog id (a styled or display surface, covered by its unit and axe tests).

Size (gzip)

texuli/icon-button · budget 12.0 KiB

Budget from texuli.budgets.json; re-measure with `pnpm size --filter <entry>`.

Axe

documented

  • tests/e2e/site-component-pages.spec.ts
  • docs/quality (a11y-*)

Site component pages axe gate; package-level a11y docs under docs/quality when present.

Browsers

  • chromium
  • webkit
  • mobile

Playwright projects: Desktop Chrome, Desktop Safari, Pixel 7. Firefox is a known gap on this host.

When to use

Use when

  • Toolbar and dense chrome actions that are icon-only

Don’t use when

Prefer another component

  • Actions with a visible text label (use button)