必须含~才具语义,否则等同

section 必须带 <h1></h1>~<h6></h6> 才算有效语义
没标题的 <section></section> 在读屏器和搜索引擎眼里等于 <div>,只是多写了一个标签。它不会被纳入文档大纲,也不会提升可访问性。
<ul>
<li>标题不一定要紧贴开头,但必须在同一个 <code><section></section> 内部(比如可以先放 <header></header>,再放 <h2></h2>)
<section></section> 时,子级标题级别必须低于父级(<h2></h2> 下只能是 <h3></h3> 或更低)<section></section> 就白写了div 是唯一明确声明“此处无语义”的标签
<div> 不是过时工具,而是精准锚点:当你只需要一个 class 控制样式、一个 id 绑定 JS、或一个纯视觉容器时,它就是最诚实的选择。
<ul><li>适合:<code><div class="grid-container">、<code><div id="modal-root">、<code><div data-chart-id="revenue-q2">
<li>不适合:把“客户评价”区块包进 <code><div class="section-customer-reviews">——这等于放弃语义,还误导后续维护者
<li>性能上没差别,但混用会导致读屏器跳过关键结构(例如 NVDA 会直接念第一个文本,不报“章节名”)</li>
<h3>section 套 div 合理,div 套 section 多数情况是错的</h3>
<p><code><section></section> 内部用 <div> 做布局或交互容器完全正常;反过来则大概率说明结构设计有问题。
<ul><li>合理示例:<code><section><h2>产品特性</h2>
<div class="card-grid"><div class="card">…</div></div></section> —— <div> 只负责网格排列,不承载主题
<li>错误示例:<code><div class="wrapper"><section><h3>用户反馈</h3></section></div> —— <div class="wrapper"> 没语义价值,应直接删掉或换成 <code><main></main>/<article></article>
<div id="app"> 这类由框架动态渲染的锚点,运行时生成 <code><section></section> 属于合理场景,但手写 HTML 不该模仿
别用 section 替代 article 或 nav
三者分工清晰:<article></article> 表示可独立分发的内容(如博客正文),<nav></nav> 表示导航链接组,<section></section> 表示主题性分组。强行互换会破坏结构信号。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- “最新文章列表”用
<section></section>是错的——每篇文章都可单独 RSS 推送,该用<article></article> - 顶部主导航栏用
<section></section>包着,读屏器会误判为“内容章节”,正确标签是<nav></nav> - 整页主内容区用
<div class="main-content"> 而不是 <code><section></section>—— 它缺标题,且语义上该由<main></main>承担 实际写的时候,最容易忽略的是标题绑定和大纲验证。很多人写了<section></section>就以为语义到位了,结果一查大纲全是空的——那跟写<div> 没区别。</div>










