Es gibt ein paar wenige Dinge, die in HTML5 definiert werden und schon jetzt benutzt werden können, z.B. audio- und video-Elemente (wobei die dank des Codes-Streits eher einer Todgeburt gleichen), das canvas-Element (scheint sehr beliebt zu sein)...
Mehr fällt mir ehrlichgesagt nicht ein.
Naja, ich würde noch die neuen Werte fürs type-Attribut in die Liste aufnehmen (beim input-Element). Das Fallback ist klar formuliert und serverseitige Prüfung findet eh statt, so dass man in dem Rahmen auch "anders geformte" Eingaben parsen kann.
Problematisch sind wie angesprochen eben die neuen ich nenne sie mal semantischen Elemente wie das genannte <article> oder <nav> oder gibts nicht noch n <footer>?
Allerdings sind die auch nur problematisch wenn man den IE bedienen will, was nicht in jedem Kontext (wohl aber in den meisten kommerziellen) der Fall ist. Ich kenne auch den ein oder anderen Dienst, der auf der Startseite stehen hat, dass er nur mit "modernen Browsern" funktioniert und dann fünf aufzählt.
Conditional Comments in der Art:
<!--[if lte IE 8]><div class="article"><![endif]-->
<!--[if gt IE 8]><!--><article class="article"><!--<![endif]-->
foo
<!--[if lte IE 8]></div><![endif]-->
<!--[if gt IE 8]><!--></article><!--<![endif]-->
> >
> > Styling dann eben über `.article`{:.language-css} anstelle von `article`{:.language-css}.
Im Sinne der Übersichtlichkeit würde ich die IE-Elemente einfach in (oder um) die HTML5-Elemente legen, so dass scheinbar eine Baumstruktur erhalten bleibt:
~~~html
<!--[if gt IE 8]><!--><article class="article"><!--<![endif]-->
<!--[if lte IE 8]><div class="article"><![endif]-->
foo
<!--[if lte IE 8]></div><![endif]-->
<!--[if gt IE 8]><!--></article><!--<![endif]-->
und dann kann man imho auch darüber nachdenken ob man die CCs nicht (teilweise) weg lässt...
Appropos, was macht der IE-Parser eigentlich aus den schließenden Tags, die er nicht kennt?
wird
<article>foo</article>
zu
<article></article>foo</article><//article>
oder...?
sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(