Tooltip

Overlays
Local guide ↗ import { Tooltip } from "bits-ui"

Shared provider

One Provider supplies a 250ms delay and non-hoverable content policy to a toolbar

Keyboard focus

Focusable triggers reveal the same descriptions without requiring hover

Press Tab until either control is focused. No pointer is required.

Tooltip.Provider is required above every root. Its delayDuration and disableHoverableContent defaults flow to all nested tooltips, and it ensures only one tooltip in that provider is open. A Tooltip.Portal renders content into document.body by default, avoiding clipped toolbars and local stacking contexts.

A tooltip does not move or trap keyboard focus; focus stays on its trigger, so its content must be descriptive rather than an interactive mini-dialog. Escape or an outside pointer-down closes the content by default, and pressing the trigger with any pointer button also closes it. Use ignoreNonKeyboardFocus when focus caused by a pointer should not open the tooltip; data-state distinguishes delayed, instant, and closed states for animation.