Skip to main content

An official website of the United States government

Here's how you know

An official website of the United States government

Here's how you know

Theme:

Design system switcher

Version:

Design system switcher

Theme:

Design system switcher

Version:

Design system switcher

Tooltip

Tooltips provide additional information upon hover, focus or click. The information should be contextual, useful, and nonessential information.

Examples

The Tooltip component can render a variety of content ranging from short descriptive text, to paragraphs with links, or more complex interactive popovers.

The component provides a variety of props to configure tooltip behavior for these different use cases (i.e. interactive, dialog), and to customize styling (i.e. offset, maxWidth, className). The element that triggers a Tooltip can also be fully customized via props (i.e. triggerComponent, triggerContent).

This component makes use of @popperjs/coreThis link goes to an external site

You are leaving design.cms.gov.

You're about to connect to a third-party site. Select CONTINUE to proceed or CANCEL to stay on this site.

Learn more about links to third-party sites.

Continue
for tooltip positioning, focus-trap-reactThis link goes to an external site

You are leaving design.cms.gov.

You're about to connect to a third-party site. Select CONTINUE to proceed or CANCEL to stay on this site.

Learn more about links to third-party sites.

Continue
for trapping focus in Tooltip Dialogs, and react-transition-groupThis link goes to an external site

You are leaving design.cms.gov.

You're about to connect to a third-party site. Select CONTINUE to proceed or CANCEL to stay on this site.

Learn more about links to third-party sites.

Continue
for animations.

Icon Trigger

Loading

Inline

Loading

Interactive content

Loading

With Close

Loading

Code

React

See Storybook "Tooltip" page for React documentation.

Style customization

The following CSS variables can be overridden to customize Tooltip fields:

CSS variables for tooltip
VariableDefault Core Theme Value
--tooltip__background-colorhex value: #ffffff--color-background
--tooltip__border-colorhex value: #404040--color-gray-darker
--tooltip__border-color--activehex value: #0071bc40#0071bc40
--tooltip__border-color--inverse-activehex value: #ffffff40#ffffff40
--tooltip__border-width1px
--tooltip__box-shadow-colorhex value: #a6a6a6--color-gray-light
--tooltip__colorhex value: #262626--color-base
--tooltip-icon__colorhex value: #0071bc--color-primary
--tooltip-icon__color--inversehex value: #ffffff--color-white
--tooltip-trigger__colorhex value: #0071bc--color-primary

Guidance

When to use

  • Use for helpful, non-critical information to strengthen an existing message.
  • Use to increase certainty and enhance confidence about an interaction.
  • Use with brief descriptions as tooltips perform best with succinct text.
  • Tooltips are useful as a last resort for space-constrained UI. Explore other options for keeping content visible without a tooltip.

When to consider alternatives

  • Don’t hide information necessary for completing a task behind a tooltip interaction.
  • Tooltips are microcopy and should be brief. Don't use a tooltip if you need a lot of text.
  • Don’t use a tooltip when its content is repetitive or if usability is obvious.
  • If content can fit outside a tooltip, don't use a tooltip.

Component maturity

For more information about how we tested and validated our work for each checklist item, read our component maturity documentation.

Accessibility

  • Color

    Meets AA color contrast standards for accessibility and color blindness.
    Complete
  • Forced Colors Mode (FCM)

    While using FCM the components text is legible and improves readability.
    Complete
  • WCAG 2.1 Level AA Conformance

    All Axe checks for WCAG AA compliance have passed.
    Complete
  • Screen readers

    VoiceOver, NVDA, and JAWS screen readers provide concise communication and interaction.
    Complete
  • Keyboard navigation

    Component is fully navigable with a keyboard.
    Complete

Code

  • Storybook

    Component has stories to cover all defined props.
    Complete
  • Responsive

    Component designed to work in all responsive breakpoints.
    Complete
  • Spanish translations

    Includes Spanish translations for default text content.
    Not applicable

Tokens

  • Code

    Tokens implemented in code.
    Complete
  • Design

    Tokens implemented in the Sketch.
    Complete