Version 5.2.0

Tooltip

Tooltips show contextual help or information about specific components when a user hovers or focuses on them.

Anatomy#


Image illustrating through labels the component parts of a tooltip with placeholder text reading "Label," including its background and tip.

Options#


Example of a tooltip in the neutral variant, with a gray background color. Label, Copy link.

Label#

All tooltips have a label. The label communicates the contextual help or information about specific components when a user hovers over or focuses on them.

Example of a tooltip in the neutral variant, with a gray background color. Label, Copy link.

Neutral variant#

By default, tooltips are the neutral variant. These are the most common variant because most tooltips are used to only disclose additional information, without conveying a semantic meaning. The neutral variant never includes an icon.

Key example of 3 tooltips in semantic colors, informative in blue, positive in green, and negative in red. Informative variant, label Text is auto-resized. Positive variant, label Copied to clipboard. Negative variant, label Feature unavailable

Semantic variants#

Tooltips also come in semantic variants: informative (blue), positive (green), and negative (red). These use semantic colors to communicate the meaning.

Example of 3 tooltips with icons to support the messaging. Informative variant tooltip in blue with an information icon, label Text is auto-resized. Positive variant in green with a checkmark icon, label Copied to clipboard. Negative variant in red with an exclamation point icon, label Feature unavailable.

Icon#

3 of the 4 tooltip variants (informative, positive, and negative) can include an icon to supplement the messaging. These icons are predefined and can not be customized. Unless it's being used to provide context about the exact same icon, a semantic tooltip should always show an icon. Doing this is essential for helping users with color vision deficiency to discern the message tone.

Key example of 2 tooltips with the maximum width, each with two lines of text that wraps. First tooltip, gray neutral variant, label Text auto-resized in symbol instance. Second tooltip, blue informative variant with information icon, label Text auto-resized in symbol instance.

Maximum width#

By default, the maximum width of a tooltip is size-2000 (160 px on desktop, 200 px on mobile). This can be customized to better fit your context.

Key example of 3 different kinds of tooltip placement. First tooltip with top placement, where a tooltip with placeholder text is placed the source. Second tooltip with bottom start placement, where a tooltip with placeholder text is placed below the source. Third tooltip with right placement, where a tooltip with placeholder text is placed to the right of the source.

Placement#

A tooltip is positioned in relation to its target. Placement property values are at the: top, top left, top right, top start, top end, bottom, bottom left, bottom right, bottom start, bottom end, left, left top, left bottom, start, start top, start bottom, right, right top, right bottom, end, end top, end bottom. The default placement value is at the top.

Key example of a tooltip with placeholder text, with top placement that has been flipped when space constrained at the top. Tooltip appears at the bottom of the source.

Should flip#

This option determines whether or not a tooltip should be able to switch sides when constrained by space. A tooltip placed at the top would flip to be placed at the bottom (and vice versa), and a tooltip placed at the left would flip to be placed at the right (and vice versa). The default value is yes.

Key example of offset of a tooltip. There are 4 pixels of space in between a tooltip's tip and the source that it points to.

Offset#

The offset is the distance between the end of the tip and the target. The default value is 4 px on desktop and 5 px on mobile, but it should be adjusted depending on the nature of the target.

Key example of a tooltip with container padding. A tooltip with placeholder text with top placement above the source has a container padding of 8 pixels.

Container padding#

To make sure that the tooltip will stay within certain boundaries (e.g., a browser window) it’s possible to define a container and a container padding value to respect. The default value for this is 8 px.

Table of options#

From the design point of view, each component has a number of options. These options and their names are platform agnostic, and each implementation should adapt these to fit into their framework.

PropertyValuesDefault Value
label
text
variant
neutral / informative / positive / negative
neutral
has icon
yes / no
If the neutral variant, there’s never an icon.
no
maximum width
number
size-2000
placement
top / bottom / left / right
top
should flip
yes / no
yes
offset
number
size-50
container padding
number
static-size-100

Behaviors#


Key example of 2 tooltips with text overflow behavior, each with two lines of text that wraps. First tooltip, gray neutral variant, label Text auto-resized in symbol instance. Second tooltip, blue informative variant with information icon, label Text auto-resized in symbol instance.

Text overflow#

When the label is too long for the available horizontal space, it wraps to form another line.

Key example of a tooltip in a neutral variant with a gray color. The tooltip fades in and out upon a cursor hover interaction with a button, label Save. Tooltip label, Saving applies your new settings right away.

Animation#

A tooltip fades in and out when showing and hiding, and slides a short distance from the source to indicate its origin. The direction of the slide (left, right, top, bottom) depends on the placement of the tooltip. The animation attributes (duration, easing, offset) are the same whether it’s showing or hiding.

Key example of 2 tooltips in a neutral variant with a gray color, showing immediate and delayed appearance behavior. A required form field, label Email, help text, Enter your email address. One tooltip appears immediately upon hovering over an information icon to the right side of the form field, text We'll only send you updates about new features and changes to your plan. You can unsubscribe at any time. Second tooltip appears delayed after hovering on a button, label Save. Tooltip text, Saving will apply your new settings right away.

Immediate or delayed appearance#

Tooltips attached to help icons appear immediately. For conventional UI elements where a tooltip appearing immediately would be intrusive, delay appearance with a warmup period.

Key example of a neutral tooltip showing warmup and cooldown behavior. Tooltip fades in and out upon interaction on and away from a button, label Save. Tooltip text, Saving will apply your new settings right away.

Warmup and cooldown#

The warmup period is a global timer that requires the cursor to remain on a UI element for the allotted time before a tooltip appears. Once this period is complete, a tooltip appears instantly on any hovered-upon UI element until the cursor is in an area that does not trigger a tooltip for the duration of the cooldown period.

Usage guidelines#


Use tooltips to describe icons#

Icons are not always easy to identify on their own. When you use components that don’t have labels — for example, icon-only action buttons and tabs — make sure to use tooltips to provide context for the icons.

Key example of tooltip used to describe icons. An icon-only action button with a Printer icon with a tooltip that appears on interaction, label Print. A set of 4 icon-only tabs, with icons of a house, tag, a speech bubble, and a gear has a tooltip that appears on interaction with the speech bubble icon, label Comments.

Don't use tooltips to communicate crucial information#

Show crucial information at all times, not just when a tooltip is displayed. A tooltip should only be used to provide supplementary context or hints to the message shown in help text.

For example, in a scenario where a user is entering their password into a field, the crucial information would be to state the password requirements. Supplementary context would be a message about how to get help if they have forgotten their password.

Key example of correct usage of a tooltip that conveys supplementary information. A required form field, label Password. Help text, Passwords must be at least 8 characters. An information icon reveals a tooltip on hover, text If you're having issues accessing your account or have forgotten your password, contact our customer support team for help.
Key example of incorrect usage of a tooltip, where it is conveying crucial information. A required form field, label Password. No help text. An information icon reveals a tooltip on hover, text Passwords must be at least 8 characters.

Be concise#

Tooltips should be as concise and clear as possible. Keep the text to 1 or 2 short sentences. If the information you need to communicate is longer than that, look into using a different design.

If a tooltip is written in a full sentence (or is 2 or more sentences), include a period at the end. If it's a short phrase or is only the name of a tool, action, or icon, don't add a period to the end.

Key example showing correct wording of a tooltip that is clear and concise. A required form field, label Email. Help text, Enter your email address. An information icon reveals a tooltip on hover, text We need your email address to help us find your account and send you a confirmation number.
Key example showing incorrect wording of a tooltip that is long and redundant. A required form field, label Email. Help text, Enter your email address. An information icon reveals a tooltip on hover, text The email field is required. Your email address will be used as an identifier when we search for your account and we will also use it to send you confirmation numbers via email.

Don't place actions inside a tooltip#

Tooltips appear only on hover or when in keyboard focus. They should not contain actions or links.

Key example showing incorrect use of a tooltip that includes a link inside the tooltip text. A cursor over a warning icon shows a tooltip, text Fail to connect to server. Visit our help center for more information. Text Visit our help center is styled as a link.

Internationalization#


Key example of 3 tooltips in Arabic.An informative variant, a positive variant, and a negative variant, each with icons placed to the right of the text.

RTL#

For RTL (right-to-left) languages, the layout of the tooltip is mirrored. The icon is placed on the right side of the text.

Keyboard interactions#


KEYINTERACTION
TabTabbing into an item that has a tooltip associated with it (e.g., an icon) shows the tooltip.
EscHides the tooltip.

Changelog#


DateNumberNotes
Dec 07, 20205.2.0
  • Added placement options
  • Updated tooltip examples
Aug 22, 20195.1.0
  • Added text overflow behavior
Apr 20, 20195.0.0
  • This component is now individually versioned (individual versions of existing components start at 5.0.0)
  • Added RTL (right-to-left) guidelines

Design checklist#


N/A

All interactive states

Includes all interactive states that are applicable (hover, down, focus, keyboard focus, disabled).

Multiple options

Includes relevant options (variant, style, size, orientation, optional iconography, decorations, selection, error state, etc.)

All color themes

Works properly across all four color themes (lightest, light, dark, darkest).

All platform scales

Includes a desktop scale (UWP, macOS, web desktop) and a mobile scale (iOS, Android, web mobile).

Defined behaviors

Includes guidelines for layout (wrapping, truncation, overflow), animation, interactions, etc.

Usage guidelines

Includes a list of dos and don’ts that highlight best practices and common mistakes.

Accessible contrast

Follows WCAG 2.0 standards for contrast (AA).

Internationalization guidelines

Works properly across various locales and includes guidelines for bi-directionality (RTL).

Keyboard interactions

Follows WCAG 2.0 standards for keyboard accessibility guidelines and includes a description of the keyboard interactions.

Design tokens

All design attributes (color, typography, layout, animation, etc.) are included in Spectrum DNA.

Generated UI kit

Includes a downloadable XD file that has been generated by code and shows multiple variations, states, color themes, and scales.

In Spectrum for Adobe XD plugin

Component is included in the Spectrum for Adobe XD plugin.