gongyijie85/dsh-design-audit0

dsh-design-audit

DeepSeek Harness 的 UI/UX 审查与优化闭环:无头 Chrome 取证 → 确定性判据(WCAG 2.2 / 平台指南)→ 可粘贴 CSS 修复 → 复测差值验证

包名
dsh-design-audit
版本
0.1.2
许可证
MIT
最近更新
2026年9月11日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:gongyijie85/dsh-design-audit

开发过程中被真实使用反推修掉的缺陷

  1. 修复只覆盖最严重实例 → 改逐元素展开

  2. `` 被误报无可访问名称 → accname 的 name-from-content 包含内嵌图 alt

  3. 代码块被套用散文行长判据 → pre/code 排除

  4. 行长按容器宽度折算(中文高估约一倍、宽容器短文本必误报)→ 改实测「字符数 ÷ 渲染行数」

  5. 同一选择器在补丁里重复 8 次(相对父级生成导致塌缩)→ 按选择器去重,补丁 11.2KB → 7.6KB

  6. 复测重写 report.md 会抹掉批注 → 保留 ## 视觉复核 段落

  7. 自动基线取到无关页面 → 只认同目标

  8. 可见 ≠ 可点(盲点)→ 新增遮挡命中测试

  9. 差值误报:同一规则"最差元素"漂移时被判成"已修复 + 新引入"(假回归)→ 二次归类为"选择器漂移",单独列出前后元素

  10. 补丁重复块:跨 finding 的同一选择器生成多份(含注释的复合段会绕过归并)→ 全局按选择器归并(flattenCssBlocks),实测 4 条修复 → 2 个选择器 + 1 段原样规则

  11. 动效盲区(假阴性):取证脚本原来只统计计算样式里的 animation/transition,于是 GSAP 那类"逐帧写内联 transform"的页面一条都不报 —— 实测同一页面(整屏 rAF 无限位移、完全无视 prefers-reduced-motion)拿到"问题总数 0",而它旁边只多一个 CSS 过渡元素的对照页却报了 1 条且归因给了那个 CSS 元素。修法:跨时间采样(隔 250ms 比较几何/透明度变化,排除有 CSS 来源的元素),并把该类动效的修复建议从纯 CSS 改成 JS 侧 matchMedia / gsap.matchMedia()