HTML5 教程与简介¶
学习目标¶
- 理解“HTML5”在历史和现代开发中的含义。
- 能从本目录选择语义、图形、媒体、交互或表单主题继续学习。
- 写出安全、可访问、可渐进增强的现代 HTML 页面。
HTML5 现在指什么¶
HTML5 曾是 HTML 的一个正式版本名称,带来了语义元素、原生音视频、Canvas、 更丰富的表单控件等能力。今天 HTML 不再按 HTML5、HTML6 这样发布离散大版本, 而由 WHATWG 以 HTML Living Standard(现行标准) 持续维护。
因此,“HTML5”仍常被用作现代 HTML 功能的通俗称呼,但开发时应查询现行标准、 MDN 兼容数据和目标浏览器测试结果,而不是把 2014 年的特性清单视为永久边界。
最小可运行页面¶
将下面内容保存为 .html 文件并用浏览器打开:
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>现代 HTML 示例</title>
</head>
<body>
<header><h1>学习 HTML</h1></header>
<main>
<article>
<h2>语义优先</h2>
<p>HTML 描述内容,CSS 控制表现,JavaScript 增强交互。</p>
</article>
</main>
</body>
</html>
<!doctype html> 触发标准模式,lang 帮助读屏与翻译工具,UTF-8 和 viewport
声明则是现代页面的基础。不要依赖脚本生成全部正文,基础内容应在脚本失败时仍可读。
阅读路线¶
- 浏览器支持:能力检测、回退与测试策略。
- 新增与语义元素:页面结构、内容元素和渐进增强。
- Canvas、SVG 与 MathML:图形和数学内容。
- 拖放 与 地理定位:交互、权限和替代方案。
- video 与 audio:媒体、字幕和回退。
- 输入类型、表单元素 与 表单属性:输入体验和验证边界。
兼容与无障碍原则¶
- 先提供能工作的语义 HTML,再用 CSS 和 JavaScript 增强。
- 使用原生元素,不用
div模拟按钮、链接或输入框。 - 对新能力做特性检测,不只根据浏览器名称或版本猜测。
- 确保键盘、触屏、读屏和缩放用户都能完成核心任务。
- Canvas、媒体、拖放和定位必须有文本或传统控件等替代路径。
安全原则¶
- 不把不可信文本直接拼入
innerHTML;优先使用textContent。 - 权限型 API 只在用户明确操作后请求,并解释用途。
- 客户端状态、隐藏字段和约束验证都不能替代服务端验证与授权。
- 外部资源、上传内容和媒体 URL 均应限制来源并使用 HTTPS。
常见错误¶
- 把“HTML5”误认为一个冻结且所有浏览器完全一致的规范包。
- 为追求新标签而忽略语义,或用 ARIA 重造已有原生控件。
- 只在单一桌面浏览器测试,遗漏移动端、键盘和辅助技术。
- 把兼容性回退写成安全降级,导致验证或权限检查被绕过。