跳转至

HTML 参考质量检查清单

本页用于检查 HTML 参考页、教程页和示例代码的准确性、可检索性与可维护性。 自动验证可以发现结构问题,但不能替代语义、可访问性、安全和协议审查。

文档结构

检查项 通过标准
页面标题 只有一个清晰的一级标题,与文件主题一致
标题层级 不跳级堆砌,章节名称可独立理解
表格用途 用于结构化对照数据,不用于页面布局
表头 每张表都有明确列名,缩写与单位可理解
段落长度 关键限制紧邻对应表格或示例,不埋在长段落中
重复内容 多页之间以链接连接,不复制互相冲突的定义
历史内容 明确标记“历史”“废弃”或“仅用于兼容”

HTML 与字符编码

检查项 通过标准
文档模式 示例使用 <!doctype html>
字符编码 新文档统一 UTF-8,包含 <meta charset="utf-8">
HTTP 声明 Content-Type 与文件实际编码一致
ASCII 不把 ASCII 当作现代网页的完整字符集
Latin-1 不建议新页面使用 ISO-8859-1
字符引用 正确转义 <、& 等语法字符,避免双重编码
Unicode 区分码位、字节、字形和用户可见字符

字符数据可交叉检查 ASCII、ISO-8859-1、 符号和字符实体。

URL 与链接

检查项 通过标准
相对链接 从当前文件位置解析后目标存在
锚点 标题锚点存在,大小写和连字符正确
URL 组件 路径、查询、片段分别处理
参数构造 使用 URL、URLSearchParams 等 API,不手工拼接
双重上下文 URL 编码与 HTML 属性编码分别执行
外部链接 使用可信 HTTPS 地址,说明版本或访问日期要求时已注明
敏感数据 密码和长期令牌不进入查询、历史、日志或 Referer

编码规则详见 URL 编码。

语言与可访问性

检查项 通过标准
页面语言 根元素或示例包含准确 lang
局部语言 明显的语言切换在最近元素标注
标签语义 使用原生元素,不凭英文全称猜用途
图片 信息图有准确 alt,装饰图使用空 alt
表单 控件有可访问名称、明确类型和错误提示
键盘 所有交互可操作,焦点清晰可见
非视觉信息 状态不只依赖颜色、位置或图标

语言标签见语言代码,元素名称见标签简写及全称。

HTTP 准确性

检查项 通过标准
消息结构 区分起始行、头字段、空行和可选消息体
方法与状态 方法表达请求意图,状态码表达响应结果
GET 标为安全且幂等,同时说明不保证没有日志等附带副作用
POST 默认非幂等,重试需业务幂等设计
PUT 标为幂等,表示已知目标 URI 的创建或完整替换
PATCH 不笼统标为幂等,按补丁格式和操作判断
状态码 正确区分 401 认证与 403 授权语义
重定向 说明 303、307、308 的方法处理差异

结构与状态码见 HTTP 消息,方法语义见 HTTP 方法。

认证、授权与缓存

检查项 通过标准
HTTPS 敏感请求通过 HTTPS,但不宣称 HTTPS 能解决越权或 XSS
认证 验证身份、凭据过期、撤销和会话生命周期
授权 检查功能、对象和字段权限,不依赖前端隐藏
CSRF Cookie 会话的状态修改请求有适当防护
CORS 只描述为浏览器跨源读取策略,不称为认证机制
私有缓存 用户数据不会被共享缓存错误复用
指令语义 区分 no-cache 的重验证与 no-store 的不存储
缓存变体 Vary、内容协商、Cookie 和认证上下文处理明确

Markdown 与代码示例

检查项 通过标准
围栏 每个三反引号围栏成对闭合
语言标记 代码块使用 html、http、js、text 等合适标记
示例完整性 省略内容不会改变示例所声称的语义
安全示例 不把不可信输入拼入 HTML、URL、SQL 或命令
占位域名 使用 example.com 等保留示例域名
行宽与表格 源码可读,表格分隔行列数一致

发布前验证

  • 运行站点构建或 Markdown 检查器,确认没有解析错误。
  • 检查所有相对链接和标题锚点,确认目标存在。
  • 统计代码围栏数量,奇数通常表示缺少闭合围栏。
  • 在窄屏查看宽表格是否可滚动或仍可阅读。
  • 用浏览器开发者工具确认最终 DOM、网络状态和字符编码。
  • 对协议、安全和废弃特性声明进行人工复核,不只依赖拼写检查。
  • 查看版本控制差异,确认只修改任务允许的文件。

完成检查后,参考页应能快速检索,也应明确现代默认值、历史边界和例外条件。