{
  "_description": "Generated from data/ — edit the sources, not this file. The agent access guide explains the evidence boundary of every field.",
  "schemaVersion": "1.0.0",
  "kind": "list",
  "locale": "en",
  "id": "I-C",
  "name": {
    "zh": "交互模式 · 经典基础",
    "en": "Interaction patterns · Classic foundation"
  },
  "headline": {
    "zh": "交互模式 Top 10：10 大经典 UI 交互设计模式",
    "en": "Top 10 Classic UI Interaction Design Patterns"
  },
  "page": "https://designvocabulary.com/en/lists/I-C/",
  "self": "https://designvocabulary.com/en/lists/I-C.json",
  "alternates": {
    "zh-CN": "https://designvocabulary.com/zh/lists/I-C.json",
    "en": "https://designvocabulary.com/en/lists/I-C.json"
  },
  "site": {
    "catalogSchemaVersion": "0.1.0",
    "entries": 158,
    "index": "https://designvocabulary.com/en/lists/index.json",
    "query": "https://designvocabulary.com/api/query?lang=en",
    "guide": "https://designvocabulary.com/en/agents/",
    "llms": "https://designvocabulary.com/llms.txt"
  },
  "provenance": {
    "selection": "editorial",
    "ordered": false,
    "disclaimer": "Seat numbers are editorial positions, not scores, rankings, or popularity measurements. A list that is not filled is left as it is.",
    "titleNote": "“Top” in the title is a search convention. This edition is an editorial selection, not a ranking, a score, or a measure of popularity.",
    "seatOrigins": {
      "issue-1-ledger": "The seat comes from the list ledger in plan issue #1.",
      "editorial-reconstruction": "The seat was filled by editorial judgement in this repository."
    },
    "evidence": "The reasons are editorial and say which task shape the entry covers; they are not an order of preference. Most of these patterns combine.",
    "nominalSize": 10,
    "seatCount": 10,
    "filled": true,
    "sibling": {
      "id": "I-Y",
      "page": "https://designvocabulary.com/en/lists/I-Y/",
      "json": "https://designvocabulary.com/en/lists/I-Y.json"
    }
  },
  "seats": [
    {
      "seat": 1,
      "entry": "progressive-disclosure",
      "origin": "editorial-reconstruction",
      "reason": "Sets the category's baseline: controlling when secondary content appears.",
      "name": "Progressive Disclosure",
      "type": "interaction",
      "page": "https://designvocabulary.com/en/entries/progressive-disclosure/",
      "json": "https://designvocabulary.com/en/entries/progressive-disclosure.json"
    },
    {
      "seat": 2,
      "entry": "inline-edit",
      "origin": "editorial-reconstruction",
      "reason": "Covers changing something where it is read, without moving the person out of context.",
      "name": "Inline Edit",
      "type": "interaction",
      "page": "https://designvocabulary.com/en/entries/inline-edit/",
      "json": "https://designvocabulary.com/en/entries/inline-edit.json"
    },
    {
      "seat": 3,
      "entry": "direct-manipulation",
      "origin": "issue-1-ledger",
      "reason": "Establishes that a person can act on a continuously visible object rather than through command syntax.",
      "name": "Direct Manipulation",
      "type": "interaction",
      "page": "https://designvocabulary.com/en/entries/direct-manipulation/",
      "json": "https://designvocabulary.com/en/entries/direct-manipulation.json"
    },
    {
      "seat": 4,
      "entry": "search-and-filter",
      "origin": "issue-1-ledger",
      "reason": "Covers narrowing a large set, and requires the active conditions to stay visible.",
      "name": "Search and Filter",
      "type": "interaction",
      "page": "https://designvocabulary.com/en/entries/search-and-filter/",
      "json": "https://designvocabulary.com/en/entries/search-and-filter.json"
    },
    {
      "seat": 5,
      "entry": "wizard",
      "origin": "issue-1-ledger",
      "reason": "Separates stepping through fixed stages from revealing on demand.",
      "name": "Wizard",
      "type": "interaction",
      "page": "https://designvocabulary.com/en/entries/wizard/",
      "json": "https://designvocabulary.com/en/entries/wizard.json"
    },
    {
      "seat": 6,
      "entry": "modal-dialog",
      "origin": "issue-1-ledger",
      "reason": "Covers the kind of disclosure that blocks the main content, showing not all disclosure blocks.",
      "name": "Modal Dialog",
      "type": "interaction",
      "page": "https://designvocabulary.com/en/entries/modal-dialog/",
      "json": "https://designvocabulary.com/en/entries/modal-dialog.json"
    },
    {
      "seat": 7,
      "entry": "undo-redo",
      "origin": "issue-1-ledger",
      "reason": "Covers taking back a change that already took effect — the precondition for acting without fear.",
      "name": "Undo and Redo",
      "type": "interaction",
      "page": "https://designvocabulary.com/en/entries/undo-redo/",
      "json": "https://designvocabulary.com/en/entries/undo-redo.json"
    },
    {
      "seat": 8,
      "entry": "command-palette",
      "origin": "issue-1-ledger",
      "reason": "Covers reaching commands and objects directly by keyboard and text, layered over the visible interface.",
      "name": "Command Palette",
      "type": "interaction",
      "page": "https://designvocabulary.com/en/entries/command-palette/",
      "json": "https://designvocabulary.com/en/entries/command-palette.json"
    },
    {
      "seat": 9,
      "entry": "batch-actions",
      "origin": "issue-1-ledger",
      "reason": "Covers the grain of selecting many and acting once, unlike changing items one by one.",
      "name": "Batch Actions",
      "type": "interaction",
      "page": "https://designvocabulary.com/en/entries/batch-actions/",
      "json": "https://designvocabulary.com/en/entries/batch-actions.json"
    },
    {
      "seat": 10,
      "entry": "contextual-actions",
      "origin": "issue-1-ledger",
      "reason": "Covers actions scoped to one object that appear on selection or hover.",
      "name": "Contextual Actions",
      "type": "interaction",
      "page": "https://designvocabulary.com/en/entries/contextual-actions/",
      "json": "https://designvocabulary.com/en/entries/contextual-actions.json"
    }
  ],
  "list": {
    "id": "I-C",
    "category": "interaction",
    "edition": "classic",
    "name": {
      "zh": "交互模式 · 经典基础",
      "en": "Interaction patterns · Classic foundation"
    },
    "headline": {
      "zh": "交互模式 Top 10：10 大经典 UI 交互设计模式",
      "en": "Top 10 Classic UI Interaction Design Patterns"
    },
    "note": "A classic foundation for interaction patterns: it covers common task shapes and implies no order of preference.",
    "keywords": [
      "interaction design patterns",
      "UI patterns",
      "progressive disclosure",
      "modal dialog",
      "undo redo",
      "command palette",
      "search and filter",
      "interaction patterns"
    ],
    "lead": "This edition collects the recurring task shapes of interaction: choosing, changing, confirming, taking back. Recognising them lets a discussion replace “add a popup” with something more precise.",
    "criteria": [
      "It describes a recognisable exchange between person and system, not a single visual response.",
      "Its difference from neighbouring patterns is statable: it lies in the shape of the task, not the look of the control.",
      "It holds across platforms and does not depend on one operating system's controls."
    ],
    "pairing": "Against the 2026 focus edition, this one does not assume a system acting on its own. An entry in both lists is a pattern that has taken on new weight where automation is involved.",
    "evidence": "The reasons are editorial and say which task shape the entry covers; they are not an order of preference. Most of these patterns combine.",
    "seats": [
      {
        "seat": 1,
        "entry": "progressive-disclosure",
        "origin": "editorial-reconstruction",
        "reason": "Sets the category's baseline: controlling when secondary content appears."
      },
      {
        "seat": 2,
        "entry": "inline-edit",
        "origin": "editorial-reconstruction",
        "reason": "Covers changing something where it is read, without moving the person out of context."
      },
      {
        "seat": 3,
        "entry": "direct-manipulation",
        "origin": "issue-1-ledger",
        "reason": "Establishes that a person can act on a continuously visible object rather than through command syntax."
      },
      {
        "seat": 4,
        "entry": "search-and-filter",
        "origin": "issue-1-ledger",
        "reason": "Covers narrowing a large set, and requires the active conditions to stay visible."
      },
      {
        "seat": 5,
        "entry": "wizard",
        "origin": "issue-1-ledger",
        "reason": "Separates stepping through fixed stages from revealing on demand."
      },
      {
        "seat": 6,
        "entry": "modal-dialog",
        "origin": "issue-1-ledger",
        "reason": "Covers the kind of disclosure that blocks the main content, showing not all disclosure blocks."
      },
      {
        "seat": 7,
        "entry": "undo-redo",
        "origin": "issue-1-ledger",
        "reason": "Covers taking back a change that already took effect — the precondition for acting without fear."
      },
      {
        "seat": 8,
        "entry": "command-palette",
        "origin": "issue-1-ledger",
        "reason": "Covers reaching commands and objects directly by keyboard and text, layered over the visible interface."
      },
      {
        "seat": 9,
        "entry": "batch-actions",
        "origin": "issue-1-ledger",
        "reason": "Covers the grain of selecting many and acting once, unlike changing items one by one."
      },
      {
        "seat": 10,
        "entry": "contextual-actions",
        "origin": "issue-1-ledger",
        "reason": "Covers actions scoped to one object that appear on selection or hover."
      }
    ]
  }
}
