Skip to content

语义化 HTML:文档结构、辅助技术与默认行为

主题边界

  • 语义化是让元素名称与它在文档中的职责一致,例如 headermainnavarticlebutton
  • 它不仅影响开发者阅读体验,还会影响辅助技术、键盘交互、默认样式和搜索引擎理解。

机制与流程

  • 浏览器会根据元素语义生成 DOM 与 accessibility tree 中不同的角色、名称计算与 landmark 区域。
  • 按钮、链接、表单控件等语义元素自带焦点行为、键盘响应和提交逻辑,替代元素要手动补齐这些能力。
  • 正确的标题层级、列表结构和表格语义会改善文档导航与内容抽取。

关键差异

  • 语义化不是“少用 div”,而是优先使用真正具备相应语义和默认行为的元素。
  • 视觉样式与语义职责是两层问题,样式完全可以把 button 做得像链接,但交互语义不能反过来省略。

边界条件

  • 滥用 ARIA 角色替换原生语义通常是退步,因为原生元素的默认行为更完整。
  • 多个 main、错乱的标题层级、把可点击区域做成裸 div 都会破坏结构信号。

工程落点

  • 组件库设计时应先选对底层语义元素,再在其上封装样式与行为。
  • 语义化错误会直接放大为无障碍缺陷、SEO 损失和测试自动化的定位困难。

相关主题