CURSO HTML5

Compatibilidad con browsers viejunos (IE family)

HTML5 mola! (CSS3 rotate?)

Compatibilidad con IE: html5shim | html5shiv

html5shim y html5shiv son los nombres con los que se conoce a la misma biblioteca de scripts que permite a versiones anteriores a IExplorer 9, es decir IE7 e IE8, interpretar los nuevos elementos HTML5.
La forma de aplicar estas librerías es mediante escritura condicional de elementos en el encabezado de las páginas:

									
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

Ya podemos escribir HTML5 compatible con IE6+

Detección de funcionalidades: Modernizr

Modernizr es una biblioteca de scripts que permite detectar implementaciones nativas de las nuevas funcionalidades HTML5 y CSS3 en cada navegador.
Modernizr no añade o emula funcionalidades, sino que se limita a detectar si están disponibles/implementadas en el browser en el que corre.
Modernizr nos dice si una funcionalidad determinada está disponible en un browser concreto. Modernizr analiza la propiedad user agent y, complementariamente, realiza test de detección de funcionalidades.
Modernizr analiza algo más de 20 nuevas funcionalidades, apartir de las cuales establece propiedades booleanas en un objeto javascript llamado Modernizr. El objeto Modernizr se crea automáticamente, sin necesidad de llamar a ninguna función, con solo haber vinculado la biblioteca al elemento head de nuestra página.

									
<head>
	<script src="modernizr.js" type="text/javascript"></script>
</head>
Además, Modernizr añade clases al elemento html de nuestra página, lo que nos permite escribiir declaraciones CSS condicionadas a la presencia de dichas clases:

Plantillas multibrowser: el trabajo ya está hecho

HTML5*Boilerplate (H5BP)

initializr

Una evolución que emplea H5BP para ofrecer un selector de características -simplificado- para generar la plantilla de un proyecto. Mucho mejor que explicarlo es visitar la página, que se explica por sí misma al primer golpe de vista.