Tooltip

ready
This page may be removed. Primer plans to move all Rails component documentation to Lookbook.

Description

Tooltip only appears on mouse hover or keyboard focus and contain a label or description text. Use tooltips sparingly and as a last resort. Use tooltips as a last resort. Please consider Tooltips alternatives.

When using a tooltip, follow the provided guidelines to avoid accessibility issues:

  • Tooltips should contain only non-essential text. Tooltips can easily be missed and are not accessible on touch devices so never use tooltips to convey critical information.
  • Tooltip should be rendered through the API of Primer::ButtonComponent, Primer::Beta::Link, or Primer::IconButton. Avoid using Tooltip a standalone component unless absolutely necessary (and only on interactive elements).
  • Tooltip text must be brief and concise even when used to display a description.
  • Tooltips can only hold string content.
  • Tooltips are not allowed on disabled elements because such elements are not keyboard-accessible. If you must set a tooltip on a disabled element, use aria-disabled="true" instead and programmatically disable the element.
  • Never set tooltips on static, non-interactive elements like span or div. Tooltips should only be used on interactive elements like buttons or links to avoid excluding keyboard-only and screen reader users. Use of tooltips through Primer::Beta::Button, Primer::Beta::Link, or Primer::Beta::IconButton will guarantee this.
  • If you must use Tooltip as a standalone component, place it immediately after the trigger element in the DOM. This allows screen reader users to navigate to the tooltip and copy its contents if desired. content.

Semantically, a tooltip will either act an accessible name or an accessible description for the element that it is associated with resulting in either a aria-labelledby or an aria-describedby association. The type drastically changes semantics and screen reader behavior so follow these guidelines carefully:

  • When there is already a visible label text on the trigger element, the tooltip is likely intended be supplementary, so set type: :description. The majority of tooltips will fall under this category.
  • When there is no visible text on the trigger element and the tooltip content is appropriate as a label for the element, set type: :label. label type is usually only appropriate for an icon-only control.

Arguments

NameDefaultDescription
for_id
String

The ID of the element that the tooltip should be attached to.

type
Symbol

One of :description or :label.

direction
Symbol

One of :e, :n, :ne, :nw, :s, :se, :sw, or :w.

text
String

The text content of the tooltip. This should be brief and no longer than a sentence.

system_arguments

Methods

id

Returns the value of attribute id.