Tooltip
Small floating helper text on hover or focus.
The bubble inverts against the page (dark in the light scheme, light in the dark one) and sets its text in Dark Factory's label type; iOS, which has no tooltip, shows the same bubble, and Android keeps the Material 3 plain tooltip.
The trigger is a boolean axis of its own, resolved first match wins:
- children, an element you already have (an icon Button, a Chip, any control that owns its own press and accessible name). The child renders as-is and the tip hangs off it through a wrapper that only LISTENS: no accessibility role, no tab stop, and no press of its own, so the child stays the single interactive, labelled element, keeps its onPress, and the tip never toggles on tap. Hover and focus on the child both raise it; the hover region is the whole tooltip, so moving onto the bubble keeps it up.
- iconTrigger, a ghost icon button carrying a settings glyph.
- textTrigger, the trigger string as a pressable inline word.
- Otherwise the default: the trigger string as an outline Button.
Hover and focus are pointer-and-keyboard affordances. Touch pointers are skipped, and iOS and Android never fire hover at all, so on native and on touch the controlled open prop is the way to show a tip: drive it from whatever the platform does offer (a long press, a selected row, an inline help toggle). The built-in triggers additionally toggle on tap; an element trigger deliberately does not, because that press belongs to the child.
Open settings
iOS
Open settings
Android
Open settings
Web
tsx
Default
Right
Bottom
Left
Icon
Text
Element trigger
On hover
Props
Do & Don’t
Short labels
Don’t
Long, essential instructions hidden in a tooltip are missed on touch and by screen readers.
Do
Rotate key
Keep tooltips short and supplementary; put essential steps in visible copy.
top
Don’t
A top tooltip on a trigger near the top edge clips above the viewport and goes unread.
Do
Saves your changes
Leave headroom above (or flip to bottom) so a top-placed tooltip stays fully on screen.
right
Don’t
A right tooltip on a control flush against the right edge is cut off by the container.
Do
More info
Keep room to the right, or flip the tooltip to the left when the trigger hugs the edge.
bottom
Don’t
A bottom tooltip sits right on top of the next row, masking the control beneath it.
Do
Refine results
Give a bottom tooltip clearance so it never overlaps the interactive content below.
left
Don’t
A left tooltip on a trigger at the left edge is clipped by the container's left boundary.
Do
Need help?
Reserve space on the left, or flip to the right, so a left-placed tooltip is never cut off.