From 9d83a06300863942dcf10c66817846f4dbdd70a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Sat, 10 Oct 2026 01:00:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96:=20=E6=97=A0=E9=9A=9C?= =?UTF-8?q?=E7=A2=8D=E6=89=B9=E6=AC=A1(=E5=8F=AF=E7=82=B9=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E9=94=AE=E7=9B=98=E5=8C=96=20+=20icon-only=20aria-lab?= =?UTF-8?q?el)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - P2-2 命名 4 处可点容器键盘可达: ToolCard 卡头 / MessageList 轨迹卡头 / AuditLog audit-row(tr) / conv-list-item —— tabindex+keydown 复用原 handler, div 类加 role=button+aria-expanded; tr 因 role=button 会抹掉行语义故不加 role - P3-2 3 处 icon-only 按钮补 aria-label(EnrichmentPanel 关闭 / ProjectDetail 编辑·删除),复用同 :title 的 i18n key,零新增键 - 硬约束执行: 4 个并行子代理按文件分区,零跨文件改动;主代理独立核查 diff 后修正一处语义缺陷(tr role) - 看板同步: P2-2 销账 / P3-2 部分完成(~12 处待续) / 残留诊断代码 authz_debug 已清销账 / G6 标题泄漏(title.rs sanitize_title_source 双路径)销账 - 验收: bunx vue-tsc --noEmit EXIT 0 + node scripts/check-i18n.cjs 0 失败 --- docs/todo.md | 8 ++++---- src/components/ToolCard.vue | 10 +++++++++- src/components/ai/EnrichmentPanel.vue | 2 +- src/components/ai/MessageList.vue | 10 +++++++++- src/views/AuditLog.vue | 4 ++-- src/views/ProjectDetail.vue | 4 ++-- 6 files changed, 27 insertions(+), 11 deletions(-) diff --git a/docs/todo.md b/docs/todo.md index 1b2c81e..8911ca5 100644 --- a/docs/todo.md +++ b/docs/todo.md @@ -24,8 +24,8 @@ > 背景:src 43 个 .vue 文件 UI 规范缺口全量合规走查(Vercel Web Interface Guidelines 适用子集)+ 审批/aichat/项目知识审计三域子代理分组审。质量中上无阻断,缺口集中 4 类系统性模式,其中 2 类可全局样式一刀切收敛。 > 详情:[05-代码审查/UX走查-Web规范合规-2026-10-05.md](./05-代码审查/UX走查-Web规范合规-2026-10-05.md) -- [ ] P2-2 高频可点 div 键盘化:ToolCard:11 卡头/MessageList:1423 轨迹头/AuditLog:67,119 审计行(@click div 全仓 56 处,去 mask 合规项约 20 真缺口,高频改 button 其余 tabindex+keydown) -- [ ] P3-2 icon-only 按钮缺 aria-label ~15 处(title 非等价读屏补偿;EnrichmentPanel 关闭钮/ProjectDetail:185,189 编辑删除钮等)+剩余 div 键盘化 +- [x] P2-2 高频可点 div 键盘化:ToolCard:11 卡头/MessageList:1423 轨迹头/AuditLog:67,119 审计行(@click div 全仓 56 处,去 mask 合规项约 20 真缺口,高频改 button 其余 tabindex+keydown) ✅ **2026-10-10 完成(named 高频点)**:四面包裹处均补 `role="button" tabindex="0"` + `@keydown.enter/.space.prevent` 复用原 handler(带展开态的补 `:aria-expanded`;AuditLog 的 `` 仅补 tabindex+keydown——加 role=button 会抹掉表格行语义,故不加)。验收:`bunx vue-tsc --noEmit` EXIT 0。**剩余**:全仓另 ~16 处 @click div 未清(见 P3-2)。 +- [~] P3-2 icon-only 按钮缺 aria-label ~15 处(title 非等价读屏补偿;EnrichmentPanel 关闭钮/ProjectDetail:185,189 编辑删除钮等)+剩余 div 键盘化 ✅ **2026-10-10 完成 3/15**(EnrichmentPanel 关闭钮 + ProjectDetail 模块编辑/删除钮,均复用已有 `:title` 同表达式为 `:aria-label`,未新增 i18n 键);**剩余 ~12 处** 未清,按「存量 vs 仅本批」拍板点待用户定范围。 - 拍板点:修复范围「存量 vs 仅本批」——transition:all/outline:none 大半为存量;本批新代码 a11y 意识已好(svg aria-hidden 批补/MessageList role=log+aria-live/hover-only focus-within 补偿),仅清本批则工作量降 60%+ ### 💡 2026-09-29 aichat 可用性与交互成本研究(三动线走查+异常循环截图实证,39 项新发现) @@ -75,7 +75,7 @@ **销账核对(已登记 8 复核)**:SMELL-P1-6(line221·#5 覆盖 executed/completed 双轨)/ MED-1(tool_registry:546 bind_directory)/ REFACTOR-260619-08(tool_registry:881 拆)/ REFACTOR-260619-09(context.rs:1 God 1552行)/ ARC-260619-05(agentic:318 超长)/ UX-260617-28(双监听器 INFO)。**均仍在未完成,审查复核确认,保留**。 -**残留诊断代码(待清)**:chat.rs `authz_debug`/`authz-debug.log`(L2 调试遗留,P2 报 chat.rs:548 硬编码绝对路径),L2 完成后可清。 +**残留诊断代码(待清)**:chat.rs `authz_debug`/`authz-debug.log`(L2 调试遗留,P2 报 chat.rs:548 硬编码绝对路径),L2 完成后可清。✅ **2026-10-10 核验销账**:`grep -rn "authz_debug|authz-debug.log" src-tauri/src/` 零命中,残留已清。 --- @@ -670,7 +670,7 @@ - [ ] **G4 销账带证据**:勾选 [x] 须附验收命令输出行,无证据视同未完成 ### 桌面能力同步(随本批) -- [ ] G6 缺陷9 标题泄漏桌面同症随批修 +- [x] G6 缺陷9 标题泄漏桌面同症随批修 ✅ **2026-10-10 核验销账**:`title.rs:241 sanitize_title_source`(剥 HTML/Markdown 标签,含 `
/`/代码围栏)已接入 `extract_title` 的 LLM 路径(:280)与兜底路径(:298),桌面与飞书同源,缺陷9 桌面同症已随 70d6e98 一并修。 ## 无人值守可靠性专项(2026-10-06 swarm 立项,设计档:docs/02-架构设计/无人值守可靠性专项设计-20261006.md+temp/V49断点续跑设计-20261006.md) diff --git a/src/components/ToolCard.vue b/src/components/ToolCard.vue index 00f9da4..19e90b0 100644 --- a/src/components/ToolCard.vue +++ b/src/components/ToolCard.vue @@ -8,7 +8,15 @@ :data-risk="riskLevel" > -
+
diff --git a/src/components/ai/EnrichmentPanel.vue b/src/components/ai/EnrichmentPanel.vue index 870db35..0ebdf41 100644 --- a/src/components/ai/EnrichmentPanel.vue +++ b/src/components/ai/EnrichmentPanel.vue @@ -51,7 +51,7 @@ function toggleExpanded(current: boolean) { {{ enrichmentBadgeText }} - +
{{ $t('aiChat.enrichmentLabel') }}
{{ enrichmentDetailText }}
diff --git a/src/components/ai/MessageList.vue b/src/components/ai/MessageList.vue index 19cf885..8d67b3d 100644 --- a/src/components/ai/MessageList.vue +++ b/src/components/ai/MessageList.vue @@ -1507,7 +1507,15 @@ defineExpose({ 每轮思考 pill + 工具卡;头部聚合行含调用/耗时/全程 token 汇总) -->
-
+
▸ {{ $t('ai.trace.roundN', { n: item.round }) }} {{ traceAggText(item.stats, item.startTs, item.endTs) }} diff --git a/src/views/AuditLog.vue b/src/views/AuditLog.vue index e4f0495..7f03838 100644 --- a/src/views/AuditLog.vue +++ b/src/views/AuditLog.vue @@ -64,7 +64,7 @@