前言 1
第1章基本语法和语义 11
1.0简介 11
1.1指定DOCTYPE 11
1.2指定字符集 12
1.3指定语言 14
1.4优化<script>和〈link> 14
1.5使用HTML5的新元素添加文档结构 15
1.6在〈article>和<section>之间选择 19
1.7查看文档纲要 21
1.8修改文档纲要 24
1.9强调文本 25
1.10增强文本的重要性 26
1.11突出显示表示引用的文本 27
1.12标记附属规则 28
1.13定义缩略语与缩写 29
1.14给块级内容添加链接 30
1.15标记图和图题 31
1.16标记日期和时间 32
1.17设置本地扩展和折叠功能 34
1.18控制列表的编号 36
1.19隐藏内容以稍后显示 38
1.20让页面的一部分可编辑 39
1.21设置本地拖放 40
第2章增强性标记和技术 42
2.0简介 42
2.1添加更多的语义含义 42
2.2选取标记样式 44
2.3理解浏览器对HTML5的支持 45
2.4让IE识别HTML5元素 46
2.5使用JavaScript检测HTML5功能 49
2.6使用HTML5 Boilerplate 55
2.7验证HTML5 58
2.8将HTML5元素映射到id和class名 61
第3章表单 66
3.0简介 66
3.1显示一个搜索输入字段 66
3.2联系信息输入字段 69
3.3使用日期和时间输入字段 73
3.4数字输入 77
3.5从一个数字范围选取 80
3.6选择颜色 82
3.7创建可编辑的下拉列表 84
3.8要求必须填写一个表单字段 87
3.9自动聚焦一个表单字段 90
3.10显示占位符文本 91
3.11关闭自动填充 93
3.12限定输入值 94
3.13让HTML5在旧的浏览器中工作 97
3.14在旧浏览器中使用JavaScript验证表单数据 101
3.15示例:示例表单 102
第4章本地音频 105
4.0简介 105
4.1添加HTML5音频 105
4.2操作音频流 110
4.3使用JavaScript生成音频 112
4.4使用canvas可视化音频 113
4.5示例设计:定制音频播放器 117
第5章本地视频 123
5.0简介 123
5.1添加HTML5视频 123
5.2确保多个浏览器视频支持 127
5.3设置视频尺寸 129
5.4在视频播放前显示一个占位符图像 130
5.5让视频循环 131
5.6示例设计:使用canvas操作视频 132
第6章微数据和定制数据 137
6.0简介 137
6.1给标记添加微数据 138
6.2使用微数据和Schema.org 139
6.3给标记添加定制数据 141
6.4使用JavaScript访问定制数据 142
6.5操作定制数据 144
6.6示例:使用定制数据创建一个地图应用 146
第7章可访问性 149
7.0简介 149
7.1编写合适的ALT文本说明 151
7.2识别缩写和缩略语 154
7.3在页面中使用ARIA Landmark角色 156
7.4创建更具可访问性的导航链接 159
7.5将表单字段及其标签关联起来 161
7.6按逻辑组织表单字段 162
7.7动态地打开fieldset 164
7.8识别必需的表单字段 165
7.9当动态内容更新的时候使用ARIA Live Regions声明 167
第8章GeoLocation 170
8.0简介 170
8.1获取基本的GeoLocation数据 170
8.2获取带有备用的基本GeoLocation数据 173
8.3用纬度和经度逆向Geocoding以得到一个地址 176
8.4将地址转换为纬度和经度 179
8.5从当前位置的方向指示 181
8.6示例:从星巴克到星巴克 187
第9章Canvas 193
9.0简介 193
9.1在canvas上绘制 194
9.2使用透明度 199
9.3设置canvas大小 203
9.4创建渐变 204
9.5将外部图像放入到canvas绘制中 208
9.6设置颜色变换 211
9.7使用几何变换 213
9.8在canvas上放置文本 217
9.9裁剪canvas绘制 218
9.10让canvas绘制实现动画 219
9.11用〈canvas>绘制图形 223
9.12将canvas绘制保存到一个文件 226
第10章高级HTML5 JavaScript 228
10.0简介 228
10.1本地存储 229
10.2应用程序缓存 232
10.3拖放 236
10.4 Web Workers 241
10.5 Web Sockets 246
10.6历史 249
10.7本地文件 253
附录HTML5资源 257