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 #000000highlight · 颜色
--cd-color-highlight-bg #fbda32highlight · 颜色背景色
--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