{
  "_description": "本文件由 data/ 生成：请改动来源文件，不要改这里。各字段的证据边界见接入指南。",
  "schemaVersion": "1.0.0",
  "kind": "entry",
  "locale": "zh-CN",
  "id": "user-control",
  "name": {
    "zh": "用户控制与自由",
    "en": "User Control and Freedom"
  },
  "page": "https://designvocabulary.com/zh/entries/user-control/",
  "self": "https://designvocabulary.com/zh/entries/user-control.json",
  "alternates": {
    "zh-CN": "https://designvocabulary.com/zh/entries/user-control.json",
    "en": "https://designvocabulary.com/en/entries/user-control.json"
  },
  "site": {
    "catalogSchemaVersion": "0.1.0",
    "entries": 158,
    "index": "https://designvocabulary.com/zh/entries/index.json",
    "query": "https://designvocabulary.com/api/query?lang=zh",
    "guide": "https://designvocabulary.com/zh/agents/",
    "llms": "https://designvocabulary.com/llms.txt"
  },
  "provenance": {
    "sourceBacked": [
      "entry.definition"
    ],
    "editorial": [
      "entry.boundary",
      "entry.signature",
      "entry.when",
      "entry.when_not",
      "entry.tradeoff",
      "entry.comparison",
      "entry.rules",
      "entry.relations",
      "entry.implementationNote",
      "entry.principle"
    ],
    "scope": "定义参考以上来源；数字界面示例、选择建议、条件关系及配方由本样例编辑，尚未经用户研究验证。",
    "editorialStatus": "drafted",
    "specimenData": "fictional",
    "specimenNote": "示例为原创虚构界面；定义附来源，用法与配方为编辑建议。",
    "sources": [
      {
        "id": "nng-heuristics-user-control",
        "url": "https://www.nngroup.com/articles/ten-usability-heuristics/",
        "title": "NN/g · 10 Usability Heuristics for User Interface Design",
        "checkedAt": "2026-09-15",
        "archive": {
          "status": "available",
          "confirmed": true,
          "url": "https://web.archive.org/web/20260915182252/https://www.nngroup.com/articles/ten-usability-heuristics/",
          "capturedAt": "2026-09-15T18:22:52Z",
          "lookupUrl": "https://web.archive.org/web/20260915*/https://www.nngroup.com/articles/ten-usability-heuristics/"
        }
      },
      {
        "id": "nng-user-control-freedom",
        "url": "https://www.nngroup.com/articles/user-control-and-freedom/",
        "title": "NN/g · User Control and Freedom (Usability Heuristic #3)",
        "checkedAt": "2026-09-15",
        "archive": {
          "status": "available",
          "confirmed": true,
          "url": "https://web.archive.org/web/20260916035135/https://www.nngroup.com/articles/user-control-and-freedom/",
          "capturedAt": "2026-09-16T03:51:35Z",
          "lookupUrl": "https://web.archive.org/web/20260915*/https://www.nngroup.com/articles/user-control-and-freedom/"
        }
      },
      {
        "id": "wcag22-sc325",
        "url": "https://www.w3.org/WAI/WCAG22/Understanding/change-on-request.html",
        "title": "W3C · Understanding SC 3.2.5: Change on Request",
        "checkedAt": "2026-09-15",
        "archive": {
          "status": "available",
          "confirmed": true,
          "url": "https://web.archive.org/web/20260915184735/https://www.w3.org/WAI/WCAG22/Understanding/change-on-request.html",
          "capturedAt": "2026-09-15T18:47:35Z",
          "lookupUrl": "https://web.archive.org/web/20260915*/https://www.w3.org/WAI/WCAG22/Understanding/change-on-request.html"
        }
      }
    ],
    "lists": [
      {
        "id": "P-C",
        "edition": "classic",
        "seat": 10,
        "origin": "issue-1-ledger",
        "page": "https://designvocabulary.com/zh/lists/P-C/",
        "json": "https://designvocabulary.com/zh/lists/P-C.json"
      },
      {
        "id": "P-Y",
        "edition": "2026-focus",
        "seat": 5,
        "origin": "issue-1-ledger",
        "page": "https://designvocabulary.com/zh/lists/P-Y/",
        "json": "https://designvocabulary.com/zh/lists/P-Y.json"
      }
    ],
    "ordered": false,
    "listDisclaimer": "席位号是编辑位置，不是评分、排名或人气统计；清单未收满时保持原样，不补足。"
  },
  "entry": {
    "id": "user-control",
    "type": "principle",
    "name": {
      "zh": "用户控制与自由",
      "en": "User Control and Freedom"
    },
    "aliases": [
      "Nielsen Heuristic #3",
      "紧急出口",
      "Emergency Exit"
    ],
    "granularity": "experience",
    "intents": [
      "confirm-action",
      "prevent-error"
    ],
    "tags": [
      "启发式",
      "撤销",
      "取消",
      "退出",
      "可逆"
    ],
    "definition": "用户经常误操作，因此需要一个标记清晰的“紧急出口”，无需经历冗长流程就能离开不想要的状态；支持撤销与重做。能轻松脱困会让人敢于探索，从而促进学习与功能发现。",
    "boundary": "用户控制与自由关注用户能否随时退出或撤回，属于 Nielsen 第三条启发式；它与平静技术相关（尊重用户注意力），但后者讨论的是信息呈现的强度，而非退出通道。撤销/重做是它的一种实现，本词典尚未单独立条；阻碍退出或完成是它的直接违反。它不等于错误预防：前者处理已经发生的误操作，后者处理发生之前。",
    "signature": [
      "任何多步或模态流程都有可见且带文字标签的取消、关闭或返回",
      "破坏性或修改性操作可以撤销、重做，或至少在提交前确认",
      "上下文变化（跳转、新窗口、自动提交）由用户主动触发，而非系统代劳"
    ],
    "when": [
      "用户在编辑、配置或多步流程中容易误入不想要的状态",
      "操作会修改或删除内容，而用户希望在事后反悔",
      "系统可能自动改变上下文，例如自动跳转、自动刷新或自动提交"
    ],
    "when_not": [
      "把“可撤销”当作免除确认的理由，用在撤销窗口极短或根本无法恢复的操作上",
      "为每个低代价操作都提供退出确认，使出口本身成为摩擦",
      "只依赖隐藏的键盘快捷键或未标注的图标作为出口"
    ],
    "tradeoff": "清晰的出口与撤销能降低误操作代价、鼓励探索，但撤销需要持久化历史状态，取消需要处理半完成的数据，这会增加实现复杂度；出口过多或过于显眼也可能分散对主任务的注意力。",
    "comparison": {
      "focus": "用户能否随时离开不想要的状态并撤回操作",
      "mechanism": "可见的返回、取消、关闭出口，加上撤销/重做",
      "cost": "历史状态的维护、半完成数据的处理，以及出口位置与标签的设计"
    },
    "sources": [
      {
        "id": "nng-heuristics-user-control",
        "title": "NN/g · 10 Usability Heuristics for User Interface Design",
        "url": "https://www.nngroup.com/articles/ten-usability-heuristics/",
        "claim": "第三条启发式：用户常常误操作，需要一个标记清晰的“紧急出口”，无需经历冗长流程就能离开不想要的动作；建议支持撤销与重做，提供如“取消”按钮的明确退出方式，并确保出口标签清晰、易于发现。",
        "checkedAt": "2026-09-15",
        "archive": {
          "lookupUrl": "https://web.archive.org/web/20260915*/https://www.nngroup.com/articles/ten-usability-heuristics/",
          "status": "available",
          "checkedAt": "2026-09-15T18:21:57.626Z",
          "jobId": "spn2-c214ca6ca65135f964d23731cb22d3701cb6d598",
          "url": "https://web.archive.org/web/20260915182252/https://www.nngroup.com/articles/ten-usability-heuristics/",
          "timestamp": "20260915182252"
        }
      },
      {
        "id": "nng-user-control-freedom",
        "title": "NN/g · User Control and Freedom (Usability Heuristic #3)",
        "url": "https://www.nngroup.com/articles/user-control-and-freedom/",
        "claim": "列出返回、取消、关闭与撤销/重做四类出口；出口应放在预期位置、易于找到并配以文字标签（“Back”优于“<”，“Close”优于“X”），撤销应有可见入口而非仅靠快捷键；能轻松脱困会鼓励探索并促进功能发现。",
        "checkedAt": "2026-09-15",
        "archive": {
          "lookupUrl": "https://web.archive.org/web/20260915*/https://www.nngroup.com/articles/user-control-and-freedom/",
          "status": "available",
          "checkedAt": "2026-09-16T03:59:51.314Z",
          "jobId": "spn2-3a0ff97744af06a7cb1daace1073bb8545c95cac",
          "url": "https://web.archive.org/web/20260916035135/https://www.nngroup.com/articles/user-control-and-freedom/",
          "timestamp": "20260916035135"
        }
      },
      {
        "id": "wcag22-sc325",
        "title": "W3C · Understanding SC 3.2.5: Change on Request",
        "url": "https://www.w3.org/WAI/WCAG22/Understanding/change-on-request.html",
        "claim": "WCAG 2.2 AAA 级要求：上下文变化只能由用户请求发起，或提供关闭此类变化的机制；意图是让用户完全掌控主要内容变化，避免新窗口、自动提交等意外变化使运动障碍、低视力、失明或认知障碍用户迷失。",
        "checkedAt": "2026-09-15",
        "archive": {
          "lookupUrl": "https://web.archive.org/web/20260915*/https://www.w3.org/WAI/WCAG22/Understanding/change-on-request.html",
          "status": "available",
          "checkedAt": "2026-09-15T18:47:12.330Z",
          "jobId": "spn2-187f801514744889f3b118c2ecba0e38fdebb299",
          "url": "https://web.archive.org/web/20260915184735/https://www.w3.org/WAI/WCAG22/Understanding/change-on-request.html",
          "timestamp": "20260915184735"
        }
      }
    ],
    "relations": [
      {
        "target": "obstruction",
        "kind": "conflicts_when",
        "condition": "取消、退订或注销通道被刻意隐藏、拉长或设置障碍",
        "reason": "阻碍退出或完成正是取消“紧急出口”，是对本原则的直接违反。",
        "basis": "editorial"
      },
      {
        "target": "modal-dialog",
        "kind": "informs",
        "condition": "模态对话框会阻断当前任务",
        "reason": "模态必须提供带文字标签的关闭或取消，且关闭不应丢失用户已输入的内容。",
        "basis": "editorial"
      },
      {
        "target": "wizard",
        "kind": "informs",
        "condition": "多步流程中用户需要回到上一步或中途退出",
        "reason": "向导的每一步都应有返回与取消，且退出时对未保存的进度给出提示而非静默丢弃。",
        "basis": "editorial"
      },
      {
        "target": "error-prevention",
        "kind": "composes_with",
        "condition": "操作既可能被误触发，又造成较高代价",
        "reason": "错误预防在提交前阻止问题，用户控制与自由在问题发生后提供撤回；两者共同覆盖操作前后。",
        "basis": "editorial"
      },
      {
        "target": "calm-technology",
        "kind": "related",
        "condition": "系统主动推送、打断或自动改变界面",
        "reason": "两者都主张把主动权留给用户，但平静技术关注信息强度与注意力，本原则关注退出与撤回通道。",
        "basis": "editorial"
      }
    ],
    "rules": [
      {
        "when": "界面进入多步流程或模态对话框",
        "instruction": "提供可见、带文字标签的取消、关闭或返回；离开时若会丢失已输入内容，必须先提示。",
        "strength": "must",
        "basis": "editorial"
      },
      {
        "when": "操作会删除或不可逆地修改用户内容",
        "instruction": "支持撤销，或在执行前提供确认；二者至少其一。",
        "strength": "must",
        "basis": "editorial"
      },
      {
        "when": "系统可以自动跳转、刷新或提交",
        "instruction": "在可行的情况下不要在无用户请求时改变上下文，改为由用户主动触发。",
        "strength": "recommend",
        "basis": "editorial"
      }
    ],
    "principle": {
      "evidenceType": "可用性启发式与无障碍标准的设计解释",
      "limit": "本词条不测量撤销或取消对任务完成率的影响，也不规定撤销窗口的时长或历史步数。"
    },
    "demo": null,
    "version": "0.1.0",
    "editorialStatus": "drafted",
    "requirements": [],
    "demoCapabilities": [],
    "implementationNote": "本词条尚无可操作示例；插画为编辑示意。应用到产品时仍须验证每个模态与多步流程是否都有带标签的出口、撤销是否真正恢复数据，以及取消半完成流程时是否会静默丢失内容。",
    "image": {
      "src": "/images/user-control.webp",
      "alt": "一张虚构编辑器的工具栏，撤销与重做箭头醒目，旁边是一个描边的取消按钮，角落有一个出口门图标。"
    },
    "searchTerms": [
      "heuristics",
      "undo",
      "cancel",
      "exit",
      "reversible"
    ]
  }
}
