html规范核心在于语义化与可访问性:用替代无意义,alt属性需准确描述图像内容,必须显式声明type,标记标准时间格式,所有标签应确保无样式、无js、纯语音环境下仍能准确传达目的与关系。

HTML 本身没有“规范源码”的内置机制,所谓“更规范”实际取决于你是否遵循可访问性、语义化和浏览器解析逻辑——而不是加几个花哨标签就能解决。
用 <section></section> 和 <article></article> 替代一堆 <div>
<p>纯视觉布局用 <code><div> 没问题,但一旦内容有逻辑结构(比如博客正文、侧边栏、页脚导航),<code><div> 就丢失语义。屏幕阅读器、搜索引擎、甚至 CSS 的 <code>:focus-visible 行为都依赖语义标签。
- 一个独立可复用的内容块(如一篇博客、一条新闻)用
<article></article>
- 页面中具有主题的分组区域(如“关于我们”“服务列表”)用
<section></section>
-
<section></section> 必须有标题(<h2></h2>–<h6></h6>),否则它和 <div> 几乎等价
<li>别嵌套过深:<code><article></article> 里再套 <section></section> 是合理的,但连续三层 <section></section> 很可能说明结构设计有问题
别把 <img> 的 alt 属性留空或写“图片”
alt 不是可选装饰项,它是图像的文本替代,在图片加载失败、纯文本浏览器、屏幕阅读器中起决定性作用。留空(alt="")只适用于纯装饰图;写“图片”“图标”等于没写。
- 传达信息的图:写清内容和意图,比如
alt="折线图:2023年Q1-Q4用户留存率从62%升至79%"
- 链接中的图标按钮:补充行为,比如
alt="搜索" 而不是 alt="放大镜图标"
- 纯装饰图:明确置空
alt="",不要省略属性本身(否则某些读屏器会读出文件名)
- 避免
alt 里塞关键词堆砌,搜索引擎已不买账,反而干扰辅助技术
<button></button> 必须配 type 属性
不写 type 的 <button></button> 在表单内默认是 type="submit",点一下就可能意外提交整个表单——这是线上常见 bug 来源之一。
使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
下载
- 触发 JS 行为的按钮,一律显式写
type="button"
- 表单提交按钮用
type="submit",重置用 type="reset"(后者极少需要)
- 别依赖
onclick 或 preventDefault() 来补救,那只是掩盖问题
- 注意:
<input type="button"> 和 <button></button> 功能等价,但后者更易包裹复杂内容(比如带 icon 的文字)
用 <time></time> 标记日期时间,别只靠 class 名
写 <span class="date">2024-05-20</span> 对人友好,但对机器毫无意义。<time></time> 提供机器可解析的时间语义,支持微数据、SEO 提取,也方便后续用 JS 做时区转换。
- 完整时间戳:
<time datetime="2024-05-20T14:30:00+08:00">2024年5月20日 14:30</time>
- 仅日期:
<time datetime="2024-05-20">5月20日</time>
- 相对时间(如“3小时前”)不能用
<time></time>,它只接受标准格式的 datetime 值
- 别为了“看起来规范”硬套
<time></time>,比如把版本号 v2.3.1 包进去——它不是时间
真正让 HTML “规范”的,不是记住多少标签,而是每次写标签前问一句:这个元素在无样式、无 JS、纯语音环境下,是否仍能准确表达它的目的和关系。这点最容易被跳过,也最难补救。
<article></article>
<section></section>
<section></section> 必须有标题(<h2></h2>–<h6></h6>),否则它和 <div> 几乎等价
<li>别嵌套过深:<code><article></article> 里再套 <section></section> 是合理的,但连续三层 <section></section> 很可能说明结构设计有问题别把 <img> 的 alt 属性留空或写“图片”
alt 不是可选装饰项,它是图像的文本替代,在图片加载失败、纯文本浏览器、屏幕阅读器中起决定性作用。留空(alt="")只适用于纯装饰图;写“图片”“图标”等于没写。
- 传达信息的图:写清内容和意图,比如
alt="折线图:2023年Q1-Q4用户留存率从62%升至79%" - 链接中的图标按钮:补充行为,比如
alt="搜索"而不是alt="放大镜图标" - 纯装饰图:明确置空
alt="",不要省略属性本身(否则某些读屏器会读出文件名) - 避免
alt里塞关键词堆砌,搜索引擎已不买账,反而干扰辅助技术
<button></button> 必须配 type 属性
不写 type 的 <button></button> 在表单内默认是 type="submit",点一下就可能意外提交整个表单——这是线上常见 bug 来源之一。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- 触发 JS 行为的按钮,一律显式写
type="button" - 表单提交按钮用
type="submit",重置用type="reset"(后者极少需要) - 别依赖
onclick或preventDefault()来补救,那只是掩盖问题 - 注意:
<input type="button">和<button></button>功能等价,但后者更易包裹复杂内容(比如带 icon 的文字)
用 <time></time> 标记日期时间,别只靠 class 名
写 <span class="date">2024-05-20</span> 对人友好,但对机器毫无意义。<time></time> 提供机器可解析的时间语义,支持微数据、SEO 提取,也方便后续用 JS 做时区转换。
- 完整时间戳:
<time datetime="2024-05-20T14:30:00+08:00">2024年5月20日 14:30</time> - 仅日期:
<time datetime="2024-05-20">5月20日</time> - 相对时间(如“3小时前”)不能用
<time></time>,它只接受标准格式的datetime值 - 别为了“看起来规范”硬套
<time></time>,比如把版本号v2.3.1包进去——它不是时间
真正让 HTML “规范”的,不是记住多少标签,而是每次写标签前问一句:这个元素在无样式、无 JS、纯语音环境下,是否仍能准确表达它的目的和关系。这点最容易被跳过,也最难补救。










