U.S. flagA digital services project by Flexion

Tooltip

feedbackUSWDS-derivedinteractive

Hover/focus information popup with positioning and viewport edge detection.

Reference: USWDS documentation ↗

Variants

Bottom Tooltip

This is a tooltip

Left Tooltip

This is a tooltip

Right Tooltip

This is a tooltip

Top Tooltip

This is a tooltip

Contract

Class mapping

USWDSFlexNotes
usa-tooltip<flex-tooltip> (custom element)Container element with relative positioning
usa-tooltip__trigger.flex-tooltip__triggerElement that triggers the tooltip on hover/focus
usa-tooltip__body.flex-tooltip__body[role="tooltip"]Tooltip content with dark background and white text
usa-tooltip__body--top/bottom/left/rightdata-position="top/bottom/left/right"Position variants via data attribute instead of modifier class

Verified properties

displaypositionbackground-colorcolorborder-radiusfont-sizepadding-toppadding-rightpadding-bottompadding-left

Intentional differences

visibility: ours = hidden (display: none when not visible), USWDS = controlled via is-set/is-visible classes

We use data-visible attribute toggling; USWDS uses JS class toggling

Behavior promises

  • ✓ Tooltip shows on hover (mouseenter) and hides on mouseleave
  • ✓ Tooltip shows on focus and hides on blur
  • ✓ Tooltip is positioned relative to trigger based on data-position
  • ✓ Tooltip flips position when it would overflow viewport

Source CSS