Tooltip
A contextual popup that appears on hover or keyboard focus to provide supplementary information. Built on Base UI Tooltip with built-in ARIA attributes and keyboard support.
Preview
Examples
Side
Controls which side of the trigger the tooltip appears on. The tooltip automatically flips to the opposite side when there is not enough space.
| Value | Default | Description |
|---|---|---|
top | ✓ | Tooltip appears above the trigger |
bottom | Tooltip appears below the trigger | |
left | Tooltip appears to the left of the trigger | |
right | Tooltip appears to the right of the trigger |
Arrow
Visible by default. Set showArrow={false} to hide it.
Not shown in the game theme, where the pixel-art aesthetic omits directional arrows.
Rich content
content accepts any ReactNode, allowing arbitrary markup inside the tooltip.
Disabled
Prevents the tooltip from rendering.
TooltipProvider — grouped timing
Wrapping tooltips in TooltipProvider gives them a shared hover-delay timer. After the first tooltip opens, subsequent ones appear without delay. This pattern is common in toolbar implementations.
Set delay and closeDelay on the provider to control timing for all wrapped tooltips.
Controlled
Pass open and onOpenChange to control visibility programmatically.
Guidelines
When to use
Use Tooltip for supplementary information that is helpful but not required. Touch and keyboard users may not have access to tooltip content; do not rely on it for anything essential.
| Use case | Recommended |
|---|---|
| Label an icon-only button | Tooltip |
| Show a keyboard shortcut | Tooltip |
| Provide field hints | TextField helperText |
| Confirm a destructive action | Dialog |
| Show form validation errors | TextField status + helperText |
Accessibility
- The popup has
role="tooltip"and is associated with its trigger element via ARIA automatically. - The tooltip opens on keyboard focus and closes on
Escape. - Avoid placing interactive elements (links, buttons) inside the popup. Keyboard users cannot reach them.
Props
Tooltip
Props
contentchildrenside?"top"align?"center"showArrow?trueopen?defaultOpen?onOpenChange?disabled?falseclassName?TooltipProvider
Props
childrendelay?closeDelay?