Run this gate after completing any user-facing work. Do not deliver work to the user
until this gate passes.
Before examining UX, verify the feature actually works end-to-end:
Walk through each of Nielsen's 10 heuristics against the work just completed.
Load references/heuristics-checklist.md and evaluate each applicable item.
Not every heuristic applies to every change — skip items that are clearly irrelevant
to the scope of work, but err on the side of checking.
Check these states exist and are handled for every data-driven view:
| State | What to verify |
|---|---|
| ------- | --------------- |
| Empty | No data yet — helpful message, not blank screen |
| Loading | Spinner, skeleton, or indicator while fetching |
| Error | Clear message with recovery path (retry, go back) |
| Success | Confirmation after actions (toast, redirect, message) |
| Partial | Some data missing — graceful degradation, not crash |
| Overflow | Long text, many items, large images handled |
| Auth | Protected routes redirect or show appropriate state |
For each issue found:
| Severity | Meaning | Action |
|---|---|---|
| ---------- | --------- | -------- |
| 🔴 Blocker | User cannot complete the task | Fix before delivering |
| 🟠 Major | User struggles significantly | Fix before delivering |
| 🟡 Minor | User notices but can work around | Note to user, fix if quick |
| 🔵 Enhancement | Polish or improvement | Note to user for backlog |
When reporting to the user, keep it brief:
✅ QA Gate passed — [summary of what was checked]
Or if issues were found and fixed:
🔧 QA Gate — found and fixed [N] issues:
- [brief description of each fix]
Or if minor issues remain:
⚠️ QA Gate — [N] minor items noted:
- [brief description + severity]
Do not produce a full heuristic evaluation report unless the user asks for one.
The gate is a self-check, not a deliverable.
共 1 个版本