参考回答:
首先html5为了更好的实践web语义化,增加了header,footer,nav,aside,section等语义化标签,在表单方面,为了增强表单,为input增加了color,email,date,range,number等类型,在存储方面,提供了sessionStorage,localStorage,和离线存储manifest,通过这些存储方式方便数据在客户端的存储和获取,在多媒体方面规定了音频和视频元素audio和vedio,另外还有地理定位,canvas画布,拖放,多线程编程的web worker和webSocket协议

h5新特性:
①语义化标签:header、footer、section、nav、aside、article
②音频视频:audio、video

③canvas画布

④localStorage - 没有时间限制的数据存储;sessionStorage - 针对一个 session 的数据存储,当用户关闭浏览器窗口后,数据会被删除

⑤websocket:单个 TCP 连接上进行全双工通讯的协议,WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。经过tcp连接三次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

⑥input 新增的type属性:
h5之前常见有:button,file,submit,checkbox,image,password
h5新增:data,color,email,url,search

⑦h5新增表单属性:
autofocus 属性规定在页面加载时,域自动地获得焦点。
height 和 width 属性规定用于 image 类型的 input 标签的图像高度和宽度。
max 属性规定输入域所允许的最大值。
min 属性规定输入域所允许的最小值。
step 属性为输入域规定合法的数字间隔(如果 step=“3”,则合法的数是 -3,0,3,6 等)
multiple规定 input 元素中可选择多个值
placehoder简短的提示在用户输入值前会显示在输入域上。即我们常见的输入框默认提示,在用户输入后消失

⑧h5新事件:
onresize 当调整窗口大小时运行脚本
ondrag 当拖动元素时运行脚本
onscroll 当滚动元素滚动元素的滚动条时运行脚本
onmousewheel 当转动鼠标滚轮时运行脚本
onerror 当错误发生时运行脚本
onplay 当媒介数据将要开始播放时运行脚本
onpause 当媒介数据暂停时运行脚本