UIって何だろう?⑨ 〜状態とフィードバックで作るデザイン〜

UIって何だろう?⑨ 〜状態とフィードバックで作るデザイン〜

「ボタンを押したらどうなる?」「読み込み中の表示は?」「エラーが出たら?」デザインツールで静止画を作るだけでは、UIは完成しません。ユーザーの操作に応じた「状態(ステート)」と、システムからの「フィードバック」まで設計して初めて、使いやすいUIになります。Material DesignやNielsen Norman Groupの原則を元に整理してみます。
2026.02.13

第1回「ポスターとアプリケーションの違い」の記事で、「ポスター(静的デザイン)とアプリ(動的デザイン)は違う」というお話をしました。ポスターは印刷されたら変化しませんが、UIはユーザーが触れることで変化する「動的なもの」です。

しかし、デザインツールで画面を作っていると、どうしても「何もしていない状態(静止画)」ばかりを作り込んでしまいがちです。 「ボタンを押したらどうなる?」「読み込み中は?」「エラーが起きたら?」 こうした「動き」と「反応」まで考えて初めて、使いやすいUIになります。

今回は、UIに命を吹き込む「状態(ステート)」と「フィードバック」について整理します。

1. 「状態(ステート)」をデザインする

UIコンポーネントには、ただ置かれているだけでなく、状況に応じた「状態(State)」が存在します。 第4回の「コンポーネント」の記事でも少し触れましたが、ボタン一つをとっても、ユーザーの操作に合わせて見た目を変える必要があります。

基本的なステート

UIパーツには、ユーザーの操作に応じて以下のような状態があります。GoogleのMaterial Designでは、ボタンなどのインタラクティブな要素に対して、以下の状態を定義しています

status
Material Designより引用

  1. Default(通常): 何もしていない、初期状態
  2. Hover(ホバー): マウスカーソルが乗った状態(※主にWeb)
  3. Press(押下): 指やマウスで押し込んだ瞬間
  4. Focused(フォーカス): キーボード操作などで選択されている状態
  5. Drag(ドラッグ): オブジェクトを掴んで動かしている状態

参考:Material Design States(https://m3.material.io/foundations/interaction/states/state-layers

これらに加えて、多くのUIでは

Disabled(無効): 条件が揃うまでボタンを押せない
も重要です。

hover

❌ NG
ボタンを押しても何も変化がないため、「押せているのかな?」と不安になり、何度もクリックやタップをしてしまう(多重送信の原因に)。

✅ OK
カーソルを乗せると色が少し明るくなり(Hover)、押すと沈み込む(Press)。ユーザーは自分の操作がシステムに伝わったことを直感的に理解できます。

2. システムからの「フィードバック」を返す

ユーザーが操作をした後、システムがどう処理したかを伝えるのが「フィードバック」です。 フィードバックが不足しているUIはユーザーを不安にさせます。

Nielsen Norman Group が提唱する「10 Usability Heuristics(ユーザビリティの10原則)」の第1原則は、「Visibility of System Status(システム状態の可視性)」です。システムで何が起きているかを、適切なタイミングでユーザーに伝えることが重要だとされています。

出典:https://www.nngroup.com/articles/ten-usability-heuristics/

具体的なフィードバックの例

処理中であることを伝える(Loading)

loading
Material Designより引用

通信中や処理中であることを伝えます。Google の Material Design では、Progress indicators(プログレスインジケーター)として、スピナーやプログレスバーの使用が推奨されています。これがないと、ユーザーは「フリーズした?」と勘違いしてしまいます。

snack
Material Designより引用

結果を伝える(Success / Error)

操作が成功したのか、失敗したのかを明確に伝えます。Material Design では、Snackbarなどの一時的な通知を使って、「保存しました」「エラーが発生しました」といったメッセージを表示します。

特にエラーの場合、Nielsen Norman Group 第9原則では、「エラーコードではなく、平易な言葉で伝える」「何が問題なのかを正確に示す」「解決策を建設的に提案する」ことが推奨されています。

modal

❌ NG
「Error 401: Unauthorized」 → 何をすればいいのか分からない。

✅ OK
「ログインの有効期限が切れました。もう一度ログインしてください。」 → 状況と次のアクションが明確。

3. 「無効(Disabled)」の扱い方

ボタンがグレーアウトしている Disabled 状態は、「今は押せない」ことを伝える状態です。

Nielsen Norman Group の第5原則「Error Prevention(エラーの防止)」では、エラーが起きないよう事前に防ぐ設計が推奨されています。Disabled 状態は、その一つの手段です。

例えば、必須項目が未入力のまま送信ボタンを押せないようにすることで、「送信したのにエラーが返ってくる」という体験を防げます。ただし「なぜ押せないのか」が分からないと、ユーザーは困ってしまいます。

error

❌ NG
理由が分からない
入力フォームが埋まっていないため送信ボタンがグレーになっているが、どこが未入力なのか一目で分からない。

✅ OK
理由を明示する
未入力の項目に「必須」マークや赤い枠を表示し、ボタンの近くに「すべての必須項目を入力してください」と説明を添える。

なお、あえて Disabled にせず、ボタンを押したときにエラーメッセージで伝える方法もあります(Nielsen Norman Group の第9原則「Error Recovery」)。どちらが親切かは、状況によって変わります。

4. おわりに

デザインツールで作る静止画は、UIデザインの「半分」です。残りの半分は、ユーザーが触れたときの「反応」をどう設計するかです。

  • 状態(State):ボタン一つにも、Hover / Press / Focused などの状態がある
  • フィードバック:処理中・成功・失敗を、きちんと伝える
  • Disabled の扱い:グレーアウトするなら、理由も一緒に示す

「押したらどうなる?」「読み込み中は?」「エラーが出たら?」このような問いに答えることで、UIは初めて「使えるもの」になります。

第1回で触れた「ポスターとアプリの違い」も合わせて考えると、UIデザインは、静止画ではなく「ユーザーとの対話」といえそうです。

この記事をシェアする

FacebookHatena blogX

関連記事