职责与结构
Tooltip 补充短说明或显示被截断的完整名称。它不容纳按钮、链接和必填错误,不替代控件的可访问名称。
原生控件 + role=tooltip 的短文本 + 保留已有 aria-describedby。提示不获得焦点;需要操作的内容使用 Popover。
变体与 Tokens
| 项目 | 规范 |
|---|---|
| 悬停与焦点 | 指针进入或键盘聚焦显示,Esc 关闭,新的进入/聚焦才恢复。 |
| 完整名称 | 只在名称溢出时显示,可选择右侧定位;完整可访问名称继续由控件提供。 |
| 触屏 | 关键含义放在可见文本及名称中,不要求触屏用户先悬停。 |
复用 .tooltip、--layer-tooltip、--space-2/3、共享文字/对比和强制颜色回退;视口夹紧、自然换行。
交互与状态示例
交互与无障碍
提示保持到触发器及提示本身都结束悬停/聚焦;可将指针移到提示阅读。Esc 立即关闭且不会马上重开。提示不接收键盘焦点;滚动和尺寸变化重新定位,触发器隐藏、禁用或移除则关闭;被移除的触发器不会遗留动态生成的提示节点。
接入约定
| 项目 | 规范 |
|---|---|
| data-ds-tooltip | 短文本提示自动初始化;使用 textContent,不执行 HTML。 |
| bindTooltip(trigger,{text,panel,enabled,placement,describe}) | 可使用现有 .tooltip,动态文字与条件可为函数;默认加入唯一 aria-describedby,describe=false 适合已有完整名称的提示。 |
| show / hide / refresh / destroy | 每个触发器独立实例,关闭清理状态;destroy 移除监听并还原既有 title/描述引用。 |
查看最小使用示例
<button class="btn" type="button" data-ds-tooltip="显示完整名称">资源名称</button>
// 可编程接入:window.dsOverlays.bindTooltip(button,{text:()=>name,placement:"right"})维护位置:scripts/overlay-specimens.mjs;示例行为:scripts/overlay-behavior.js。组合应用见本页末尾引用。