Design Vocabulary设计词汇 · 样本集 01

VOCABULARY / 词条

用户控制与自由

User Control and Freedom

加入比较 +

用户经常误操作,因此需要一个标记清晰的“紧急出口”,无需经历冗长流程就能离开不想要的状态;支持撤销与重做。能轻松脱困会让人敢于探索,从而促进学习与功能发现。

示意图 · 编辑插画,尚无可操作示例
一张虚构编辑器的工具栏,撤销与重做箭头醒目,旁边是一个描边的取消按钮,角落有一个出口门图标。
一张虚构编辑器的工具栏,撤销与重做箭头醒目,旁边是一个描边的取消按钮,角落有一个出口门图标。

识别特征

  • 任何多步或模态流程都有可见且带文字标签的取消、关闭或返回
  • 破坏性或修改性操作可以撤销、重做,或至少在提交前确认
  • 上下文变化(跳转、新窗口、自动提交)由用户主动触发,而非系统代劳

概念边界

用户控制与自由关注用户能否随时退出或撤回,属于 Nielsen 第三条启发式;它与平静技术相关(尊重用户注意力),但后者讨论的是信息呈现的强度,而非退出通道。撤销/重做是它的一种实现,本词典尚未单独立条;阻碍退出或完成是它的直接违反。它不等于错误预防:前者处理已经发生的误操作,后者处理发生之前。

什么时候考虑它

  • 用户在编辑、配置或多步流程中容易误入不想要的状态
  • 操作会修改或删除内容,而用户希望在事后反悔
  • 系统可能自动改变上下文,例如自动跳转、自动刷新或自动提交

什么时候慎用

  • 把“可撤销”当作免除确认的理由,用在撤销窗口极短或根本无法恢复的操作上
  • 为每个低代价操作都提供退出确认,使出口本身成为摩擦
  • 只依赖隐藏的键盘快捷键或未标注的图标作为出口

取舍

清晰的出口与撤销能降低误操作代价、鼓励探索,但撤销需要持久化历史状态,取消需要处理半完成的数据,这会增加实现复杂度;出口过多或过于显眼也可能分散对主任务的注意力。

条件规则 · 编辑建议

当界面进入多步流程或模态对话框必须提供可见、带文字标签的取消、关闭或返回;离开时若会丢失已输入内容,必须先提示。
当操作会删除或不可逆地修改用户内容必须支持撤销,或在执行前提供确认;二者至少其一。
当系统可以自动跳转、刷新或提交建议在可行的情况下不要在无用户请求时改变上下文,改为由用户主动触发。

相关词条

阻碍退出或完成 ↗条件冲突 · 取消、退订或注销通道被刻意隐藏、拉长或设置障碍

阻碍退出或完成正是取消“紧急出口”,是对本原则的直接违反。

模态对话框 ↗提供解释 · 模态对话框会阻断当前任务

模态必须提供带文字标签的关闭或取消,且关闭不应丢失用户已输入的内容。

分步向导 ↗提供解释 · 多步流程中用户需要回到上一步或中途退出

向导的每一步都应有返回与取消,且退出时对未保存的进度给出提示而非静默丢弃。

错误预防 ↗可以配合 · 操作既可能被误触发,又造成较高代价

错误预防在提交前阻止问题,用户控制与自由在问题发生后提供撤回;两者共同覆盖操作前后。

平静技术 ↗相关但不同 · 系统主动推送、打断或自动改变界面

两者都主张把主动权留给用户,但平静技术关注信息强度与注意力,本原则关注退出与撤回通道。

来源与支持范围

NN/g · 10 Usability Heuristics for User Interface Design ↗

第三条启发式:用户常常误操作,需要一个标记清晰的“紧急出口”,无需经历冗长流程就能离开不想要的动作;建议支持撤销与重做,提供如“取消”按钮的明确退出方式,并确保出口标签清晰、易于发现。

检索日期:2026-09-15
NN/g · User Control and Freedom (Usability Heuristic #3) ↗

列出返回、取消、关闭与撤销/重做四类出口;出口应放在预期位置、易于找到并配以文字标签(“Back”优于“<”,“Close”优于“X”),撤销应有可见入口而非仅靠快捷键;能轻松脱困会鼓励探索并促进功能发现。

检索日期:2026-09-15 · 存档于 2026-09-16
W3C · Understanding SC 3.2.5: Change on Request ↗

WCAG 2.2 AAA 级要求:上下文变化只能由用户请求发起,或提供关闭此类变化的机制;意图是让用户完全掌控主要内容变化,避免新窗口、自动提交等意外变化使运动障碍、低视力、失明或认知障碍用户迷失。

检索日期:2026-09-15

定义参考以上来源;数字界面示例、选择建议、条件关系及配方由本样例编辑,尚未经用户研究验证。

类型扩展与实现说明

本词条尚无可操作示例;插画为编辑示意。应用到产品时仍须验证每个模态与多步流程是否都有带标签的出口、撤销是否真正恢复数据,以及取消半完成流程时是否会静默丢失内容。

{
  "evidenceType": "可用性启发式与无障碍标准的设计解释",
  "limit": "本词条不测量撤销或取消对任务完成率的影响,也不规定撤销窗口的时长或历史步数。"
}
完整 Agent 条目 JSON
{
  "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"
  ]
}