Tooltip

Version 6.0.1

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

Key example of a tooltip. A section of 4 icon-only action buttons, section label Rotate and flip. Tooltip appears on hover over the last button in the row, label to describe the button action, Flip horizontal.
DateVersionSpectrumExpress UI KitDec 15, 20226.0.1DownloadDownloadApr 06, 20226.0.0DownloadDownloadDec 07, 20205.2.0DownloadAug 22, 20195.1.0DownloadApr 20, 20195.0.0Download

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.

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 Valuelabeltextvariantneutral / informative / positive / negativeneutralhas iconyes / no
If the neutral variant, there’s never an icon.
no
maximum widthnumbersize-2000placementtop / bottom / left / righttopshould flipyes / noyesoffsetnumbersize-50container paddingnumberstatic-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.

do
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.

do
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.
dont
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.

do
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.
dont
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.

dont
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#

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

Theming#

A theme is an intentional, systematic customization of Spectrum. It has unique visual attributes. For more information, view Theming.

Key example of a tooltip in the Spectrum for Adobe Express theme. Neutral tooltip, with a gray background color. Label, Copy link.

Spectrum for Adobe Express#

Tooltips in Spectrum for Adobe Express have more rounding with a more prominent drop shadow. This theme also uses a different icon set.

Changelog#

DateNumberNotesDec 15, 20226.0.1
  • Updated background colors
  • Migrated to latest token system
Apr 06, 20226.0.0
  • Updated all colors to 6.0.0
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).

check

All color themes

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

check

All platform scales

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

check

Accessible use of color

Color is not used as the only visual means of conveying information (WCAG 2.0 1.4.1).

check

Accessible contrast for text

Text has a contrast ratio of at least 4.5:1 for small text and at least 3:1 for large text (WCAG 2.0 1.4.3).

N/A

Accessible contrast for UI components

Visual information required to identify components and states (except inactive components) has a contrast ratio of at least 3:1 (WCAG 2.1 1.4.11).

check

Content design

UI language and information design considerations have been incorporated into component design.

check

Defined options

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

check

Defined behaviors

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

check

Usage guidelines

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

check

Writing guidelines

Includes content standards or usage guidelines for how to write or format in-product content for the component.

check

Internationalization guidelines

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

check

Keyboard interactions

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

check

Design tokens

All design attributes (color, typography, layout, animation, etc.) are available as design tokens.

check

UI kit

Includes a downloadable XD file that shows multiple options, states, color themes, and platform scales.

check

Generated UI kit

Includes a downloadable XD file, generated by code using design tokens defined in Spectrum DNA, and shows multiple options, states, color themes, and platform scales.

check

In Spectrum for Adobe XD plugin

Component is included in the Spectrum for Adobe XD plugin.