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、网络状态和字符编码。
- 对协议、安全和废弃特性声明进行人工复核,不只依赖拼写检查。
- 查看版本控制差异,确认只修改任务允许的文件。
完成检查后,参考页应能快速检索,也应明确现代默认值、历史边界和例外条件。