标签仅用于包裹真实可执行的代码片段,如函数名、配置键、命令行指令等;混用会破坏语义、干扰自动化提取和屏幕阅读器识别。

标签在更新日志里不是用来“高亮代码”的万能工具,它只该包裹**真实、可执行的代码片段**;混用或滥用会破坏语义、干扰自动化提取,甚至让屏幕阅读器误读。 <h3>什么时候必须用 <code> 标签</code> </h3> <p>只有当内容是程序语言中实际可识别的标识符、参数名、函数调用、配置键、命令行指令时,才用 <code>。</code></p>
fetchUserData() ✅(函数名)-
cache: true✅(对象属性+值,属 JS 字面量) -
npm run build✅(终端命令) -
API_KEY✅(环境变量名) -
user_id✅(字段名,注意下划线是命名一部分)
反例:新增了 dark mode 支持 ❌ —— 这是描述性文字,不是代码;应去掉 ,或仅对其中的 <code>dark mode 保留(但更推荐不用,因它也不是代码)。
和 、 组合时的嵌套规则
必须直接包裹在 <del> 或 <ins> 内部,不能跨层,也不能作为父容器。 <ul><li>正确:<del><code>oldParam</code></del> </li></ul></ins></del>→ 表示该参数被删,且它是代码实体
oldParam 已废弃被文本包围,语义断裂;屏幕阅读器可能读作“删除 参数 旧参数 已废弃”,逻辑混乱
<del>oldParam</del> → <pre class="brush:php;toolbar:false;"> 是内联元素,<del> 是语义容器,反过来套违反 HTML5 内容模型</del></pre>
多词参数或带点号的路径(如 config.api.timeout)可整体包一层 <code>,无需拆分;但别为了“看起来像代码”而给 <code>version 2.1 加
—— 它只是版本号字符串,不是标识符。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
样式与可访问性冲突点
浏览器默认给 应用等宽字体和轻微背景,这本身合理;但常见踩坑是用 CSS 强行覆盖成普通字体或透明背景,结果导致:
- 屏幕阅读器仍会播报“代码段”,但视觉上完全看不出区别,用户无法定位变动中的技术细节
- 自动化工具(如 changelog 解析脚本)依赖
标签识别代码上下文,移除后就漏掉关键字段 - 深色模式下若未重置
的 background-color,可能在暗底上变成不可读的灰字
稳妥做法:保留默认样式,仅微调 的 font-size(建议 0.95em)、line-height(1.2) 和 padding(0.1em 0.3em),避免影响行高或换行。不要用 <code> 包裹整段变更说明 —— 那该用 <p> 或 </p>
<li>。</li>
构建流程中怎么安全注入
如果你用 Markdown 写日志,再转 HTML,注意多数解析器(如 remark、marked)默认把反引号内文本转为 ,但不会自动处理嵌套语义。例如:<code>[del]`oldFn()`[/del] 很可能输出为纯文本,而非 <del><code>oldFn()。
- 优先在 HTML 模板中手写
,确保结构可控... - 若必须走 Markdown 流程,选支持自定义插件的解析器(如 remark-html),加规则识别
`...`出现在或 内时,自动包裹 - CI 构建后可用简单脚本校验:grep -r '
' ./dist/changelog.html || echo "missing semantic code wrap"
真正难的不是写对标签,而是每次加一条日志时,判断「这句话里哪部分是机器可执行的符号」——这个边界一旦模糊, 就从语义标记退化成视觉装饰。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










