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.
The aims of HTML5 were to tackle all the crap people never fixed in the past and to add stuff that is missing. It is not one big thing but lots of features and APIs and many separate specifications. It makes it easy to detect browser support and most things in IE are fixable in JavaScript. It is fully backwards compatible; it handles older browser features sensibly and HTML4 markup is treated sensibly.
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
charset metadata
semantic markup
<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 rel
attributes
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].
Modernizer: JavaScript library β detects virtually all HTML5 stuff.
IE7.js handles CSS in IE; now IE9.js allows proper CSS in IE.
video: no agreement yet on codec β use ogg with fallback, e.g. Flash
<canvas width= height= id= > then use JavaScript to draw = replacement for 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), spellcheck=false
All browsers will handle rubbish consistently.
Useful websites: Wikipedia on HTML5 and CSS, Living Validator, Dive into HTML5,
Past Meetings