FEEDBACK
Tooltip
Small floating label revealed on hover or focus. Built on Radix Tooltip — full keyboard support, smart edge flipping, and ARIA wiring come from the primitive. Wrap your app once in TooltipProvider to share a single delay timer across all tooltips.
Import
Provider — once per app
Wrap your root layout in a single TooltipProvider. All nested tooltips share its delay. Without the provider, individual tooltips still work but don't coordinate timing.
Basic usage
On an icon button
Pair Tooltip with IconButton to surface the action's name on hover. aria-label on the IconButton stays the canonical accessible name; the tooltip is supplementary.
Props
Tooltip props
| Prop | Type | Default | Description |
|---|---|---|---|
| delayDuration | number | 700 | Prop on TooltipProvider (and per-Tooltip). Milliseconds before the tooltip opens on hover. |
| side | 'top' | 'right' | 'bottom' | 'left' | 'top' | Prop on TooltipContent. Preferred edge to anchor against; flips automatically. |
| sideOffset | number | 4 | Gap between trigger and tooltip. |
| align | 'start' | 'center' | 'end' | 'center' | Inline alignment relative to the trigger. |
Accessibility
- The trigger receives Radix focus management; pressing Tab opens the tooltip, Esc closes it.
- Tooltips don't replace labels. For icon-only triggers, always set
aria-labelon the trigger — the tooltip text alone is not announced as the accessible name. - Tooltip content is not focusable. Use Popover when the user must interact with the floating panel.