Modernizr é usado para verificar a disponibilidade dos recursos HTML5 em diferentes mecanismos de renderização. Ele inclui um script como Html5Shiv, que (apenas) habilita as tags HTML5 no Microsoft Internet Explorer (anterior à versão 9, que conhecia o HTML5). Veja também "Como fazer o HTML5 funcionar no IE e Firefox 2" .
Se você deseja ativar apenas o HTML5 para o IE <9, o Html5Shiv seria suficiente. Estou usando a versão Html5Shiv de Remy Sharp dentro de um comentário condicional da MS:
<!--[if lte IE 8]>
<script src="templates/js/html5.js"></script>
<![endif]-->
Se você também deseja verificar (via CSS ou JS), se o navegador do cliente é capaz, por exemplo , de elementos de formulário HTML5 (como entrada de data das óperas), colunas ou gradientes CSS3, use Modernizr .
Sei que isso já faz um tempo, mas achei que deveria acrescentar que o modernizr não parece polifill elementos HTML5 carregados via AJAX - ele funciona apenas no conteúdo presente no carregamento inicial da página. O Html5Shiv funciona no conteúdo carregado via AJAX, mas também é apenas um pequeno subconjunto do conjunto de recursos do modernizr. Na verdade, estamos usando os dois no aplicativo da web em que estou trabalhando.
fonte