はじめに
UIを設計・実装していると、「このインタラクション、なんて名前だっけ?」「似たようなパターンが多くてどれを使えばいいか迷う」という場面によく出くわします。
そこで今回は、UIデザインパターンと説得的デザインパターンを、ユースケースごとに分類・ツリー形式でまとめました。
対象読者
- フロントエンドエンジニア・UIエンジニア
- UIデザイナー・UXデザイナー
- 「パターン名は知ってるけど整理できていない」という方
この記事の使い方
- 実装時の辞書として:「こういう動きを実装したい」→ 対応するパターン名を確認
- 設計時のチェックリストとして:見落としているパターンがないか確認
- レビュー・議論時の共通言語として:チームで「これは〇〇パターンだね」と話せるように
パターンの2種類について
| カテゴリ | 説明 |
|---|---|
| UIデザインパターン | インタラクションや画面構成など、UXを向上させるための定番パターン |
| 説得的デザインパターン | 人間の認知・心理を活用し、ユーザーの行動を促すためのパターン |
補足:各パターンの具体的な実装は MUI・Ant Design・Shadcn/ui などのコンポーネントライブラリで対応するものが見つかることが多いです。ライブラリはあくまで実装手段の一例です。
📋 目次
UIデザインパターン
入力の取得 (Getting Input)
-
Forms(フォーム)
- Drag and Drop(ドラッグ&ドロップ)
- Structured Format(構造化フォーマット)
- Keyboard Shortcuts(キーボードショートカット)
- Rule Builder(ルールビルダー)
- Captcha(キャプチャ)
- Inplace Editor(インプレースエディタ)
- Morphing Controls(モーフィングコントロール)
- Password Strength Meter(パスワード強度メーター)
- Fill in the Blanks(空欄記入)
- Input Feedback(入力フィードバック)
- WYSIWYG(ウィジウィグエディタ)
- Calendar Picker(カレンダーピッカー)
- Autosave(自動保存)
- Preview(プレビュー)
- Expandable Input(拡張可能な入力)
- Forgiving Format(寛容なフォーマット)
- Settings(設定)
- Input Prompt(入力プロンプト)
- Undo(元に戻す)
- Good Defaults(良いデフォルト値)
-
Explaining the Process(プロセスの説明)
-
Community Driven(コミュニティ主導)
ナビゲーション (Navigation)
-
Tabs(タブ)
-
Jumping in Hierarchy(階層ジャンプ)
-
Menus(メニュー)
-
Content(コンテンツ)
- Adaptable View(適応可能なビュー)
- Article List(記事リスト)
- Tagging(タグ付け)
- Pagination(ページネーション)
- Categorization(カテゴリ分け)
- Cards(カード)
- Carousel(カルーセル)
- Progressive Disclosure(段階的開示)
- Continuous Scrolling(無限スクロール)
- Tag Cloud(タグクラウド)
- Event Calendar(イベントカレンダー)
- Archive(アーカイブ)
- Thumbnail(サムネイル)
- Favorites(お気に入り)
- Pull to Refresh(引っ張って更新)
データ操作 (Dealing with Data)
-
Tables(テーブル)
-
Formatting Data(データフォーマット)
-
Images(画像)
-
Search(検索)
ソーシャル (Social)
-
Reputation(レピュテーション)
-
Social Interactions(ソーシャルインタラクション)
その他 (Miscellaneous)
-
Shopping(ショッピング)
-
Increasing Frequency(頻度の増加)
オンボーディング (Onboarding)
-
Guidance(ガイダンス)
-
Registration(登録)
説得的デザインパターン
認知 (Cognition)
-
Loss Aversion(損失回避)
-
Other Cognitive Biases(その他の認知バイアス)
- Illusion of Control(コントロールの錯覚)
- Set Completion(セット完成)
- Present Bias(現在バイアス)
- Delay Discounting(遅延割引)
- Need for Closure(クロージャーの必要性)
- Curiosity(好奇心)
- Priming Effect(プライミング効果)
- Value Attribution(価値帰属)
- Peak-end Rule(ピーク・エンドの法則)
- Temptation Bundling(誘惑バンドリング)
- Cashless Effect(キャッシュレス効果)
- Inaction Inertia Effect(不作為慣性効果)
- Choice Closure(選択クロージャ)
-
Scarcity(希少性)
ゲームメカニクス (Game Mechanics)
-
Gameplay Design(ゲームプレイデザイン)
-
Fundamentals of Rewards(報酬の基本)
-
Gameplay Rewards(ゲームプレイ報酬)
知覚と記憶 (Perception and Memory)
-
Attention(注意)
-
Comprehension(理解)
フィードバック (Feedback)
- Timing(タイミング)
ソーシャルバイアス (Social Biases)
- Authority Bias(権威バイアス)
- Liking(好意)
- Retaliation(報復)
- Role Playing(ロールプレイ)
- Self-Expression(自己表現)
- Reciprocation(互恵性)
- Social Proof(社会的証明)
- Positive Mimicry(ポジティブ模倣)
- Cognitive Dissonance(認知的不協和)
- Commitment & Consistency(コミットメントと一貫性)
- Reputation(レピュテーション)
- Halo Effect(ハロー効果)
- Nostalgia Effect(ノスタルジア効果)
- Competition(競争)
- Autonomy(自律性)
- Status(ステータス)
- Noble Edge Effect(ノーブルエッジ効果)
📚 参考リンク
| リソース | URL |
|---|---|
| UI Patterns | https://ui-patterns.com |
| MUI (Material UI) | https://mui.com/material-ui/ |
| Ant Design | https://ant.design/components/overview/ |
| TanStack Table | https://tanstack.com/table/latest |
| React Hook Form | https://react-hook-form.com |
| dnd kit | https://dndkit.com |
| Floating UI | https://floating-ui.com |
| Tiptap Editor | https://tiptap.dev |
| Driver.js (Tour) | https://driverjs.com |
| Swiper | https://swiperjs.com |
Have a nice day!
