Tooltip

Tooltipはユーザーが能動的に表示しなければならない、拡大表示時に領域外に表示されてしまうなどの課題があるため、安易な使用はお勧めしません。基本的にはTooltip以外のUIを使用することを検討してください。

Tooltipコンポーネントは、UI上のスペースが限られている場合に、補足テキストを一時的に表示するために使います。

  • 補足的な説明テキストを表示する場合
  • アイコンだけのボタンにラベルを表示する場合
  • 省略されたテキストを全文表示する場合

使用上の注意

Tooltipの使用を避けるケース

Tooltip内の情報は隠れるため、操作に必要な情報の表示への使用は避けましょう。ユーザーが把握しておかないと操作が進められないような重要な情報は、常に表示することを検討してください。

重要な情報とは、フォームの入力に必要な情報などが該当します。具体例は次のとおりです。

  • パスワードに使用できる文字や、エラーになる入力値などの入力要件
  • 入力エラーとなった際のエラーメッセージ
  • 操作補助になる情報(ショートカットなど)

例外

  • ユーザーの操作過程で「確認が必須ではない」程度の付加的な情報を表示する目的での使用
  • Tooltipによる表示が提供されているコンポーネントにおいて、利用基準に沿った使用
    • LineClamp
      • 折り返して表示することがどうしても難しい場合
    • SearchInput
      • 検索キーワードに該当する検索結果が得られなかったとき、再検索を行なうめのヒントを見える場所に必ず表示したうえで、補助としてTooltipのメッセージを使う場合
    • ButtondisabledDetail props 使用時
      • DropdownMenuButton 内のButtonで使う場合(配置できるスペースがドロップダウン内に限られるため仕方なく使う)
      • Button単独の場合でも、ユーザーの操作過程で「確認が必須ではない」程度の付加的な情報を表示する目的で使う場合
      • 上記以外のケースは、Tooltipを使わずにdisabledである理由を見える場所に表示する

種類

Tooltipはトリガー要素にfocushoverで表示します。詳しくはトリガーパターンを参照してください。

レイアウト

構成

  1. Tooltip
  2. トリガー

Tooltipによる補足情報の構成要素

1. Tooltip

Tooltipそのものです。吹き出し形式で補足的なテキストを表示します。

2. トリガー

Tooltipが表示されるきっかけとなる要素を「トリガー」と呼びます。
トリガーは、Tooltipが表示されることをユーザーに示唆するために、マウスオーバーが可能な要素であることを想起させるテキスト、アイコン、色を組み合わせます。

ライティング

関連するライティングガイドラインを参照してください。

デザインパターン

Tooltipのトリガーパターン

トリガーは、用途によっていくつかの種類に分けられます。

A. テキスト+アイコン

テキスト

文章でさらに補足したい内容がある場合に使います。
補足する対象となるテキストの横に「」アイコン(FaInfoCircleIcon)を配置し、補足情報の存在を明確に表示します。 アイコンの色は、テキストと同様にTEXT_LINKとすることで、マウスオーバーが可能であることを示唆します。

B. アイコンのみ

充分にスペースを確保できないときに、アイコン単体をトリガーにするパターンですが、どうしても他に方法がないときだけ使用してください。
何を対象とした補足説明なのかを明確にするために、可能な限り「テキスト+アイコン」を採用することを推奨します。

アイコンは、マウスオーバーが可能であることを示唆するためにリンク色(TEXT_LINK)を使います。

  • アイコン単体で意味が伝わるようであれば、Tooltipは不要です。
  • アイコンに必ず代替テキストを設定します。
テキストとあわせて使用
テキスト
タイトル

トリガーとなるのはアイコンのみで、タイトルやよくあるテーブルのオブジェクト名のテキストとあわせて使います。
タイトルやよくあるテーブルのオブジェクト名の遷移リンクの役割を阻害しないために、アイコンのみにTEXT_GRAYを使います。

ステータスの補足に使用
テキスト
テキスト

ステータスの補足説明を加えるときにはテキストの左に配置し、ステータスの色に合わせます。
トリガーはステータスアイコンのみとなるので、テキストはリンクとして使用できます。

C. アイコンボタン

Buttonのアイコンボタンのように、ラベルテキストを表示できないボタンに、(ラベルテキスト相当の)機能を表す補足をTooltipで表示するパターンです。

Textボタンのアイコンボタンには使用しません。

ボタンは明確なアクションを促す役割を持つため、ラベルテキスト以上の説明を表示したい場合は、ラベルテキストがあるボタンの採用や、説明テキストが入るようなレイアウトを検討しましょう。

D. 省略テキスト

テキストを省略…

テキストを表示するスペースを十分確保できないときに、テキスト全体をトリガーとして、省略したすべてのテキストをTooltipで表示するパターンです。

テキストは、ellipsisを使い省略されていることを示します。

単純に文章を省略したい場合には、LineClampを使用してください。

Props

message必須
string number false true ReactElement<any, string | JSXElementConstructor<any>> Iterable<ReactNode> ReactPortal

ツールチップ内に表示するメッセージ

triggerType
"text" "icon"

ツールチップを表示する対象のタイプ。アイコンの場合は icon を指定する

ellipsisOnly
false true

true のとき、ツールチップを表示する対象が省略されている場合のみツールチップ表示を有効にする

tabIndex
number

ツールチップを表示する対象の tabIndex 値

ariaDescribedbyTarget
"wrapper" "inner"

ツールチップを内包要素に紐付けるかどうか