HTML5 推荐用 和 替代 、: 表示内容重要性, 表示语气强调,更易通过广告过滤器且利于无障碍访问。

用 和 标注重点,别用 或
广告过滤器(如 uBlock Origin、AdGuard)会扫描 DOM 中高频出现的样式模式和语义可疑节点, 和 因长期被滥用为“加粗/斜体视觉 hack”,在无 CSS 支持或 JS 渲染环境下易被规则误标为广告装饰元素。HTML5 明确区分语义: 表示内容重要性提升, 表示语气强调——这两者更可能被过滤器放行,也利于屏幕阅读器理解。
实际使用建议:
- 纯视觉强调(如按钮文字加粗)优先用 CSS
font-weight,避免包裹标签 - 需要传达“这段话不能忽略”时用
,例如警告、价格、操作后果等 - 避免嵌套多层
,过滤器对深度 >2 的强调链敏感度上升 - 不要给
加 class 名如ad-highlight或promo-text,这类命名会触发白名单黑名单规则
白名单不是靠加 class 解决的,而是靠上下文可信度
没有通用“白名单 class”能绕过广告过滤——uBlock 的静态规则(如 ##div[class*="ad"])和动态脚本(如 cosmetic filtering engine)会综合 class、父容器层级、文本密度、链接比例等判断。强行加 class="safe-highlight" 不仅无效,反而可能因命名异常被额外标记。
真正提升通过率的做法:
立即学习“前端免费学习笔记(深入)”;
- 确保
出现在正文流中(如、内),避开顶部 banner 区或侧边栏 - 相邻兄弟节点避免全是链接或图片;若
前后是+,误判率显著升高 - 文本内容避免含高危词组合,例如
限时抢购 立即下单—— “限时”“抢购”“立即” 是广告规则高频匹配词
CSS 与 JS 干预要克制,避免触发动态过滤逻辑
有些开发者试图用 JS 动态插入 或通过 style="font-weight: bold" 模拟强调,这反而更危险:uBlock 等工具已支持拦截 inline style 注入和 DOM mutation observer 监听,一旦检测到“非初始渲染的强调节点”,会直接归类为广告脚本行为。
安全边界建议:
- 所有强调标签必须在 HTML 初始载入时存在,不通过 JS createElement 插入
- 避免用
!important强制覆盖字体粗细,尤其在全局 CSS 中;部分过滤器将含!important的font-weight规则视为干扰项 - 如果必须用 JS 控制强调状态(如搜索关键词高亮),改用 data 属性标记,CSS 用
[data-highlight]选择器控制样式,而非增删
语义优化的关键是“降低信号噪声比”
广告过滤器本质是分类器,它依赖特征信号做判断。一个 节点是否被放过,不取决于它自己多“干净”,而取决于它在整个页面中的信号占比:周围文本越稀疏、链接越密集、样式越突兀,它就越像广告组件的一部分。
最容易被忽略但影响最大的三点:
-
内文本长度建议 ≥3 字符,单字或两字(如“买!”“省!”)极易被归为促销钩子 - 避免在
~标题内嵌套,标题本身已有语义权重,叠加强调会触发冗余信号告警 - 同一段落中
出现频次建议 ≤1 次/50 字,高密度强调会被识别为“文本轰炸”模式











