实验 11 · 33 分钟 · 入门

从“能跑”到“能交付”

用一套可复现的验收流程,把“在我电脑能跑”推进到“可以交付”。

本课产物
qa-report.html
学习方式
边做边检查

完成后你能

本课目标

  • 检查响应式、键盘与内容压力
  • 记录问题、证据和修复结果
  • 避免重构式修 bug

开始前

准备这些

  • 选择第 9 或第 10 课的互动作品
  • 新建 11-delivery-qa 文件夹
  • 准备桌面 1440px 与手机 390px 的测试环境

01 · 建立验收矩阵

“看起来没问题”不是验收。把设备和状态交叉组合,至少检查:桌面/手机 × 空/有数据/错误。每个格子都留下通过或问题证据。

示例
视口:1440×900、390×844
输入:空值、最长合法值、非法值
状态:空列表、有数据、全部完成、刚清空
操作:鼠标、仅键盘、刷新恢复
偏好:减少动态效果
  1. 为每个组合记录通过、失败或不适用。
  2. 失败项写可复现步骤,不写“偶尔坏”。
  3. 先修阻断任务的问题,再修视觉细节。

02 · 让 Agent 做静态审查

先生成带证据的报告,再决定修什么。审查和修改分两轮,能保留你对改动范围的控制。

复制给 Agent
请审查我要交付的 HTML 文件,并在 11-delivery-qa/qa-report.html 生成验收报告。先不要修改源文件。

检查:HTML 标题层级、表单 label、按钮类型、键盘焦点、ARIA 状态、横向溢出风险、固定宽度、超长文本、空状态、错误状态、localStorage 解析失败、prefers-reduced-motion。
报告每项包含:严重度、证据(代码位置或复现步骤)、建议的最小修复、验证方法。不能仅写“符合最佳实践”。

03 · 手工跑关键路径

静态审查找不到所有问题。关闭鼠标,完整走一遍添加任务、勾选、切换主题、清空与撤销。

  1. 从地址栏按 Tab,确认焦点依次到达所有控件。
  2. 在 390px 下输入 50 个中文字符,确认页面不横向溢出。
  3. 清除 localStorage 中该页面的数据,刷新并检查空状态。
  4. 手工写入损坏的 JSON,确认页面能恢复而不是白屏。
  5. 开启减少动态效果,检查不必要动画是否停止。

04 · 按证据做最小修复

一次修一个高优先级问题,每次都复跑它的验证步骤。不要借修 bug 重新设计整页。

  1. 保存修复前后的同视口截图。
  2. 将通过证据补回 qa-report.html。
  3. 确认报告中没有把未测试项写成通过。
复制给 Agent
请只修复 qa-report.html 中标为“阻断”或“高”的问题。每次修改后:
1. 写出修改的文件和具体位置;
2. 复述原始复现步骤;
3. 给出现在的验证结果;
4. 说明没有修改哪些功能。
不要顺便重构或改变视觉风格。

不要跳过

完成检查

逐项在真实页面中验证。勾选状态只保存在这台设备的浏览器中。

0 / 6 已完成

常见错误

卡住时先看这里

Agent 说通过就算通过
要求代码证据或可复现的浏览器步骤。
测试只用正常数据
加入空、长、非法、损坏和重复操作。
修复时顺便重构
限定最小改动,并声明未触碰的功能。

可选加练

再多走一步

请一位没有参与制作的人按你的报告复测,记录他无法理解的步骤。