♻️ refactor(vscode): 看板的悬停提示也改走 data-tooltip,插件网页只剩一条提示的路;lint 禁止原生 title

- 看板剩下的原生 title(顶栏按钮、工单卡片、工单详情、会话、Profile 表、改动文件树和 diff、属性表)全部改成 data-tooltip,
  禁用的按钮照样弹;只有图标、原来只靠 title 当名字的(审查勾、生成说明、属性说明的 i 图标、没头像的归属人)补上 aria-label
- 提示框按原文换行:摘修复弹框里「迁移」列的几个文件一行一个
- 代码阅读 Markdown 链接的标题写成 data-tooltip
- eslint 规则:网页 TSX 的 DOM 元素上写 title 报错,iframe 和组件自己的 title 属性不算
This commit is contained in:
cruldra committed 2026-09-27 21:39:15 +08:00
1 parent 1f7bf63e27
commit c8620e6e1b
15 files changed
+86 -46

No files matched your search

@@ -177,7 +177,7 @@ export function ManagedSessionsPanel({
<button
type="button"
onClick={openImport}
title="导入已 /rename 的命名会话"
data-tooltip="导入已 /rename 的命名会话"
className="flex shrink-0 items-center gap-1 rounded border border-[var(--vscode-input-border,var(--vscode-panel-border))] bg-[var(--vscode-button-secondaryBackground,var(--vscode-input-background))] px-2 py-1 text-xs text-[var(--vscode-button-secondaryForeground,var(--vscode-foreground))] hover:bg-[var(--vscode-button-secondaryHoverBackground,var(--vscode-toolbar-hoverBackground))]"
>
<Download className="size-3.5" />
@@ -367,7 +367,7 @@ function SessionRow({ session, profiles, onRename, onResume, onDelete, onCloseTa
<button
type="button"
onClick={resume}
title="点击恢复会话(新终端 resume)"
data-tooltip="点击恢复会话(新终端 resume)"
className="grid size-6 shrink-0 place-items-center rounded text-[var(--vscode-descriptionForeground)] hover:bg-[var(--vscode-toolbar-hoverBackground,var(--vscode-list-hoverBackground))] hover:text-[var(--vscode-foreground)]"
aria-label="恢复会话"
>
@@ -411,7 +411,7 @@ function SessionRow({ session, profiles, onRename, onResume, onDelete, onCloseTa
e.stopPropagation()
beginEdit()
}}
title="双击改名"
data-tooltip="双击改名"
>
{session.name || <span className="opacity-40">(未命名)</span>}
</span>
@@ -462,7 +462,7 @@ function SessionRow({ session, profiles, onRename, onResume, onDelete, onCloseTa
e.stopPropagation()
onHandoff(session.id)
}}
title="交接给同事"
data-tooltip="交接给同事"
aria-label="交接给同事"
className="grid size-6 shrink-0 place-items-center rounded text-[var(--vscode-descriptionForeground)] opacity-0 transition-opacity hover:bg-[var(--vscode-toolbar-hoverBackground,var(--vscode-list-hoverBackground))] hover:text-[var(--vscode-foreground)] group-hover:opacity-70"
>
@@ -476,7 +476,7 @@ function SessionRow({ session, profiles, onRename, onResume, onDelete, onCloseTa
e.stopPropagation()
onCloseTab(session.id)
}}
title="关闭会话 tab"
data-tooltip="关闭会话 tab"
aria-label="关闭会话 tab"
className="grid size-6 shrink-0 place-items-center rounded text-[var(--vscode-descriptionForeground)] opacity-70 transition-opacity hover:bg-[var(--vscode-toolbar-hoverBackground,var(--vscode-list-hoverBackground))] hover:text-[var(--vscode-foreground)]"
>
@@ -490,7 +490,7 @@ function SessionRow({ session, profiles, onRename, onResume, onDelete, onCloseTa
e.stopPropagation()
onDelete(session.id)
}}
title="从列表移除(不删 jsonl)"
data-tooltip="从列表移除(不删 jsonl)"
aria-label="从列表移除"
className="grid size-6 shrink-0 place-items-center rounded text-[var(--vscode-descriptionForeground)] opacity-0 transition-opacity hover:bg-[var(--vscode-toolbar-hoverBackground,var(--vscode-list-hoverBackground))] hover:text-state-red group-hover:opacity-70"
>