HTML 学习路线 MOC

从零基础到可独立交付语义化、可访问、可表单交互的 HTML 结构能力:五阶段、依赖关系、逐篇目录与完成标准。

#type / moc #type / synthesis #status / growing #tech / dev #tech / dev / frontend #resource / html

[!info] related notes

HTML 学习路线 MOC

这个概念为什么出现

把 HTML 当成“标签背诵表”会制造假进度:会写 div 墙却不懂文档大纲,会塞 ARIA 却破坏原生语义,会画表单却不会校验与可访问提交。本路线把「从零到可交付页面结构」拆成五个阶段。

[!abstract] 路线结论 先建立“文档与语义大纲”的心智,再学链接/媒体/表格等内容模型,随后进入表单与交互控件;可访问性不是附录,应与语义同步学,最后把脚本加载、SEO 元信息与工程结构接上 CSS/JS。

整条路线围绕五个问题:

  1. 为什么语义标签优先于无意义容器
  2. 内容模型与嵌套规则如何约束结构
  3. 表单如何同时服务用户、浏览器校验与服务端
  4. ARIA 何时补充、何时不该覆盖原生语义
  5. 脚本与资源如何进入文档而不破坏解析与性能

如何使用这份路线

场景做法
从零开始按阶段顺序读;每篇用浏览器验证结构与可访问性树
已有前端经验可加速标签列表,但不要跳过语义、表单与 a11y
只抓主干看文末主干主题与 0 到 1 完成标准

难度标记

  • L1 入门 · L2 基础巩固 · L3 核心心智 · L4 工程/可访问

依赖关系总图

flowchart TD
    S1["阶段一 文档与语义"] --> S2["阶段二 内容与媒体"]
    S2 --> S3["阶段三 表单与控件"]
    S1 --> S4["阶段四 可访问性"]
    S3 --> S4
    S4 --> S5["阶段五 工程与协作"]
    S2 --> S5

阶段与子 MOC 对照

阶段目标主要子 MOC
文档骨架、语义分区、大纲HTML 文档与语义 MOC
链接、图片、多媒体、表格HTML 文档与语义 MOC · HTML 表单与媒体 MOC
表单控件、校验、提交HTML 表单与媒体 MOC
可访问性与 ARIA 边界HTML 可访问性 MOC
脚本加载、元信息、与 CSS/JS 协作HTML MOC · 前端基础 MOC

阶段一:文档与语义

目标:能写出合法文档骨架,并用语义分区表达页面大纲。

完成标准

  • 能手写最小 HTML5 文档并在浏览器打开
  • 能用 header/nav/main/article/section/footer 表达结构
  • 能说明为何不要只用 div 堆页面
序号笔记核心问题难度源码
1.1HTMLHTML 是什么、边界在哪L1
1.2HTML 文档结构doctype、html/head/body 如何协作L1
1.3HTML 语义化元素语义标签解决什么L2
1.4HTML 内容模型哪些元素能嵌套哪些L3建议
1.5HTML 基础知识完全指南初学者系统入口(综合)L1

阶段二:内容、链接与媒体

目标:能正确表达链接、图片、多媒体与表格数据。

完成标准

  • 能区分 srchref 的语义
  • 能为图片提供有意义的 alt
  • 能用表格表达二维数据而不是布局
序号笔记核心问题难度源码
2.1src 与 href资源引用与超链接差异L1
2.2HTML 图片与媒体img/picture/video/audio 边界L2
2.3HTML 表格表格结构与可访问表头L2
2.4HTML 零散技巧常见陷阱与技巧L2
2.5SVG 使用矢量图如何嵌入L2

阶段三:表单与控件

目标:能构建可提交、可校验、可标注的表单。

完成标准

  • 能用 label 正确关联控件
  • 能使用原生校验属性并理解局限
  • 知道何时需要 JS 增强而不破坏无 JS 可用性
序号笔记核心问题难度源码
3.1HTML 表单form 如何组织提交L2
3.2表单控件与校验input 类型与原生校验L3
3.3CSS 表单样式控件样式边界(协作)L2
3.4前端表单提交状态提交中/成功/失败状态L3

阶段四:可访问性

目标:让结构对键盘与辅助技术可用。

完成标准

  • 能解释“优先原生语义,再补 ARIA”
  • 能给图标按钮提供可访问名
  • 能用无障碍树检查基础问题
序号笔记核心问题难度源码
4.1HTML 可访问性基础a11y 主线是什么L3建议
4.2ARIAARIA 何时用、何时不用L3建议
4.3语义化元素原生语义优先L2

阶段五:工程与协作

目标:把 HTML 接到脚本、样式与构建流程。

完成标准

  • 能说明 script 位置与 defer/async 差异
  • 能配置基础 meta 与 SEO/社交标签意识
  • 知道 HTML 如何与 CSS/JS 路线衔接
序号笔记核心问题难度源码
5.1HTML 中的 JS 脚本脚本如何加载L2
5.2HTML 元信息与 SEO 基础head 元数据职责L2
5.3CSS 学习路线样式主线L2
5.4JavaScript 学习路线行为主线L2
5.5前端基础 MOC综合入口L1

如果只抓主干,优先这 6 个主题

  1. 文档结构
  2. 语义化元素
  3. 表单
  4. 可访问性基础
  5. ARIA 边界
  6. 脚本加载

0 到 1 的完成标准

  • 能写语义化着陆页结构,而不是纯 div
  • 能完成带 label 与原生校验的表单
  • 能解释 ARIA 不替代原生语义
  • 能正确放置脚本并理解 defer
  • 能在无障碍树中找到标题与地标

认知跳跃提醒

  1. 未理解语义就堆 ARIA → 先 1.3 / 4.1
  2. 未理解表单就上复杂组件库 → 先 3.1 / 3.2
  3. 未理解文档结构就谈 SEO → 先 1.2 / 5.2

相关入口

自测题

  1. 为什么可访问性不是最后一章选修?
  2. div + role=button<button> 的优先顺序?
答案
  1. 语义与控件设计从一开始就决定键盘与辅助技术体验,事后补洞成本更高。
  2. 优先原生 <button>;只有无法使用原生元素时才用 ARIA 修补。
创建于 2026/7/15 更新于 2026/7/15