figure 和 figcaption 的核心价值是为独立内容单元提供清晰、可访问、语义准确的说明;关键在精准分工与结构合规,figcaption 必须是 figure 的首个或末个直接子元素,不可嵌套于 div 等元素内,且需避免复述内容本身,而应说明用途、场景或设计意图。

figcaption 必须直接归属 figure,且只出现一次
它只能是
✅ 正确:
<figure> <figcaption>清单 4:用户登录态校验的 JWT 解析逻辑(Node.js)</figcaption> <pre class="brush:php;toolbar:false;"><code>const payload = jwt.verify(token, SECRET);</code>
❌ 错误:
<figure> <div><figcaption>……</figcaption></div> <pre class="brush:php;toolbar:false;">...
标题说明要回答“为什么放这里”,不是重复 alt 或代码本身
的 alt 属性不存在,但 <pre class="brush:php;toolbar:false;"><code> 内容本身是可视文本,所以 figcaption 不该复述代码行;它应点明用途、场景、版本或设计意图。 </li><li>图片的 alt 描述“图里有什么”,figcaption 解释“这张图为什么在这”。两者互补,不可互换。 </li></ul><p>常见有效写法包括: </p><div class="aritcle_card flexRow"> <div class="artcardd flexRow"> <a class="aritcle_card_img" href="/xiazai/skill10828" title="财经HTML高端海报生成"><img src="https://img.php.cn/upload/skill/001/246/273/6adaf20dbae7c507.jpg" alt="财经HTML高端海报生成" ></a> <div class="aritcle_card_info flexColumn"> <a href="/xiazai/skill10828" title="财经HTML高端海报生成">财经HTML高端海报生成</a> <p>复杂得财经如何变成清晰,适合手机看的海报?如何加上你的IP</p> </div> <a href="/xiazai/skill10828" title="财经HTML高端海报生成" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div><ul><li>带编号与归类:<code><figcaption>图3-2:iOS 端表单提交异常捕获堆栈(v2.4.1)</figcaption></code> </li><li>指向结论或关联:<code><figcaption>该算法在 10 万级数据下平均耗时降低 37%,见性能对比表</figcaption></code> </li><li>标注来源与限制:<code><figcaption>SVG 架构图(基于 Figma 导出,不含交互状态)</figcaption></code> </li><li>区分变体说明:<code><figcaption>响应式断点配置(mobile-first,最小支持 320px 宽度)</figcaption></code></li></ul><p><strong>复杂代码块建议搭配 <pre class="brush:php;toolbar:false;"> + <code> + lang 属性</strong><br /> figcaption 不负责语法高亮或语言识别,这部分由 <code lang="js"> 或 <code class="python"> 承担。figcaption 只管宏观定位: </p><ul><li>是示例?是生产代码片段?是已废弃逻辑? </li><li>属于哪个模块?对应哪条需求?是否含副作用?<br /> 例如: <pre class='brush:html;toolbar:false;'><figure> <figcaption>模块入口:useAuthStore.ts 中的 token 刷新防重逻辑(防并发请求)</figcaption> <pre class="brush:php;toolbar:false;"><code class="typescript">export const refreshAccessToken = async () => { ... }</code></pre>
多段相关代码不要塞进一个 figure
若展示“请求发起 → 响应处理 → 错误兜底”三步,应拆为三个独立 下,避免一个标题覆盖多个语义单元。
图与代码共用同一套规则:只有能单独引用、删掉不影响正文主干、可移入附录仍成立的内容,才值得用
立即学习“前端免费学习笔记(深入)”;


















