name: ux-heuristics description: ‘基于Steve Krug的“别让我思考”和Jakob Nielsen的10个启发式的可用性原则。适用于:(1) 审计UI的可用性问题,(2) 识别用户困惑或沮丧的原因,(3) 简化导航和信息架构,(4) 进行启发式评估,(5) 按严重性优先处理UX修复,(6) 开发前审查设计,(7) 改进表单可用性,(8) 验证界面是否遵循已建立的UX原则。’ license: MIT metadata: author: wondelai version: “1.1.0”
UX启发式框架
用于评估和改进用户界面的实用性原则。基于一个基本事实:用户不阅读,他们扫描。他们不做最优选择,他们满足于足够好。他们不弄清楚事物如何工作,他们摸索前进。
核心原则
“别让我思考” – 每个页面都应是不言自明的。如果某物需要思考,那就是可用性问题。
基础: 用户耐心和认知带宽有限。最佳界面是隐形的——它们让用户达成目标而无需停下来思考“该点击什么?”或“我在哪里?”。用户脑中弹出的每个问号都会增加认知负荷,增加他们离开的机会。为扫描、满足和摸索而设计——因为用户实际上就是这样做的。
评分
目标:10/10。 在审查或创建用户界面时,根据对以下原则的遵守程度评分0-10。10/10表示完全符合所有指南;较低分数表示需要解决的差距。始终提供当前分数和达到10/10所需的具体改进。
Krug的可用性三法则
1. 别让我思考
核心概念: 用户脑中弹出的每个问号都会增加他们的认知负荷并分散任务注意力。
为什么有效: 用户在执行任务。他们不想琢磨标签、猜测链接作用或解码巧妙的营销语言。所需思考越少,完成任务的可能性越大。
关键见解:
- 巧妙名称总输给清晰名称
- 营销语言产生摩擦;平实语言消除它
- 不熟悉的类别和标签迫使用户停下来解释
- 可能指向任何地方的链接产生不确定性
- 标签模糊的按钮导致犹豫
产品应用:
| 上下文 | 应用 | 示例 |
|---|---|---|
| 导航标签 | 使用不言自明的名称 | “获取方向”而非“计算到目的地的路线” |
| 行动召唤 | 使用用户理解的动作动词 | “登录”而非“访问您的账户门户” |
| 电子商务 | 匹配用户心智模型 | “加入购物车”而非“继续购买选择” |
| 表单标签 | 简单描述所需内容 | “邮箱地址”而非“电子通信标识符” |
| 错误状态 | 告诉用户下一步做什么 | “检查您的邮箱格式”而非“验证错误” |
文案模式:
- 不言自明的标签:“登录”、“搜索”、“加入购物车”
- 面向行动的按钮:动词+名词(“创建账户”、“下载报告”)
- 避免行话:“保存”而非“持久化”、“移除”而非“解关联”
- 如果标签需要解释,简化标签
伦理边界: 清晰应服务用户,而非隐藏信息。切勿使用平实语言作为掩盖不利条款的表象。
参见:references/krug-principles.md 获取完整Krug方法。
2. 点击次数无关紧要
核心概念: 神话说“用户在3次点击后离开。”现实是如果每次点击都无痛、明显且增强信心,用户不介意点击。
为什么有效: 每次点击的认知努力比点击次数更重要。三次无脑、自信的点击远胜于一次需要深思的点击。用户失去信心时放弃,而非点击耐心耗尽时。
关键见解:
- 每次点击应无痛(快速、容易)
- 每次点击应明显(无需思考)
- 每次点击应增强信心(用户知道他们在正确路径上)
- 三次无脑点击总胜于一次混淆点击
- 用户困惑时放弃,而非点击过多时
产品应用:
| 上下文 | 应用 | 示例 |
|---|---|---|
| 信息架构 | 优先清晰而非深度 | 浅显导航配清晰标签而非深层导航配模糊标签 |
| 结账流程 | 使每一步都明显 | 清晰的步骤指示器和描述性标签 |
| 设置 | 组织成清晰类别 | “账户 > 安全 > 更改密码”(3次自信点击) |
| 搜索结果 | 让用户自信地深入 | 逐步缩小结果的类别过滤器 |
| 入门引导 | 以小而清晰的步骤指导 | 每个步骤一个清晰操作的向导 |
文案模式:
- 进度指示器:“第2步,共4步:配送详情”
- 面包屑导航:“主页 > 产品 > 鞋类 > 跑步鞋”
- 每步确认:“很好,您的邮箱已验证。现在设置您的个人资料。”
- 清晰的链接文本:“查看所有跑步鞋”而非“点击这里”
伦理边界: 不要使用额外步骤来隐藏取消流程或使退出更难。每次点击都应引导用户朝目标前进,而非远离。
参见:references/krug-principles.md 获取Krug的点击哲学和扫描行为。
3. 删除一半文字
核心概念: 删除每个页面上的一半文字,然后删除剩下的一半。简洁减少噪音,使有用内容更突出,并尊重用户时间。
为什么有效: 用户扫描——他们不阅读。每个不必要的词都与重要词竞争。去除废话使重要内容更易发现,页面更短。
关键见解:
- 愉快废话(“欢迎来到我们的网站!”)浪费空间
- 没人阅读的说明应删除
- “请”和“敬告”等礼貌废话增加噪音
- 冗余解释稀释信息
- 更短的页面意味着更少滚动和更快扫描
产品应用:
| 上下文 | 应用 | 示例 |
|---|---|---|
| 登陆页面 | 削减欢迎文案,以价值引导 | 移除“欢迎来到…”段落 |
| 错误消息 | 陈述问题和修复,仅此而已 | “密码太短(至少8个字符)”而非一段话 |
| 工具提示 | 最多一句 | “您卡号的最后4位”而非完整解释 |
| 空状态 | 面向行动、最小化 | “无结果。尝试不同的搜索。” |
| 入门引导 | 每个屏幕一个指令 | “选择您的兴趣”而非解释性文字墙 |
文案模式:
- 之前:“敬告您需要输入密码以继续下一步。”
- 之后:“输入密码以继续。”
- 之前:“我们已经收到您的消息,并将尽快回复。”
- 之后:“消息已发送。我们将在24小时内回复。”
伦理边界: 简洁不能意味着省略关键信息。定价、条款和数据使用的简明披露是用户权利。
参见:references/krug-principles.md 获取Krug的删词方法。
4. 后备箱测试
核心概念: 导航清晰度的测试:如果用户被放到任何随机页面(像被锁在汽车后备箱中并在随机地点释放),他们能立即回答六个关键问题吗?
为什么有效: 良好导航给予用户持续定位。如果用户无法识别他们在哪里和他们的选项是什么,他们会感到迷失并离开。
关键见解:
- 用户必须知道他们在哪个网站(品牌/徽标可见)
- 用户必须知道他们在哪个页面(清晰标题)
- 主要部分必须可见(导航)
- 此级别的选项必须清晰(链接/按钮)
- 层次结构中的位置必须明显(面包屑)
- 搜索必须可找到
产品应用:
| 上下文 | 应用 | 示例 |
|---|---|---|
| 全局导航 | 持久站点ID和部分 | 徽标左上角,主导航始终可见 |
| 页面标题 | 清晰、描述性的页面标题 | “跑步鞋 - 男款”而非仅“产品” |
| 面包屑 | 在所有内部页面显示层次 | “主页 > 产品 > 鞋类 > 跑步鞋” |
| 移动导航 | 在汉堡菜单中保持定位 | 突出当前部分,显示面包屑 |
| 搜索 | 每个页面可见的搜索 | 搜索框在页眉,非埋藏在页脚 |
文案模式:
- 匹配用户点击链接的页面标题
- “您在这里”指示器(突出显示的导航项、粗体面包屑)
- 定位的区段标题:“您的账户 > 账单”而非仅“设置”
- 页脚导航用于次要发现
伦理边界: 导航应真实代表站点结构。不要使用误导性标签将用户引导至营销页面。
参见:references/krug-principles.md 获取完整的后备箱测试方法。
Nielsen的10个可用性启发式
1. 系统状态可见性
核心概念: 系统应始终通过适当反馈在合理时间内告知用户当前情况。
为什么有效: 当用户不知道系统状态时,他们假定其损坏。焦虑和混淆导致重复点击、放弃任务和失去信任。可见状态创造信心。
关键见解:
- 每个操作需要立即视觉确认
- 长操作需要进度指示器(百分比、旋转器、骨架屏)
- 成功操作需要确认(“已保存!”、勾选标记)
- 静默失败比可见错误更糟
- 状态应与重要性成比例(次要的微妙,关键的重要)
产品应用:
| 上下文 | 状态反馈 | 示例 |
|---|---|---|
| 文件上传 | 带百分比的进度条 | “上传中… 67%” |
| 表单提交 | 成功确认 | “您的消息已发送”带勾选标记 |
| 后台同步 | 非侵入性通知 | “正在同步3个文件…”在状态栏 |
| 支付处理 | 清晰的进度带保证 | “处理您的支付… 请勿关闭此页面” |
| 搜索 | 加载骨架然后结果 | 匹配结果布局的骨架屏 |
文案模式:
- “正在保存…” / “已保存”(立即状态转换)
- “处理您的请求…”(针对操作>1秒)
- “上传完成。添加了3个文件。”(具体确认)
- “出现错误。请重试。”(失败带操作)
伦理边界: 状态指示器应诚实。不要显示虚假进度条或人为加载延迟以创造“工作正在进行”的感知。
参见:references/nielsen-heuristics.md 获取详细示例和严重性评级。
2. 系统与真实世界匹配
核心概念: 系统应说用户语言,使用用户熟悉的词语、短语和概念,而非系统导向术语。
为什么有效: 用户从真实世界带来心智模型。当数字界面匹配这些模型——使用熟悉语言、逻辑序列和可识别隐喻——用户感到定位和自信。
关键见解:
- 使用“登录”而非“验证”、“搜索”而非“查询”、“文件夹”而非“存储库”
- 真实世界隐喻减少学习曲线(垃圾桶、购物车、书签)
- 信息应以自然、逻辑顺序出现
- 图标应匹配用户已识别的真实世界对象
- 每个概念一个术语——切勿对同一事物使用不同词语
产品应用:
| 上下文 | 真实世界匹配 | 示例 |
|---|---|---|
| 标签 | 用户测试术语优于内部名称 | “搜索”而非“查询”、“取消”而非“终止” |
| 隐喻 | 数字元素镜像物理 | 垃圾桶、文件夹、桌面、购物车 |
| 序列 | 遵循真实世界顺序 | 地址表单:街道、城市、州、邮编(非邮编先) |
| 图标 | 可识别的真实世界对象 | 放大镜搜索、信封邮箱 |
| 类别 | 匹配用户心智模型 | 杂货应用:“水果与蔬菜”而非“农产品SKU组” |
文案模式:
- “前往”而非“导航到”
- “开始”而非“启动”
- “结束”而非“终止会话”
- “您的文件”而非“用户存储库内容”
伦理边界: 不要使用真实世界隐喻欺骗——例如,实际提交表单的“关闭”按钮,或隐藏成本的“免费”标签。
参见:references/nielsen-heuristics.md 获取语言映射示例。
3. 用户控制与自由
核心概念: 用户常错误选择系统功能,并需要清晰标记的“紧急出口”离开不需要状态,无需经过扩展对话。
为什么有效: 用户通过点击探索。没有轻松退出路径,他们害怕行动。撤销优于确认对话框,因为用户点击“您确定吗?”而不阅读,但撤销让他们自信行动知道可以撤销。
关键见解:
- 撤销总优于“您确定吗?”确认对话框
- 每个流程需要可见的取消/退出选项
- 后退按钮绝不能破坏或劫持
- 无跳过或后退选项的强制向导困住用户
- 带撤销的软删除击败立即永久删除
产品应用:
| 上下文 | 控制机制 | 示例 |
|---|---|---|
| 邮箱 | 撤销发送 | Gmail发送后的“撤销”通知 |
| 导航 | 后退按钮始终有效 | 切勿劫持浏览器历史 |
| 模态框 | 清晰的关闭/取消按钮 | “X”按钮加“取消”文本链接 |
| 向导 | 非线性导航 | 允许跳转到先前步骤 |
| 破坏性操作 | 软删除+撤销 | “消息已删除。撤销”(定时) |
文案模式:
- “撤销”(单字、立即、低摩擦)
- “取消”(始终与主要操作一同出现)
- “返回”(从不需要状态清晰退出)
- “退出而不保存”(诚实地说明后果)
伦理边界: 永远不要让进入状态(订阅、试用、承诺)容易但离开难。蟑螂旅舍模式——易进难出——是黑暗模式。
参见:references/nielsen-heuristics.md 获取控制与自由模式。
4. 一致性与标准
核心概念: 用户不应疑惑不同词语、情况或动作是否意味着同一事物。遵循平台约定。
为什么有效: 一致性减少学习。当相同模式处处有效,用户在不同页面和产品间转移知识。打破约定迫使重新学习并造成混淆。
关键见解:
- 内部一致性:整个应用中相同按钮样式、术语和行为
- 外部一致性:遵循平台约定(徽标左上角、搜索右上角、购物车图标)
- 视觉一致性:相同颜色始终意味着相同事物
- 功能一致性:相同动作始终产生相同结果
- 语言一致性:每个概念一个术语,处处使用
产品应用:
| 上下文 | 一致性标准 | 示例 |
|---|---|---|
| 按钮 | 处处相同样式层次 | 主要(填充)、次要(轮廓)、文本链接 |
| 布局 | 徽标左上角,链接到主页 | 用户期望的行业约定 |
| 术语 | 每个概念一个词 | 总是“登录”,从不与“登入”混合 |
| 行为 | 链接一致打开 | 不要用新标签页惊喜 |
| 表单 | 主要操作右/底部 | “提交”在右,“取消”在左 |
文案模式:
- 选一个术语并处处使用(“项目”而非有时“项目”有时“工作区”)
- 遵循平台语言(移动端“分享”,邮箱上下文“发送链接”)
- 按钮标签应预测结果(“保存更改”而非仅“确定”)
- 整个应用中错误格式应相同
伦理边界: 一致性不应被武器化。不要使“接受”和“拒绝”看起来相同以欺骗用户接受未读条款。
参见:references/nielsen-heuristics.md 获取一致性类型和平台约定。
5. 错误预防
核心概念: 比好错误消息更好的是精心设计预防问题发生。
为什么有效: 最廉价的错误修复是永不发生的错误。约束、建议、默认值和警告在用户错误发生前消除整类错误。
关键见解:
- 约束输入(日期选择器、下拉菜单)防止无效条目
- 自动完成和建议减少拼写错误和错误选择
- 合理默认值预填常见值,使用户无需猜测
- “未保存更改”警告防止丢失工作
- 有两种错误类型:疏忽(意外错误动作)和错误(错误意图)——每种需要不同预防
产品应用:
| 上下文 | 预防策略 | 示例 |
|---|---|---|
| 日期输入 | 约束选择器 | 日历部件而非自由文本字段 |
| 搜索 | 自动完成建议 | 用户输入时匹配结果的下拉菜单 |
| 表单 | 模糊时内联验证 | “邮箱必须包含@”在提交前显示 |
| 破坏性操作 | 不可逆操作的确认 | “永久删除?此操作无法撤销。” |
| 数据输入 | 智能默认值 | 基于IP预填国家,预选常见选项 |
文案模式:
- 内联验证:“密码必须至少8个字符”(输入时显示)
- 保存警告:“您有未保存更改。仍要离开吗?”
- 格式提示:“月/日/年”作为占位符文本
- 破坏性确认:“永久删除3个项目?此操作无法撤销。”
伦理边界: 错误预防应保护用户,而非限制他们。不要以“预防”为借口阻止合法操作(例如,通过显示警告阻止退订)。
参见:references/nielsen-heuristics.md 获取按错误类型的预防策略。
6. 识别而非回忆
核心概念: 通过使对象、动作和选项可见,最小化用户记忆负荷。不要要求用户记住从一个界面部分到另一部分的信息。
为什么有效: 人类工作记忆有限(大约7个项目)。识别比回忆容易得多。显示选项、最近项目和上下文信息消除记忆需求。
关键见解:
- 显示选项菜单而非要求键入命令
- 提供下拉菜单和自动完成而非需要记忆的空字段
- 显示面包屑和最近历史,让用户知道他们去过哪里
- 显示解码值(国家名称,非代码)
- 从先前步骤预填信息,使用户无需重新输入数据
产品应用:
| 上下文 | 识别技术 | 示例 |
|---|---|---|
| 导航 | 面包屑、最近历史 | “主页 > 产品 > 鞋类”轨迹 |
| 搜索 | 最近搜索、建议 | “最近:跑步鞋、Nike Air Max” |
| 表单 | 从前步预填字段 | 从登录预填邮箱 |
| 数据输入 | 带解码值的下拉菜单 | 国家下拉菜单,非“输入2字母代码” |
| 设置 | 显示当前值 | “通知:开启(邮箱、推送)”可见 |
文案模式:
- 占位符示例:“例如,john@example.com”
- 上下文提醒:“您选择了专业版计划(29美元/月)”
- 最近项目:“最近查看:仪表板、设置、报告”
- 内联文档:非明显字段旁的“?”图标工具提示
伦理边界: 使选项可见不应包括操纵性默认值。营销同意或附加组件的预选复选框利用识别偏见。
参见:references/nielsen-heuristics.md 获取识别技术和示例。
7. 使用灵活性与效率
核心概念: 加速器——新手用户看不见——常能加速专家用户的交互。允许用户定制频繁动作。
为什么有效: 新手和专家有不同需求。渐进披露保持新手简单,同时加速器让高级用户快速移动。最佳界面无妥协地服务两者。
关键见解:
- 键盘快捷键(Ctrl+S)加速专家工作流
- 触摸手势(滑动归档)减少点击次数
- 最近/收藏提供常见项目快速访问
- 批量操作消除繁琐重复
- 自定义让用户定制界面以适应工作流
- 渐进披露:新手看到基本,专家访问完整功能
产品应用:
| 上下文 | 加速器 | 示例 |
|---|---|---|
| 邮箱 | 键盘快捷键 | “E”归档,“R”回复在Gmail |
| 列表 | 批量操作 | 选择所有 > 移动到文件夹 |
| 仪表板 | 自定义 | 拖放部件安排 |
| 搜索 | 保存搜索/过滤器 | “我的过滤器:分配给我的开放缺陷” |
| 导航 | 命令面板 | Cmd+K跳转到任何地方(Slack、VS Code) |
文案模式:
- 快捷键提示:“Ctrl+S保存”在工具提示中显示
- “自定义此视图”(用于仪表板个性化)
- “高级选项”(可展开供高级用户使用)
- 教程跳过:“已了解基础?跳过设置”
伦理边界: 效率功能如果解决基本可用性,绝不应付费墙。不要使基本快捷键“高级”而让免费用户体验故意缓慢。
参见:references/nielsen-heuristics.md 获取加速器模式和渐进披露。
8. 审美与简约设计
核心概念: 对话框不应包含无关或很少需要的信息。每个额外信息单元与相关单元竞争并降低其相对可见性。
为什么有效: 信噪比决定可用性。当一切尖叫关注,什么都不突出。空白、层次结构和无情优先排序使界面可扫描且快速。
关键见解:
- 增加信号,减少噪音——每个元素必须赢得其位置
- 视觉层次使重要事物突出(大小、颜色、位置)
- 空白给元素呼吸空间并辅助扫描
- 显示现在重要的,隐藏不重要的(渐进披露)
- 如果一切都“重要”,没有什么是重要的
产品应用:
| 上下文 | 简约方法 | 示例 |
|---|---|---|
| 仪表板 | 显示关键指标,隐藏详情 | 3-5个KPI可见,“查看详情”获取其余 |
| 表单 | 移除可选字段 | 只询问真正需要的 |
| 登陆页面 | 一个主要行动召唤 | 单个“开始免费试用”按钮,非五个竞争行动召唤 |
| 设置 | 分组并隐藏很少使用的选项 | “高级设置”默认折叠 |
| 内容 | 打破文字墙 | 短段落、标题、项目符号列表 |
文案模式:
- 标题优于段落:以关键消息开头
- “显示更多” / “查看详情”用于次要信息
- 移除“欢迎来到…”愉快废话
- 入门引导中每个屏幕一个指令
伦理边界: 简约不能隐藏关键信息。条款、定价、数据使用和取消选项必须保持可发现。在“显示更多”下隐藏不利内容是欺骗性的。
参见:references/nielsen-heuristics.md 获取简约设计原则。
9. 帮助用户识别、诊断和从错误恢复
核心概念: 错误消息应以平实语言表达(无代码),准确指示问题,并建设性地建议解决方案。
为什么有效: 错误不可避免。重要的是用户是否能理解发生了什么并回到正轨。技术行话、通用消息和指责造成挫败感;平实语言、具体性和下一步行动创造恢复。
关键见解:
- 每个错误消息需要三部分:发生了什么、为什么、如何修复
- 始终平实语言:“连接失败”而非“ECONNREFUSED”
- 具体:“密码必须至少8个字符”而非“无效密码”
- 切勿责怪用户:“卡被拒绝”而非“您输入错误信息”
- 错误时保留用户输入——切勿作为惩罚清空表单
产品应用:
| 上下文 | 错误恢复 | 示例 |
|---|---|---|
| 表单验证 | 内联、具体、保留输入 | 字段红轮廓+“邮箱必须包含@” |
| 支付错误 | 清晰原因+替代方案 | “卡被拒绝。尝试不同卡或联系银行。” |
| 服务器错误 | 友好回退+重试 | “出现错误。请重试或联系支持。” |
| 404页面 | 有帮助的方向 | “页面未找到。尝试搜索或转到主页。” |
| 验证错误 | 具体无安全风险 | “密码错误”(非“账户未找到”泄露信息) |
文案模式:
- “无法保存。检查连接并重试。”(发生了什么+修复)
- “邮箱已在使用。改为登录?”(问题+下一步)
- “密码必须包含数字且至少8个字符。”(具体要求)
- “我们遇到问题。您的工作已保存——请刷新。”(保证+行动)
伦理边界: 错误状态应帮助用户恢复,而非用于引导他们到不需要路径(例如,“错误:升级到高级版以继续”)。
参见:references/nielsen-heuristics.md 获取错误消息指南和示例。
10. 帮助与文档
核心概念: 虽然系统无需文档就能使用更好,但可能需要提供帮助。此类信息应易于搜索,专注于用户任务,并简洁。
为什么有效: 用户求助时他们卡住。如果帮助难找、不可搜索或以开发人员语言编写,它在其最需要时失败。好帮助是上下文相关、任务导向且简短。
关键见解:
- 帮助应可全文搜索
- 任务导向格式:“如何…”而非技术参考
- 上下文帮助(工具提示、内联提示)保持用户流畅
- 文档应可扫描:短段落、列表、步骤
- 类型:内联帮助(工具提示)、上下文(“?”图标)、文档(知识库)、引导游览、实时支持
产品应用:
| 上下文 | 帮助类型 | 示例 |
|---|---|---|
| 复杂字段 | 内联工具提示 | “?”图标旁“APR”带平实语言定义 |
| 新功能 | 引导游览 | 逐步叠加突出新UI元素 |
| 设置 | 上下文描述 | 每个切换下的简短解释 |
| 知识库 | 可搜索文档 | 全文搜索带任务导向“如何…”文章 |
| 边缘情况 | 实时支持 | 显示用户挫败信号后出现的聊天部件 |
文案模式:
- 工具提示:“您的API密钥。在设置 > 开发者中找到。”(简洁、可行动)
- 引导步骤:“点击‘创建项目’以开始。”(每步一个行动)
- 常见问题:“如何取消订阅?”(用户问题,非你的)
- 搜索占位符:“搜索帮助文章…”(清晰目的)
伦理边界: 帮助应真正有帮助。不要将取消或删除说明深藏文档层后面,同时使升级路径突出文档化。
参见:references/nielsen-heuristics.md 获取帮助文档模式。
严重性评级量表
审计界面时,评估每个问题:
| 严重性 | 评级 | 描述 | 优先级 |
|---|---|---|---|
| 0 | 不是问题 | 分歧,非可用性问题 | 忽略 |
| 1 | 装饰性 | 次要烦恼,低影响 | 有时间就修复 |
| 2 | 次要 | 导致延迟或挫败 | 安排修复 |
| 3 | 主要 | 显著任务失败 | 尽快修复 |
| 4 | 灾难性 | 阻止任务完成 | 立即修复 |
评级因素
考虑所有三个:
- 频率: 发生多频繁?
- 影响: 发生时多严重?
- 持续性: 一次性还是持续问题?
常见错误
| 错误 | 为什么失败 | 修复 |
|---|---|---|
| 神秘肉导航 | 无标签图标迫使猜测 | 添加图标旁的文本标签 |
| 选择过多 | 决策瘫痪减缓用户 | 减少到7加减2个项目 |
| 无“您在这里”指示器 | 用户在层次中感到迷失 | 在导航和面包屑中突出当前部分 |
| 无内联验证 | 提交、错误、滚动循环挫败 | 在模糊时验证带具体消息 |
| 不清晰必填字段 | 用户混淆什么是强制性的 | 标记可选字段,非必填(大多数字段应为必填) |
| 文字墙 | 没人阅读密集段落 | 用标题、项目符号、空白打破 |
| 标签行话 | 用户不说您的内部语言 | 用户测试所有标签,使用平实语言 |
| 无加载指示器 | 用户认为系统损坏 | 显示旋转器、进度条或骨架屏 |
| 小点击目标 | 移动用户不断误点击 | 最小44x44像素触摸目标 |
| 仅悬停信息 | 移动和键盘用户完全错过 | 不要将关键信息藏在悬停状态后 |
| 无撤销 | 用户害怕采取任何行动 | 为所有非破坏性操作提供撤销 |
| 差错误消息 | “无效输入”什么都不告诉用户 | 解释什么是错的以及如何修复 |
| 低对比度文本 | 许多用户无法阅读 | WCAG AA最低(4.5:1对比度比) |
| 不一致导航位置 | 用户无法找到导航 | 固定位置,每个页面相同位置 |
| 损坏后退按钮 | 基本浏览器契约被违反 | 切勿劫持或破坏浏览器历史 |
快速诊断
审计任何界面:
| 问题 | 如果否 | 行动 |
|---|---|---|
| 我能立即告诉这是什么站点/页面吗? | 用户迷失和迷失方向 | 添加清晰徽标、页面标题和面包屑 |
| 主要行动明显吗? | 用户不知道做什么 | 创建视觉层次,单个主要行动召唤 |
| 导航清晰吗? | 用户找不到路径 | 应用后备箱测试,添加“您在这里”指示器 |
| 我能找到搜索吗? | 有特定目标的用户被阻止 | 添加页眉中可见的搜索框 |
| 系统显示正在发生什么吗? | 用户失去信任并重新点击 | 添加加载状态、确认、进度指示器 |
| 错误消息有帮助吗? | 用户在错误上卡住 | 用具体修复重写平实语言 |
| 用户可以撤销或返回吗? | 用户害怕行动 | 处处添加撤销、取消和返回选项 |
| 没有悬停它能工作吗? | 移动和键盘用户被排除 | 用可见替代品替换仅悬停交互 |
| 所有交互元素都有标签吗? | 用户猜测图标含义 | 添加文本标签或描述性工具提示 |
| 有什么让我停下来思考“啊?”吗? | 认知负荷太高 | 简化——如果需要解释,重新设计它 |
启发式冲突
启发式有时相互矛盾。发生时:
- 简单性与灵活性: 使用渐进披露
- 一致性与上下文: 一致模式,上下文突出
- 效率与错误预防: 优先撤销而非确认对话框
- 可发现性与简约: 主要行动可见,次要隐藏
参见:references/heuristic-conflicts.md 获取解决框架。
黑暗模式识别
黑暗模式故意违反启发式以操纵用户:
- 强制连续性(难以取消)
- 蟑螂旅舍(易进难出)
- 确认羞辱(基于愧疚的选项)
- 隐藏成本(结账时惊喜费用)
参见:references/dark-patterns.md 获取完整分类和伦理替代方案。
何时使用每种方法
| 方法 | 何时 | 时间 | 发现 |
|---|---|---|---|
| 启发式评估 | 用户测试前 | 1-2小时 | 主要违规 |
| 用户测试 | 启发式修复后 | 2-4小时 | 真实行为 |
| A/B测试 | 优化时 | 天数-周 | 统计验证 |
| 分析审查 | 持续 | 30分钟 | 模式和问题 |
参考文件
- krug-principles.md:完整Krug方法、扫描行为、导航清晰度
- nielsen-heuristics.md:详细启发式解释带示例
- audit-template.md:结构化启发式评估模板
- dark-patterns.md:类别、示例、伦理替代方案、法规
- wcag-checklist.md:完整WCAG 2.1 AA检查表、测试工具
- cultural-ux.md:RTL、颜色含义、表单约定、本地化
- heuristic-conflicts.md:启发式矛盾时,解决框架
进一步阅读
此技能基于Steve Krug和Jakob Nielsen开发的可用性原则:
- “别让我思考,修订版” by Steve Krug
- “火箭手术变得容易” by Steve Krug(DIY可用性测试)
- “用户界面设计的10个可用性启发式” by Jakob Nielsen(Nielsen Norman Group)
关于作者
Steve Krug 是一位可用性顾问,自1990年代以来一直在帮助公司使产品更直观。他的书 “别让我思考” (首次出版于2000年,修订于2014年)是最广泛阅读的Web可用性书籍,被认为是任何参与设计界面的人的必读。以其可访问、幽默的写作风格和对低成本可用性测试的倡导而闻名,Krug证明了可用性不需要实验室或大预算——只需观察几个真实用户尝试完成任务。
Jakob Nielsen博士 是Nielsen Norman Group(NN/g)的联合创始人,被广泛认为是“可用性之王”。他的用户界面设计的10个可用性启发式,发表于1994年,仍是全球最常用的启发式评估框架。Nielsen被《纽约时报》称为“Web页面可用性的权威”,并撰写了众多有影响力的可用性工程书籍。他以研究为导向的界面设计方法帮助确立了可用性作为软件开发中公认学科的地位。