语义标签的价值不在「符合规范」,而在两件事:别人读代码时能快速看懂结构,浏览器和读屏软件能理解内容的角色。前者影响维护成本,后者影响多少人能用你的页面。
标签描述的是内容关系
选择标签时先问一句「这块内容在页面里扮演什么角色」,而不是「它长什么样」。导航用 nav,独立成篇的内容用 article,与主内容相关但可独立的区块用 section,页面头部与底部分别用 header 和 footer。
常见的三个结构错误
- 一个页面里出现多个 h1,标题层级跳级,读屏时无法建立大纲
- 把可点击的 div 当按钮用,键盘无法聚焦,回车也无法触发
- 列表内容用一排 div 拼出来,丢失了列表项的数量语义
从标题层级开始检查
改动成本最低的检查方式是看标题层级:h1 只有一处,h2 划分章节,h3 属于某个章节的小节。把标题去掉样式只留文字,也应该能读出整页的目录。
如果只留文字也能读懂的页面结构,才是结构真正立住了。


