Highlight 设计文档
纯展示文本高亮:在 sourceString 中标记 searchWords,命中片段默认用 <mark> 包裹。纯文本输出(HTML 会被转义而非解析),支持大小写敏感、正则转义开关、自定义包裹元素/类名/样式,以及对象数组差异化样式(不同关键词单独 className/style)。
← API 文档使用建议
纯展示文本高亮:在 sourceString 中标记 searchWords,命中片段默认用 <mark> 包裹。纯文本输出(HTML 会被转义而非解析),支持大小写敏感、正则转义开关、自定义包裹元素/类名/样式,以及对象数组差异化样式(不同关键词单独 className/style)。
Accessibility
ARIA role:none
- 高亮片段用原生 <mark> 元素承载浏览器/AT 内建“标记”语义
- 不可聚焦、无 tabindex,避免搜索结果列表产生大量 Tab 停留点
- 默认不对每个高亮加 aria-label,避免逐字播报噪音;命中计数由调用方外层 live region 负责
- 语义+背景双通道区分,不仅靠颜色(WCAG 1.4.1)
设计变量
| 变量 | 默认值 | 用法 |
|---|---|---|
--cd-color-highlight | #000000 | highlight · 颜色 |
--cd-color-highlight-bg | #fbda32 | highlight · 颜色背景色 |
--cd-highlight-bg | var(--cd-color-highlight-bg) | 命中片段背景色(Semi $color-highlight-text-bg-default):亮 yellow-4 / 暗 yellow-2 |
--cd-highlight-color | var(--cd-color-highlight) | 命中片段文字色(Semi $color-highlight-text-default):亮 black / 暗 white |