TODO:
* track changes to HTML5 spec
