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/core
for tooltip positioning, focus-trap-react
for trapping focus in Tooltip Dialogs, and react-transition-group
for animations.
Icon Trigger
Inline
Interactive content
With Close
Code
React
See Storybook "Tooltip" page for React documentation.
Style customization
The following CSS variables can be overridden to customize Tooltip fields:
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
This component meets 100% of our maturity criteria.
What does this mean?
Each component is tested against the following items to gauge the component's maturity. When using incomplete components, consider the unmet criteria as applied to your product.
For more information about how we tested and validated our work for each checklist item, read our component maturity documentation.
- Complete
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.
Accessibility
- Complete
Storybook:Â Component has stories to cover all defined props.
- Complete
Responsive:Â Component designed to work in all responsive breakpoints.
- Not applicable
Spanish translations:Â Includes Spanish translations for default text content.
Code
- Complete
Code:Â Tokens implemented in code.
- Complete
Design:Â Tokens implemented in the Sketch.