将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
必须用https://validator.w3.org/nu/,因新版支持html5全量语法(如),旧版会误标为错误;粘贴需含完整和结构,否则报missing doctype;url验证需页面可访问且无csp/403拦截。

必须用 https://validator.w3.org/nu/,旧版验证器会把 <dialog></dialog>、<template></template> 等合法 HTML5 元素标为错误,不是你写错了,是工具过时了。
为什么直接粘贴代码总报“missing DOCTYPE”或“no root element”
W3C Nu 验证器要求输入的是完整、可独立解析的 HTML 文档,不是片段。常见误操作包括:
- 只粘贴
里的内容,漏掉、<code>、 - 复制时带了编辑器的行号或注释块(比如 VS Code 的「//」开头注释),导致
/code> 被截断或识别失败 - 用了单引号包裹属性值(如
class='header'),虽然浏览器能渲染,但新版验证器默认只接受双引号 —— 这属于警告(Warning),不是错误(Error),可忽略或统一改用class="header"
验证远程 URL 时没报错,但页面其实有 DOM 结构问题
W3C Validator 检查的是服务器返回的原始 HTML 字符串,不执行 JS,也不看浏览器最终渲染的 DOM。所以以下情况它完全看不到:
-
document.createElement('div')动态插入的节点 -
innerHTML替换后产生的嵌套错乱(比如把<div> 塞进 <code><p></p>里) - 浏览器自动纠错后的结构(Chrome 会把
<p></p> <div> 拆成 <code><p></p> <div></div>,源码和 DOM 已不一致)这类问题得靠 Chrome DevTools 的 Elements 面板:展开后看缩进是否断裂、节点是否变灰色斜体、右下角显示的
display是否异常。遇到 “Bad value X for attribute Y” 类错误怎么快速定位
这是最常被误解的一类提示,本质是 HTML 属性值不符合规范定义,不是拼写错误。典型场景:
-
role="button"合法,但status="loading"不合法 → 必须改成data-status="loading" -
href="javascript:void(0)"被标为 Bad value → 改用href="#"+event.preventDefault(),或直接用button元素 -
type="text/css"在<style></style>上已废弃 → 直接删掉该属性
关键判断依据:W3C 官方 HTML 规范中,每个全局/元素专属属性都明确定义了允许的值类型。不确定时,查 WHATWG HTML Living Standard 比猜更快。
真正难处理的不是报错本身,而是那些没报错却让屏幕阅读器崩溃、SEO 抓取失败、或在 Safari 旧版里直接白屏的结构问题 —— 它们往往藏在合法但语义错位的标签组合里,比如把
<h2></h2>放在<footer></footer>外面,或用<div role="navigation"> 代替原生 <code><nav></nav>。这些 W3C Validator 看不见,也别指望它看见。 -










