Tooltip
Tooltipコンポーネントは、UI上のスペースが限られている場合に、補足テキストを一時的に表示するために使います。
- 補足的な説明テキストを表示する場合
- アイコンだけのボタンにラベルを表示する場合
- 省略されたテキストを全文表示する場合
使用上の注意
Tooltipの使用を避けるケース
Tooltip内の情報は隠れるため、操作に必要な情報の表示への使用は避けましょう。ユーザーが把握しておかないと操作が進められないような重要な情報は、常に表示することを検討してください。
重要な情報とは、フォームの入力に必要な情報などが該当します。具体例は次の通りです。
- パスワードに使用できる文字や、エラーになる入力値などの入力要件
- 入力エラーとなった際のエラーメッセージ
- 操作補助になる情報(ショートカットなど)
例外
- ユーザーの操作過程で「確認が必須ではない」程度の付加的な情報を表示する目的での使用
- Tooltipによる表示が提供されているコンポーネントにおいて、利用基準に沿った使用
- LineClamp
- 折り返して表示することがどうしても難しい場合
- SearchInput
- 検索キーワードに該当する検索結果が得られなかったとき、再検索を行なうめのヒントを見える場所に必ず表示したうえで、補助としてTooltipのメッセージを使う場合
- Button の
disabledDetail
props 使用時- DropdownMenuButton 内のButtonで使う場合(配置できるスペースがドロップダウン内に限られるため仕方なく使う)
- Button単独の場合でも、ユーザーの操作過程で「確認が必須ではない」程度の付加的な情報を表示する目的で使う場合
- 上記以外のケースは、Tooltipを使わずにdisabledである理由を見える場所に表示する
- LineClamp
種類
Tooltipはトリガー要素にfocus
やhover
で表示します。詳しくはトリガーパターンを参照してください。
レイアウト
構成
1. Tooltip
Tooltipそのものです。吹き出し形式で補足的なテキストを表示します。
2. トリガー
Tooltipが表示されるきっかけとなる要素を「トリガー」と呼びます。
トリガーは、Tooltipが表示されることをユーザーに示唆するために、マウスオーバーが可能な要素であることを想起させるテキスト、アイコン、色を組み合わせます。
Tooltipの配置
Tooltipの配置は8種類の選択肢があります。
- 矢印の出る方向を
horizontal
(横)とvertical
(縦)の組み合わせで指定します。 - レイアウトによってTooltipの一部が見切れる場合があるため、Tooltip全体が表示されるように指定してください。
horizontal
(横)とvertical
(縦)の両方にauto
を指定すると、レイアウトを加味して自動的に方向を決めてくれます。
上配置
下配置
横配置
自動配置
ライティング
関連するライティングガイドラインを参照してください。
デザインパターン
Tooltipのトリガーパターン
トリガーは、用途によっていくつかの種類に分けられます。
A. テキスト+アイコン
文章でさらに補足したい内容がある場合に使います。
補足する対象となるテキストの横に「」アイコン(FaInfoCircleIcon
)を配置し、補足情報の存在を明確に表示します。
アイコンの色は、テキストと同様にTEXT_LINK
とすることで、マウスオーバーが可能であることを示唆します。
B. アイコンのみ
充分にスペースを確保できないときに、アイコン単体をトリガーにするパターンですが、どうしても他に方法がないときだけ使用してください。
何を対象とした補足説明なのかを明確にするために、可能な限り「テキスト+アイコン」を採用することを推奨します。
アイコンは、マウスオーバーが可能であることを示唆するためにリンク色(TEXT_LINK
)を使います。
- アイコン単体で意味が伝わるようであれば、Tooltipは不要です。
- アイコンに必ず代替テキストを設定します。
テキストとあわせて使用
トリガーとなるのはアイコンのみで、タイトルやよくあるテーブルのオブジェクト名のテキストとあわせて使います。
タイトルやよくあるテーブルのオブジェクト名の遷移リンクの役割を阻害しないために、アイコンのみにTEXT_GRAY
を使います。
ステータスの補足に使用
ステータスの補足説明を加えるときにはテキストの左に配置し、ステータスの色に合わせます。
トリガーはステータスアイコンのみとなるので、テキストはリンクとして使用できます。
C. アイコンボタン
Buttonのアイコンボタンのように、ラベルテキストを表示できないボタンに、(ラベルテキスト相当の)機能を表す補足をTooltipで表示するパターンです。
Textボタンのアイコンボタンには使用しません。
ボタンは明確なアクションを促す役割を持つため、ラベルテキスト以上の説明を表示したい場合は、ラベルテキストがあるボタンの採用や、説明テキストが入るようなレイアウトを検討しましょう。
D. 省略テキスト
テキストを表示するスペースを十分確保できないときに、テキスト全体をトリガーとして、省略したすべてのテキストをTooltipで表示するパターンです。
テキストは、ellipsis
を使い省略されていることを示します。
単純に文章を省略したい場合には、LineClampを使用してください。
Props
ツールチップ内に表示するメッセージ
ツールチップを表示する対象のタイプ。アイコンの場合は icon
を指定する
ツールチップ内を複数行で表示する場合に true
を指定する
true
のとき、ツールチップを表示する対象が省略されている場合のみツールチップ表示を有効にする
水平方向の位置
垂直方向の位置
ツールチップを表示する対象の tabIndex 値
ツールチップを内包要素に紐付けるかどうか