David Fisher and Jeff introduced HTML5, saying that it was estimated that HTML5 will only receive full approval in 2022 because W3C standards now require full compliance from two browsers.
Many of the new features are already in Firefox, Safari, Opera, Chrome, IE9, e.g. canvas, video, geolocation, local storage, microdata. It’s here for good, XHTML2 was killed in October 2009.
fix what is broken – inconsistent error handling
add what is missing – semantics → lots of new tags, multimedia, application support.
doctype <!DOCTYPE html> puts all browsers in standards mode
simple root language <html lang= "en"> works in all browsers
<body> <header> ... </header> <nav> ... </nav> <article> <section> ... </section> <section> ... </section> </article> <aside> ... </aside> <footer> ... </footer> </body>
HTML page: n.b. to remove a whole page: take out <article>…</article>
rel attributes can be simpler, e.g. archive, icon, sidebar – registry of permitted
Sub-sectioning: clarifies section levels – also headings within sections
<section> <hl>\level 1\,/hl> <section> <hl>\level 2</hl> <section> <hl>level 3</hl> </section> </section> </section>
The choice of reserved words was based on popularity and genericism.
lots of formats, pubtime option [since removed].
video: no agreement yet on codec – use ogg with fallback, e.g. Flash
context to define style of canvas; can copy one image to another canvas → animation
Form input types: url, email, datetime, datetime-local, date, month …
manifest: files cached for use offline
sessionStorage, eg. cookies
localStorage, e.g. large chunks of data
databases – n.b. given up on SQL
contenteditable=WYSIWYG, geolocation, autocomplete, esp.
autocomplete=off(for bank accounts),
All browsers will handle rubbish consistently.