iter(g346): 视觉抽查清单补 form 段

This commit is contained in:
HIsheR
2026-10-27 02:30:18 +08:00
parent 046f0bffb7
commit 1f292e1e17
3 changed files with 12 additions and 4 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+8
View File
@@ -97,6 +97,14 @@ qa/probe ──门禁通过──▶ qa/stable ──人工审阅──▶ main
- [ ] 【过渡】弹层进出各一次(位移 + 淡入),关闭后不残留一帧
- [ ] 【焦点环】键盘 ↑↓ 唤出弹层时焦点环留在触发器上,不跳到 body
### form
- [ ] 【边框】校验失败只把边框描红、不常驻光环:未聚焦的失败字段与正常字段粗细一致,只有颜色不同
- [ ] 【焦点环】失败字段获得焦点时才亮危险色光环,且不与已描红的边框重影成双线
- [ ] 【过渡】改好一项后错误文案退场、汇总条数字跟着减,字段高度不跳(错误区为空时不留白)
- [ ] 【暗色】暗色下错误文案与红边在表面底上都读得清,不被 danger 淡底吃掉
- [ ] 【阴影】提交按钮转圈期间投影不叠加,loading 与 hover 同时成立也不出现双层阴影
### modal
- [ ] 【阴影】弹窗用 `--ua-shadow-4`,与遮罩形成明确层级,不糊成一片
+3 -3
View File
@@ -1583,10 +1583,10 @@ function checkPropsDoc(pkg, comps) {
return issues;
}
/*** 视觉回归抽查清单校验:ITERATION.md 的清单必须十八个代表组件齐全、每条带合法维度标签、条目数达标 ***/
/*** 视觉回归抽查清单校验:ITERATION.md 的清单必须十九个代表组件齐全、每条带合法维度标签、条目数达标 ***/
function checkVisualChecklist() {
const DIMS = ['边框', '阴影', '过渡', '焦点环', '暗色']; // 五个必覆盖维度
const REQUIRED = ['button', 'textField', 'select', 'modal', 'dataTable', 'toast', 'layout', 'jsonViewer', 'diffView', 'codeBlock', 'signaturePad', 'heatmap', 'sparkline', 'commandPalette', 'noticeBar', 'progressRing', 'sortableList', 'masonry']; // 十八个代表组件:高频六个 + 容器/数据展示/表单录入三类 + 后期新增的浮层类(命令面板)与反馈类(通知条、环形进度)+ 交互类(拖拽排序)与布局类(瀑布流)
const REQUIRED = ['button', 'textField', 'select', 'form', 'modal', 'dataTable', 'toast', 'layout', 'jsonViewer', 'diffView', 'codeBlock', 'signaturePad', 'heatmap', 'sparkline', 'commandPalette', 'noticeBar', 'progressRing', 'sortableList', 'masonry']; // 十九个代表组件:高频六个 + 表单容器(form) + 容器/数据展示/表单录入三类 + 后期新增的浮层类(命令面板)与反馈类(通知条、环形进度)+ 交互类(拖拽排序)与布局类(瀑布流)
const MIN_PER_GROUP = 3; // 每个组件至少三条可勾选要点
const MIN_TOTAL = REQUIRED.length * MIN_PER_GROUP; // 总条目下限由组件数推导:加抽查位不用再手改这个数
const file = path.join(ROOT, 'ITERATION.md');
@@ -1855,7 +1855,7 @@ function cmdVerify() {
console.error(`${issues.length} violation(s)`);
process.exit(1);
}
console.log('verify OK (manifest ↔ docs ↔ demo 一致,文档 props ↔ 入参接口双向一致,皮肤无硬编码颜色与未定义令牌、暗色令牌齐全、tokens.json ↔ tokens.css 名字与值双源一致、@keyframes 无复制粘贴的重复帧、滚动容器全在细条规则内,README 组件清单与分组同步,backlog ↔ 留痕双向一致(编号严格递增、无重复 id、留痕时间线单调且带 +08:00,每个 iter 提交都有留痕),组合配方结构完整,MCP 工具清单三处一致,搜索同义词表目标存在且无歧义,combobox / slider / range 控件都有可访问名,toast 有 live 区域与 alert 抢占播报,表单错误文案被 aria-describedby 关联、重置真复位、错误环只在聚焦时亮、汇总条随校验重算、提交按钮有忙碌态,视觉回归抽查清单十八组件 × 五维度齐全)');
console.log('verify OK (manifest ↔ docs ↔ demo 一致,文档 props ↔ 入参接口双向一致,皮肤无硬编码颜色与未定义令牌、暗色令牌齐全、tokens.json ↔ tokens.css 名字与值双源一致、@keyframes 无复制粘贴的重复帧、滚动容器全在细条规则内,README 组件清单与分组同步,backlog ↔ 留痕双向一致(编号严格递增、无重复 id、留痕时间线单调且带 +08:00,每个 iter 提交都有留痕),组合配方结构完整,MCP 工具清单三处一致,搜索同义词表目标存在且无歧义,combobox / slider / range 控件都有可访问名,toast 有 live 区域与 alert 抢占播报,表单错误文案被 aria-describedby 关联、重置真复位、错误环只在聚焦时亮、汇总条随校验重算、提交按钮有忙碌态,视觉回归抽查清单十九组件 × 五维度齐全)');
}
/*** 校验 git 提交信息是否符合 COMMITTING.md 规范(参数为 message 文件路径或直接 message 文本),违规退出码 1 ***/