{ "src": "D:\\doubao\\tmp\\酱腌菜电商看板\\dashboard.html", "url": "file:///D:/doubao/tmp/%E9%85%B1%E8%85%8C%E8%8F%9C%E7%94%B5%E5%95%86%E7%9C%8B%E6%9D%BF/dashboard.html", "outdir": "D:\\doubao\\tmp\\酱腌菜电商看板\\_shots", "include": [ "lint", "screenshots", "structure" ], "shots": { "desktop": { "screenshot": "D:\\doubao\\tmp\\酱腌菜电商看板\\_shots\\dashboard_desktop.jpg", "screenshotBytes": 350050, "truncated": false, "structure": { "title": "楚味酱仓 · 酱腌菜电商运营数据看板", "firstH1": "楚味酱仓 · 电商运营数据看板", "viewport": { "w": 1416, "h": 762 }, "fullpage": { "w": 1416, "h": 4687 }, "counts": { "section": 6, "h1": 1, "h2": 6, "img": 0, "canvas": 5, "svg": 0, "links": 0, "buttons": 2 } }, "consoleErrors": [ { "type": "error", "text": "Access to fetch at 'file:///D:/doubao/tmp/%E9%85%B1%E8%85%8C%E8%8F%9C%E7%94%B5%E5%95%86%E7%9C%8B%E6%9D%BF/data/hot_words.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: chrome-extension, chrome-untrusted, data, edge, http, http", "location": "file:///D:/doubao/tmp/%E9%85%B1%E8%85%8C%E8%8F%9C%E7%94%B5%E5%95%86%E7%9C%8B%E6%9D%BF/dashboard.html" }, { "type": "error", "text": "Failed to load resource: net::ERR_FAILED", "location": "file:///D:/doubao/tmp/%E9%85%B1%E8%85%8C%E8%8F%9C%E7%94%B5%E5%95%86%E7%9C%8B%E6%9D%BF/data/hot_words.json" } ], "consoleWarnings": [], "horizontalOverflow": [], "resourceErrors": [ { "url": "file:///D:/doubao/tmp/%E9%85%B1%E8%85%8C%E8%8F%9C%E7%94%B5%E5%95%86%E7%9C%8B%E6%9D%BF/data/hot_words.json", "resourceType": "Fetch", "status": null, "reason": "network_error" } ], "emojiUsageWarning": [ { "tag": "div", "chars": "★", "contextText": "4.7★" } ], "emojiUsageHint": "warning · 含义:页面正文里检出 emoji 字符(U+1F300–U+1FAFF 或 U+2600–U+27BF 平面)。SKILL.md 视觉设计段明确禁用 emoji——不作图标、不作装饰、不放进数据。 | 修法:换成内联 SVG 图标()建立风格连贯的图标语言。 | 豁免:(1) **用户品牌资产明确包含 emoji**(罕见,但如即时通讯、社交媒体主题的产物合理);(2) 主题本身就是关于 emoji 的(emoji 历史 / 表情包研究 / Unicode 演进);(3) 引用某条真实文本原文(如推文截图的文字版),emoji 是内容而非装饰——保留原文可接受,但仍应权衡;(4) 装饰性 dingbat(如 U+2713 勾选符 ✓、U+2192 箭头 →、U+2605 星 ★)落入 U+2600–U+27BF 平面被误报的,如确认是符号非 emoji 可忽略。", "fakeDisclosureBulletsWarning": [ { "tag": "li", "via": "pseudo::before", "char": "▸", "count": 6, "samples": [ "今日:上新 1 个机会商品任务专区奖励:图片空间容量 +2GB。首选「红油剁椒贡", "近30天:上新 5 个机会商品任务专区奖励:+5个商机流量。排期建议:本周2款、", "标题关键词优化把「下饭/拌面/脆爽/低盐/特产」置入标题前30字,规格写全(克重" ], "rect": [ 731, 4091, 561, 56 ] } ], "fakeDisclosureBulletsHint": "warning · 含义:列表项拿 chevron / caret(`›` `>` `▸` `»` `❯` 等)当项目符号,但这些元素**并不可点击**。chevron 在 UI 惯例里是 disclosure indicator——手风琴的展开箭头、列表项\"进入下一级\"的指示器,用户看到会尝试去点、点了没反应,属于和僵尸按钮同族的假 affordance(`via` 字段说明来源:`pseudo::before` / `list-style-type` / `text-prefix` / `pseudo-list-text`)。 | 修法:要项目符号就用真正表示\"并列\"的记号——`•`(U+2022)、`‣`、`–`,或者 `list-style: disc`;更干净的做法是干掉符号,只靠缩进和行距分隔,同一页面里同级信息块的呈现方式要一致。**反过来说:如果这些列表项本来就该能展开,那不是改符号,是补上真实的展开交互**(`
/` 或挂 click handler + `aria-expanded`)。 | 豁免:(1) 元素或祖先真绑了 click / 是 `` / 有 `aria-expanded` / 有 `href` 的**不会报**——那时 chevron 是正确用法;带 `note: ancestor-has-data-attr` 的说明交互可能挂在 document 级委托上、本规则的 hook 探测不到,核对一下确实能点就忽略;(2) 面包屑导航、路径指示(`首页 › 产品 › 详情`)里 chevron 是分隔符不是项目符号,误报可忽略;(3) 内容本身就是在讲这些符号(键盘按键说明、Unicode 科普、终端提示符 `>` 的教程)。", "reportSource": "cdp" } }, "engine": "chrome_cli", "chromiumExec": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe", "engineDegraded": true, "engineDegradedReason": "playwright 未装", "elapsedSec": 10.72 }