## ユーザーへの通知の種別

ユーザーに画面内で通知する手段としてToast、SnackBar、InlineNotification、Dialogコンポーネントがあります。画面内で完結せず、遷移させるべき状況もあります。現状下記のように使い分けています。

なお、ToastとSnackBarは自動で消えてしまうため、**その通知内容を確認できる他の手段がある場合にのみ**利用できます。「コンテンツの確実な伝達」ではなく「ユーザーの行動を中断することなく示唆する」ことを目的として用います。

| 選択肢 | 用途 | テキストの長さ | 追加のアクション | 自動で消える秒数 | 表示位置 |
| ---- | ---- | ---- | ---- | ---- | ---- |
| [Toast](/docs/toast--information) | 完了**タイミングに気づくための**最低限のフィードバック（更新処理の成功など[^1]） | 1行 | なし | 4秒 | フローティング<br />（画面上下の中央のみ） |
| [SnackBar](/docs/snackbar--information) | ユーザーにとって読む価値があるもの<br />ユーザーが追加のアクションを実行しなくても完結するもの | 3行まで | あり | 10秒 | フローティング<br />（画面上下の左・右・中央） |
| [InlineNotification](/docs/inlinenotification--information) | ユーザーが追加のアクションを実行すると通知の役割を果たすもの（更新処理の失敗時など[^1]） | 制限なし | あり | 消えない | ページに埋め込む必要があり、レイアウトに影響を与える |
| [Dialog](/docs/dialog--normal) | ユーザーのメインタスクを中断して確認してもらうべき重要な通知 | 制限なし | あり | 消えない | モーダル |
| 画面外へ遷移させる | 一連の動作にゴールがある（登録時の完了画面など）<br />「元の画面に戻る」動作をさせたい時 | 制限なし | 制限なし | 消えない | 別ページ |

[^1]: 更新処理の失敗通知は、ユーザーが追加のアクションをする必要があり、見落とした場合の不利益が大きくなります。ToastではなくInlineNotificationの利用を推奨します。
