语义化标签(如、、-、等)才是构建内容结构的关键,格式化标签(、、)仅控制样式,无助于seo和可访问性。

<b></b>、<i></i>、<u></u> 这类标签不是用来“优化结构”的,它们只负责文本样式,对语义、SEO 或可访问性几乎没帮助。真要优化内容结构,得靠语义化容器和标题层级,而不是加粗或斜体。
别用 <b></b> 和 <i></i> 替代语义标签
很多人习惯用 <b></b> 强调关键词、用 <i></i> 标注外文或术语,但这样浏览器和屏幕阅读器只看到“加粗”“斜体”,不知道这段文字的意图。搜索引擎也不因此提升权重。
-
<strong></strong>才表示内容重要性提升,适合强调关键操作、警告或核心主张 -
<em></em>表示语气强调,比如“你必须保存后再退出”,其中“必须”用<em></em>更准确 -
<cite></cite>用于作品名(如书名、电影名),<dfn></dfn>用于首次定义术语,比<i></i>更有语义价值 - 纯视觉样式需求(比如让某段文字统一变蓝)应交给 CSS,而不是塞一堆无意义的
<span></span>+<b></b>
<h1></h1> 到 <h6></h6> 必须保持逻辑嵌套
标题不是“加大字号的段落”,而是内容大纲的骨架。跳级(比如 <h2></h2> 后直接 <h4></h4>)会让屏幕阅读器用户迷失层级,也会干扰搜索引擎判断主次关系。
使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。
- 每个页面有且仅有一个
<h1></h1>,代表页面主题(通常与<title></title>一致) -
<section></section>或<article></article>内部可以有自己的<h2></h2>~<h6></h6>,但必须从<h2></h2>开始,不能越级 - 避免用
<h2></h2>当作“小标题样式”滥用——如果它不构成内容分组的逻辑标题,就该用<p class="subtitle"></p>+ CSS - 浏览器开发者工具的“Accessibility”面板能实时检查标题层级是否断裂
格式化标签和语义标签混用时的常见错误
比如在 <blockquote></blockquote> 里硬塞 <b></b> 做作者名,或给 <code> 外包一层 <i></i>——这既破坏语义,又增加冗余节点。
-
<blockquote></blockquote>应配合<footer></footer>或<cite></cite>标注来源,而不是靠<i></i>模拟斜体署名 <code>已自带等宽字体和语义,再套<pre class="brush:php;toolbar:false;"></pre>是为了保留换行缩进;但加<b></b>就多余了-
<time></time>、<address></address>、<abbr></abbr>这些轻量语义标签,比任何格式化标签都更利于机器理解 - 检查 DOM 时留意:如果某个
<span></span>只为加 class 而存在,且没包裹任何语义信息,大概率可以删掉
真正影响结构质量的,从来不是“这段字要不要加粗”,而是“这段内容在整个信息流中扮演什么角色”。格式化标签是粉刷,语义标签才是承重墙。写完 HTML 后,关掉 CSS 看一眼纯文本渲染效果,如果逻辑断层、重点模糊、顺序混乱——那问题八成出在结构,不在样式。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










