必须且只能出现一次,且不能嵌套在、等结构性元素内,因其代表整个页面唯一的核心内容容器,误用会导致逻辑混乱、焦点丢失和seo权重分散。

语义化标签不是“让页面看起来更规范”的装饰,而是直接决定浏览器、搜索引擎和辅助技术能否正确解析文档结构的关键。 它们把一堆 <div> 堆砌的盒子,变成有明确角色的“房间”:哪个是入口(<code><header></header>),哪个是主厅(<main></main>),哪个是侧边柜(@#@#@#@#@#@#@#@#@#@0 —— “联系我们”是功能入口,不是补充材料,应归入 <footer></footer> 或 <nav></nav>
document.createElement 或 html5shiv 激活,但更重要的是——即使加了 polyfill,语义错配依然会让 AT 读错结构真正难的不是记住标签名,而是每次写 HTML 时问一句:“这段内容脱离当前页面后,还能被独立理解吗?它的存在是为了帮用户定位,还是为了帮我写 CSS?” 答案决定了该用 <article></article> 还是 <section></section>,该塞进 <main></main> 还是拎到 <aside></aside> —— 结构一旦定型,后续的 SEO、无障碍、维护成本全跟着走。











