npx skills add https://github.com/wondelai/skills --skill ux-heuristics用于评估和改进用户界面的实用可用性原则。基于一个基本事实:用户不阅读,他们扫描。他们不做最优选择,他们满足于足够好。他们不弄清楚事物如何运作,他们摸索前行。
"别让我思考" - 每个页面都应该是不言自明的。如果某个东西需要思考,那就是一个可用性问题。
基础: 用户的耐心和认知带宽是有限的。最好的界面是隐形的——它们让用户实现目标,而无需停下来思考"我该点击什么?"或"我在哪里?"。用户脑海中出现的每一个问号都会增加认知负荷,并增加他们离开的可能性。为扫描、满足和摸索而设计——因为这就是用户实际的行为方式。
目标:10/10。 在审查或创建用户界面时,根据对以下原则的遵守程度,给出 0-10 的评分。10/10 表示完全符合所有准则;较低的分数表示需要解决的差距。始终提供当前分数以及达到 10/10 所需的具体改进措施。
核心概念: 用户脑海中出现的每一个问号都会增加他们的认知负荷,并分散他们对任务的注意力。
为什么有效: 用户是有任务的。他们不想为标签费解,不想猜测链接的作用,也不想解读巧妙的营销语言。需要的思考越少,他们完成任务的可能性就越大。
关键见解:
产品应用:
| 上下文 | 应用 | 示例 |
|---|---|---|
| 导航标签 | 使用不言自明的名称 | "获取路线" 而非 "计算前往目的地的路线" |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 行动号召 | 使用用户理解的动作动词 | "登录" 而非 "访问您的账户门户" |
| 电子商务 | 匹配用户的心智模型 | "加入购物车" 而非 "继续购买选择" |
| 表单标签 | 清晰描述所需内容 | "电子邮件地址" 而非 "电子通信标识符" |
| 错误状态 | 告诉用户下一步该做什么 | "检查您的电子邮件格式" 而非 "验证错误" |
文案模式:
道德边界: 清晰性应为用户服务,而非掩盖信息。切勿使用平实语言作为掩盖不利条款的外衣。
完整 Krug 方法论请参见:references/krug-principles.md。
核心概念: 神话称"用户点击三次后就会离开"。现实是,如果每次点击都轻松、明显且能建立信心,用户并不介意点击次数。
为什么有效: 每次点击的认知努力比点击次数更重要。三次无需思考、充满信心的点击,远胜于一次需要仔细斟酌的点击。用户是在失去信心时放弃,而不是在点击次数过多时失去耐心。
关键见解:
产品应用:
| 上下文 | 应用 | 示例 |
|---|---|---|
| 信息架构 | 清晰度优先于深度 | 标签清晰的浅层导航优于标签模糊的深层导航 |
| 结账流程 | 让每个步骤都显而易见 | 带有描述性标签的清晰步骤指示器 |
| 设置 | 组织成清晰的类别 | "账户 > 安全 > 更改密码"(3 次充满信心的点击) |
| 搜索结果 | 让用户自信地深入探索 | 逐步缩小结果的类别筛选器 |
| 新手指引 | 通过小而清晰的步骤引导 | 每步一个明确操作的向导 |
文案模式:
道德边界: 不要使用额外的步骤来隐藏取消流程或使退出变得更困难。每次点击都应该让用户更接近他们的目标,而不是远离它。
Krug 的点击哲学和扫描行为请参见:references/krug-principles.md。
核心概念: 砍掉每个页面上的一半文字,然后再砍掉剩下的一半。简洁减少了噪音,使有用的内容更加突出,并显示出对用户时间的尊重。
为什么有效: 用户扫描——他们不阅读。每一个不必要的词都在与重要的词竞争。去除废话使重要内容更容易被发现,页面也更短。
关键见解:
产品应用:
| 上下文 | 应用 | 示例 |
|---|---|---|
| 着陆页 | 删掉欢迎文案,突出价值 | 移除"欢迎来到..."段落 |
| 错误消息 | 说明问题和解决方法,仅此而已 | "密码太短(最少 8 个字符)" 而非一段话 |
| 工具提示 | 最多一句话 | "您卡片的最后 4 位数字" 而非完整解释 |
| 空状态 | 面向行动,简洁明了 | "无结果。请尝试其他搜索词。" |
| 新手指引 | 每个屏幕一条指令 | "选择您的兴趣" 而非一堵解释性文字的墙 |
文案模式:
道德边界: 简洁不能意味着省略关键信息。关于定价、条款和数据使用的简明披露是用户的权利。
Krug 的文字精简方法论请参见:references/krug-principles.md。
核心概念: 一个测试导航清晰度的方法:如果用户被随机丢到任何页面(就像被锁在汽车后备箱里,然后在随机地点被释放),他们能否立即回答六个关键问题?
为什么有效: 良好的导航使用户保持持续的方向感。如果用户无法识别他们所在的位置以及他们的选择是什么,他们会感到迷失并离开。
关键见解:
产品应用:
| 上下文 | 应用 | 示例 |
|---|---|---|
| 全局导航 | 持久的网站标识和部分 | 徽标在左上角,主导航始终可见 |
| 页面标题 | 清晰、描述性的页面标题 | "跑步鞋 - 男款" 而非仅仅是"产品" |
| 面包屑导航 | 在所有内部页面显示层级 | "首页 > 产品 > 鞋子 > 跑步鞋" |
| 移动端导航 | 在汉堡菜单中保持方向感 | 高亮当前部分,显示面包屑 |
| 搜索 | 在每个页面都有可见的搜索框 | 搜索框在页眉,而非隐藏在页脚 |
文案模式:
道德边界: 导航应真实反映网站结构。不要使用误导性标签将用户引导至营销页面。
完整的后备箱测试方法论请参见:references/krug-principles.md。
通过及时的反馈让用户了解正在发生的事情。每个操作都需要确认——上传的进度条、提交的确认信息、加载时的骨架屏。静默失败会摧毁信任。文案模式:"正在保存..." → "已保存"(即时状态转换)。
使用用户的语言,而非系统语言。使用"登录"而非"认证","搜索"而非"查询"。遵循现实世界的隐喻(垃圾桶、购物车)和自然顺序(街道 → 城市 → 州 → 邮政编码)。每个概念使用一个术语,且处处一致。
提供清晰的"紧急出口"。撤销总是胜过"您确定吗?"对话框——用户不看确认信息就直接点击。每个流程都需要取消/退出选项,返回按钮绝不能失效,带有撤销功能的软删除胜过永久删除。
相同的词语、样式和行为在整个系统中应具有相同的含义。内部一致性(你的应用)和外部一致性(平台惯例:徽标在左上角,搜索在右上角)。为每个概念选择一个术语——处处使用"项目",绝不与"工作区"混用。
在问题发生之前就加以预防。约束输入(日期选择器优于文本字段)、自动完成、合理的默认值以及"未保存的更改"警告。两种错误类型需要不同的预防措施:失误(意外的错误操作)和错误(错误的意图)。
最小化记忆负荷——展示选项,而非要求记忆。面包屑导航、最近搜索、预填字段、带有解码值的下拉菜单(国家名称,而非代码)。人类工作记忆大约能容纳 7 个项目;识别远比回忆容易。
同时服务于新手和专家。键盘快捷键、触摸手势、批量操作、保存的搜索和命令面板(Cmd+K)可以加速高级用户的操作。渐进式披露对初学者保持简单,同时让专家能够访问全部功能。
每个元素都必须有其存在的价值。信噪比决定了可用性——当所有东西都在争夺注意力时,就没有东西能脱颖而出。展示当前重要的内容,隐藏不重要的内容。每个页面一个主要行动号召,而不是五个相互竞争的。
错误消息需要包含三个部分:发生了什么、为什么发生以及如何修复。始终使用平实的语言("连接失败"而非"ECONNREFUSED"),具体明确("密码必须为 8 个以上字符"而非"无效"),绝不责备用户,并保留他们的输入。
帮助应该是可搜索的、以任务为中心的("如何..."而非技术参考),并且是情境化的(工具提示、内联提示)。类型包括:内联帮助、情境化"?"图标、可搜索的知识库、引导式教程、实时支持。
所有 10 条启发式原则的详细示例、产品应用、文案模式和道德边界请参见: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 分钟 | 模式和问题 |
此技能基于 Steve Krug 和 Jakob Nielsen 开发的可用性原则:
Steve Krug 是一位可用性顾问,自 1990 年代以来一直帮助公司使其产品更加直观。他的书 "Don't Make Me Think"(首次出版于 2000 年,2014 年修订)是阅读最广泛的网页可用性书籍,被认为是任何参与界面设计的人的必读之作。Krug 以其平易近人、幽默的写作风格以及倡导低成本可用性测试而闻名,他证明了可用性不需要实验室或大笔预算——只需要观察几个真实用户尝试完成任务。
Jakob Nielsen, PhD 是 Nielsen Norman Group (NN/g) 的联合创始人,被广泛认为是"可用性之王"。他于 1994 年发表的《用户界面设计的 10 条可用性启发式原则》至今仍是全球最常用的启发式评估框架。《纽约时报》称 Nielsen 为"网页可用性大师",他撰写了多本关于可用性工程的有影响力的书籍。他以研究驱动的界面设计方法帮助确立了可用性在软件开发中作为一门公认学科的地位。
每周安装次数
512
代码仓库
GitHub 星标数
260
首次出现
Jan 30, 2026
安全审计
安装于
opencode460
codex457
gemini-cli450
cursor442
github-copilot435
claude-code419
Practical usability principles for evaluating and improving user interfaces. Based on a fundamental truth: users don't read, they scan. They don't make optimal choices, they satisfice. They don't figure out how things work, they muddle through.
"Don't Make Me Think" - Every page should be self-evident. If something requires thinking, it's a usability problem.
The foundation: Users have limited patience and cognitive bandwidth. The best interfaces are invisible -- they let users accomplish goals without ever stopping to wonder "What do I click?" or "Where am I?" Every question mark that pops into a user's head adds to cognitive load and increases the chance they'll leave. Design for scanning, satisficing, and muddling through -- because that's what users actually do.
Goal: 10/10. When reviewing or creating user interfaces, rate them 0-10 based on adherence to the principles below. A 10/10 means full alignment with all guidelines; lower scores indicate gaps to address. Always provide the current score and specific improvements needed to reach 10/10.
Core concept: Every question mark that pops into a user's head adds to their cognitive load and distracts from the task.
Why it works: Users are on a mission. They don't want to puzzle over labels, wonder what a link does, or decode clever marketing language. The less thinking required, the more likely they complete the task.
Key insights:
Product applications:
| Context | Application | Example |
|---|---|---|
| Navigation labels | Use self-evident names | "Get directions" not "Calculate route to destination" |
| CTAs | Use action verbs users understand | "Sign in" not "Access your account portal" |
| E-commerce | Match user mental models | "Add to cart" not "Proceed to purchase selection" |
| Form labels | Describe what's needed plainly | "Email address" not "Electronic correspondence identifier" |
| Error states | Tell users what to do next | "Check your email format" not "Validation error" |
Copy patterns:
Ethical boundary: Clarity should serve users, not obscure information. Never use plain language as a veneer to hide unfavorable terms.
See: references/krug-principles.md for full Krug methodology.
Core concept: The myth says "users leave after 3 clicks." The reality is users don't mind clicks if each one is painless, obvious, and confidence-building.
Why it works: Cognitive effort per click matters more than click count. Three mindless, confident clicks are far better than one click that requires deliberation. Users abandon when they lose confidence, not when they run out of patience for clicking.
Key insights:
Product applications:
| Context | Application | Example |
|---|---|---|
| Information architecture | Prioritize clarity over depth | Shallow nav with clear labels over deep nav with vague ones |
| Checkout flows | Make each step obvious | Clear step indicators with descriptive labels |
| Settings | Organize into clear categories | "Account > Security > Change password" (3 confident clicks) |
| Search results | Let users drill down confidently | Category filters that narrow results progressively |
| Onboarding | Guide with small, clear steps | Wizard with one clear action per step |
Copy patterns:
Ethical boundary: Don't use extra steps to bury cancellation flows or make opting out harder. Every click should move users toward their goal, not away from it.
See: references/krug-principles.md for Krug's click philosophy and scanning behavior.
Core concept: Get rid of half the words on each page, then get rid of half of what's left. Brevity reduces noise, makes useful content more prominent, and shows respect for the user's time.
Why it works: Users scan -- they don't read. Every unnecessary word competes with the words that matter. Removing fluff makes important content more discoverable and pages shorter.
Key insights:
Product applications:
| Context | Application | Example |
|---|---|---|
| Landing pages | Cut welcome copy, lead with value | Remove "Welcome to..." paragraphs |
| Error messages | State problem and fix, nothing more | "Password too short (min 8 chars)" not a paragraph |
| Tooltips | One sentence max | "Last 4 digits of your card" not a full explanation |
| Empty states | Action-oriented, minimal | "No results. Try a different search." |
| Onboarding | One instruction per screen | "Choose your interests" not a wall of explanatory text |
Copy patterns:
Ethical boundary: Brevity must not mean omitting critical information. Concise disclosures for pricing, terms, and data usage are a user right.
See: references/krug-principles.md for Krug's word-cutting methodology.
Core concept: A test for navigation clarity: if users were dropped on any random page (like being locked in a car trunk and released at a random spot), could they instantly answer six key questions?
Why it works: Good navigation gives users constant orientation. If users can't identify where they are and what their options are, they feel lost and leave.
Key insights:
Product applications:
| Context | Application | Example |
|---|---|---|
| Global nav | Persistent site ID and sections | Logo top-left, main nav always visible |
| Page headers | Clear, descriptive page titles | "Running Shoes - Men's" not just "Products" |
| Breadcrumbs | Show hierarchy on all inner pages | "Home > Products > Shoes > Running" |
| Mobile nav | Maintain orientation in hamburger menus | Highlight current section, show breadcrumbs |
| Search | Visible search on every page | Search box in header, not buried in footer |
Copy patterns:
Ethical boundary: Navigation should honestly represent site structure. Don't use misleading labels to funnel users into marketing pages.
See: references/krug-principles.md for the full Trunk Test methodology.
Keep users informed about what's happening through timely feedback. Every action needs acknowledgment — progress bars for uploads, confirmations for submissions, skeleton screens for loading. Silent failures destroy trust. Copy pattern: "Saving..." → "Saved" (immediate state transitions).
Speak users' language, not system language. Use "Sign in" not "Authenticate", "Search" not "Query." Follow real-world metaphors (trash bin, shopping cart) and natural ordering (street → city → state → zip). One term per concept, everywhere.
Provide clear "emergency exits." Undo beats "Are you sure?" dialogs every time — users click through confirmations without reading. Every flow needs cancel/exit, back buttons must never break, and soft delete with undo beats permanent deletion.
Same words, styles, and behaviors should mean the same thing throughout. Internal consistency (your app) and external consistency (platform conventions: logo top-left, search top-right). Pick one term per concept — "Projects" everywhere, never mixing with "Workspaces."
Prevent problems before they occur. Constrained inputs (date pickers over text fields), autocomplete, sensible defaults, and "unsaved changes" warnings. Two error types need different prevention: slips (accidental wrong action) and mistakes (wrong intention).
Minimize memory load — show options, don't require memorization. Breadcrumbs, recent searches, pre-filled fields, dropdowns with decoded values (country names, not codes). Human working memory holds ~7 items; recognition is far easier than recall.
Serve both novices and experts. Keyboard shortcuts, touch gestures, bulk actions, saved searches, and command palettes (Cmd+K) speed up power users. Progressive disclosure keeps it simple for beginners while experts access full power.
Every element must earn its place. Signal-to-noise ratio determines usability — when everything screams for attention, nothing stands out. Show what matters now, hide what doesn't. One primary CTA per page, not five competing ones.
Error messages need three parts: what happened, why, and how to fix it. Plain language always ("Connection failed" not "ECONNREFUSED"), specific ("Password must be 8+ characters" not "Invalid"), never blame the user, and preserve their input.
Help should be searchable, task-focused ("How to..." not technical reference), and contextual (tooltips, inline hints). Types: inline help, contextual "?" icons, searchable knowledge base, guided tours, live support.
See: references/nielsen-heuristics.md for detailed examples, product applications, copy patterns, and ethical boundaries for all 10 heuristics.
When auditing interfaces, rate each issue:
| Severity | Rating | Description | Priority |
|---|---|---|---|
| 0 | Not a problem | Disagreement, not usability issue | Ignore |
| 1 | Cosmetic | Minor annoyance, low impact | Fix if time |
| 2 | Minor | Causes delay or frustration | Schedule fix |
| 3 | Major | Significant task failure | Fix soon |
| 4 | Catastrophic | Prevents task completion | Fix immediately |
Consider all three:
| Mistake | Why It Fails | Fix |
|---|---|---|
| Mystery meat navigation | Icons without labels force guessing | Add text labels alongside icons |
| Too many choices | Decision paralysis slows users | Reduce to 7 plus/minus 2 items |
| No "you are here" indicator | Users feel lost in the hierarchy | Highlight current section in nav and breadcrumbs |
| No inline validation | Submit, error, scroll cycle frustrates | Validate on blur with specific messages |
| Unclear required fields | Users confused about what's mandatory | Mark optional fields, not required (most fields should be required) |
| Wall of text | Nobody reads dense paragraphs | Break up with headings, bullets, whitespace |
| Jargon in labels | Users don't speak your internal language |
Audit any interface:
| Question | If No | Action |
|---|---|---|
| Can I tell what site/page this is immediately? | Users are lost and disoriented | Add clear logo, page title, and breadcrumbs |
| Is the main action obvious? | Users don't know what to do | Create visual hierarchy, single primary CTA |
| Is the navigation clear? | Users can't find their way | Apply the Trunk Test, add "you are here" indicators |
| Can I find the search? | Users with specific goals are blocked | Add visible search box in header |
| Does the system show me what's happening? | Users lose trust and re-click | Add loading states, confirmations, progress indicators |
| Are error messages helpful? | Users get stuck on errors | Rewrite in plain language with specific fix |
| Can users undo or go back? | Users are afraid to act | Add undo, cancel, and back options everywhere |
| Does it work without hover? | Mobile and keyboard users are excluded |
Heuristics sometimes contradict each other. When they do:
See: references/heuristic-conflicts.md for resolution frameworks.
Dark patterns violate heuristics deliberately to manipulate users:
See: references/dark-patterns.md for complete taxonomy and ethical alternatives.
| Method | When | Time | Findings |
|---|---|---|---|
| Heuristic evaluation | Before user testing | 1-2 hours | Major violations |
| User testing | After heuristic fixes | 2-4 hours | Real behavior |
| A/B testing | When optimizing | Days-weeks | Statistical validation |
| Analytics review | Ongoing | 30 min | Patterns and problems |
This skill is based on usability principles developed by Steve Krug and Jakob Nielsen:
Steve Krug is a usability consultant who has been helping companies make their products more intuitive since the 1990s. His book "Don't Make Me Think" (first published in 2000, revised 2014) is the most widely read book on web usability and is considered essential reading for anyone involved in designing interfaces. Known for his accessible, humorous writing style and his advocacy for low-cost usability testing, Krug demonstrated that usability doesn't require a lab or a large budget -- just watching a few real users try to accomplish tasks.
Jakob Nielsen, PhD is co-founder of the Nielsen Norman Group (NN/g) and is widely regarded as the "king of usability." His 10 Usability Heuristics for User Interface Design, published in 1994, remain the most-used framework for heuristic evaluation worldwide. Nielsen has been called "the guru of Web page usability" by The New York Times and has authored numerous influential books on usability engineering. His research-driven approach to interface design helped establish usability as a recognized discipline in software development.
Weekly Installs
512
Repository
GitHub Stars
260
First Seen
Jan 30, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode460
codex457
gemini-cli450
cursor442
github-copilot435
claude-code419
前端设计技能指南:避免AI垃圾美学,打造独特生产级界面
36,100 周安装
| User-test all labels, use plain language |
| No loading indicators | Users think the system is broken | Show spinner, progress bar, or skeleton screen |
| Tiny tap targets | Mobile users misclick constantly | Minimum 44x44 px touch targets |
| Hover-only information | Mobile and keyboard users miss it entirely | Don't hide critical info behind hover states |
| No undo | Users afraid to take any action | Provide undo for all non-destructive actions |
| Poor error messages | "Invalid input" tells users nothing | Explain what's wrong and how to fix it |
| Low contrast text | Unreadable for many users | WCAG AA minimum (4.5:1 contrast ratio) |
| Inconsistent nav location | Users can't find navigation | Fixed position, same location on every page |
| Broken back button | Fundamental browser contract violated | Never hijack or break browser history |
| Replace hover-only interactions with visible alternatives |
| Are all interactive elements labeled? | Users guess at icon meanings | Add text labels or descriptive tooltips |
| Does anything make me stop and think "huh?" | Cognitive load is too high | Simplify -- if it needs explanation, redesign it |