トースト

オーバーレイ

トースト

Toast

トーストとは、操作の結果を画面の隅に少しだけ表示し、数秒後に自動で消える短い通知で、流れをさえぎらない軽いフィードバックです。

保存しました
一瞬表示され、数秒後に自動で消えます。

定義

トーストは、操作の結果を画面の隅にちょっとだけ表示し、数秒後にひとりでに消える短い通知です。 名前はトースターからパンがぽんと飛び出す様子に由来していて、実際に「保存しました」や 「リンクをコピーしました」といった一行のお知らせが、画面の下や上の端にすっと現れては 静かに引っ込みます。ユーザーが確認ボタンを押して閉じる必要もなく、作業の手を止める必要も ありません。ただ、いま行った操作がきちんと処理されたという事実を横目で確かめて、そのまま 先へ進めばいいだけです。そのためトーストは、流れをさえぎらない一番軽いフィードバック手段として 定着しました。

なぜ重要か

トーストが大切なのは、ユーザーを安心させながらも邪魔をしないからです。ボタンを押したのに 何の反応もないと、ユーザーは本当に押せたのか不安になり、同じボタンをもう一度押してしまいがちです。 そんなとき短いトーストが一行ぱっと現れれば、「自分の操作がちゃんと伝わったんだ」という確信が 生まれます。同時にトーストは自分から消え、背景をふさぐこともないので、確認を強いるモーダルとは 違ってユーザーの流れを少しも断ちません。ただ、この軽さはそのまま限界にもなります。ちらっと 現れてすぐ消えるので見逃しやすく、消えたあとは呼び戻すこともできません。ですから、必ずユーザーが 読んで判断しなければならない情報をトーストに載せてしまうと、それを見逃した人は何が起きたのかを 永遠に知ることができなくなります。だからこそトーストは、軽いお知らせだけに向いているという線を 守ることが大切なのです。

よくある間違い

  • 必ず確認しなければならない重要なエラーをトーストで知らせてしまうことです。ちらっと現れて すぐ消えるのでユーザーはメッセージを見逃しやすく、見逃したあとは何が間違っていたのかを もう一度見る手段がなく、問題がそのまま埋もれてしまいます。
  • トーストの表示時間を短くしすぎたり、いくつも一度に積み重ねたりすることです。読む前に消えたり、 通知が画面を埋め尽くしたりすると、本当に見てほしいお知らせが騒がしさに埋もれて、結局何も 伝わりません。
  • トーストを、必ず押さなければならないボタンのように作ってしまうことです。トーストは通り過ぎる 通知なので、その中の操作を見逃してもユーザーが困らない程度に、負担なく載せるべきです。

実務のヒント

  • トーストは流れをさえぎらない軽いフィードバックなので、保存成功のように知らせるだけでよい お知らせに使いましょう。ユーザーの確認がどうしても必要な場合や、見逃してはいけないエラーなら、 トーストの代わりにモーダルやインラインメッセージではっきりと引き止めておくほうが安全です。
  • いま行った操作を取り消す余地があるなら、トーストに「元に戻す」のような短いアクションを載せましょう。 削除の直後にちょっと現れる取り消しボタン一つが、うっかりミスによる事故を大きく減らしてくれます。
  • 人が一行を落ち着いて読める程度に表示時間をたっぷり取り、複数の通知が重なるときは一つずつ積んで 順番に見せましょう。急いでいるユーザーのために、手で先に閉じられる道も一緒に開けておくと親切です。

AIに頼む

成功通知のトーストを新しく作るとき

[通知内容 — 例:保存しました・リンクをコピーしました]のような成功通知を表示するトーストコンポーネントを作って。画面の上または下の隅にすっと現れて、約4秒(一行を無理なく読める時間)後に自動で消えるようにして、背景を暗く覆ったり確認ボタンを強制したりせず、操作の流れをまったく妨げないようにして。急いでいるユーザーのために、手ですぐ閉じられるXボタンも一緒に入れて、スクリーンリーダーが流れを止めずに読み上げてくれるように role="status"・aria-live="polite" を付けて。登場と退場はなめらかなフェード/スライドにして、ただし prefers-reduced-motion ならアニメーションをオフにして即座に表示して。

トーストで表示するエラー・確認メッセージを点検するとき

下に貼り付けるコードの中から、今トーストで表示しているメッセージを全部見つけて、それぞれを「知らせるだけでよい内容」なのか「見逃してはいけない、あるいはユーザーの確認が必ず必要な情報」なのか、深刻度で分類して。トーストは数秒後に自動で消えて、一度見逃すと二度と呼び戻せないから、決済失敗・データ損失の警告・確認が必要なエラーはトーストから外して、モーダルや画面に残るインラインメッセージに移して、保存成功・リンクコピーのような軽い内容だけをトーストに残して。分類結果を [メッセージ → 現在の方式 → 推奨する方式 → 理由] の表にまとめて、移すべき項目は変更後のコードまで出して。

削除のような取り消せる操作に安全策を入れるとき

[取り消せる操作 — 例:項目の削除・アーカイブ処理]の直後に出る「元に戻す」トーストを設計して。実際の処理はすぐに確定せず、数秒の猶予を置いてからコミットして、その間にユーザーが「元に戻す」を押したら元の状態に復元されるようにして。このトーストは通り過ぎるだけの通知だから、元に戻すのを見逃してもユーザーが困らないようにしたい。だから必ず押さないといけない必須ボタンのようには作らず、負担にならないようさりげなく添えて。ただしアクションがあるから表示時間は 5〜8秒 とたっぷり取って、手で閉じる手段も用意しつつ、複数が重なったら一度に一つずつ順番に表示されるようにして。

関連概念