Internet Explorer 9 : les standards sont-ils supportés ?
Le point sur la prise en charge de HTML5, CSS3 et JavaScript par la nouvelle version du navigateur de Microsoft. Comparatif avec Chrome, Firefox, Opera et Safari.
Une accélération matérielle proche des performances de Chrome 10 et Firefox 4 est certainement une des innovations majeures d'Internet Explorer 9. Elle est mise à contribution via DirectX pour les animations graphiques, SVG, Canvas et pour la vidéo.
Le nouveau moteur JavaScript embarqué, et baptisé Chakra, est destiné à augmenter la réactivité des applications Web, avec un support DOM plus évolué. Les outils pour développeurs (accessibles par la touche F12) sont toujours de la partie, inspirés par Firebug et Dragonfly (Opera).
Microsoft adopte une approche très marketing pour faire la promotion de son nouveau navigateur. Le guide produit affirme même que les sites semblent plus beau dans cette nouvelle interface. Depuis plusieurs mois, des sites dédiés vantent les mérites d'IE9 en vidéo, ainsi qu'avec de nombreuses démonstrations de support HTML5, CSS3, JavaScript... qui sont controversées. En effet, ces langages sont très modulaires, et ne sont en aucun cas supportés dans leur intégralité par IE9. Paul Rouget en témoignait déjà le 15 février 2011 avec la page Is IE9 a modern browser?.
Manques
À la date de sa sortie, le navigateur reste en-deçà de ses concurrents. Certes, de nouvelles balises HTML très en vue sont adoptées, telles que <canvas>, <audio>, <video>, mais la plupart des API qui sont pourtant au cœur des applications Web sont ignorées.
Ne sont notamment pas à l'ordre du jour :
Offline Web Applications
File API
Web Workers
IndexedDB
Web Notifications
Web Sockets
History API
Server Sent Events
XMLHttpRequest 2
WebGL (Canvas 3D)
MathML
SVG Fonts
HTML5 Forms, <progress> et <meter>
<datalist>, <details> et <summary>
Le développement d'applications riches (ou RIA) en est pénalisé. Parmi ces API, certaines ne sont pas encore finalisées et voient encore des modifications apportées par les groupes de travail HTML du WhatWG et du W3C. Pourtant, les autres navigateurs ont fait le choix d'anticiper, d'innover, quitte à suivre cette évolution de près et d'apporter des correctifs rapides via les mises à jour automatiques.
Du côté de CSS3, font défaut, entre autres :
CSS3 Gradients
CSS3 Transitions
CSS3 Animations
CSS3 3D Transforms
CSS3 Text-shadow
CSS3 Border-image
CSS3 Initial Values
Pseudo-classes absentes : :default :valid :invalid :in-range :out-of-range :required :optional :read-only :read-write ::before ::after ::first-letter ::first-line ::value ::choices ::repeat-item ::repeat-index.
Ajouts notables
Réjouissons nous cependant pour les apports suivants :
<canvas> et l'API Text
<video> (conteneur MP4, codec vidéo H.264, codec audio MP3 ou AAC - ni WebM* ni Ogg/Theora)
<audio>
Sections (<section>, <article>, <nav>, <header>, <footer>, <figure>, <figcaption>, <aside>, <hgroup>)
DOM Level 2 et 3 (partiellement, y compris getElementsByClassName)
SVG Basic (dont SVG dans CSS et <img>)
API Géolocalisation
Polices WOFF
ECMAScript 5 pour l'implémentation de JavaScript
En zoomant sur CSS3 :
CSS3 Border-Radius
CSS3 Media Queries
CSS3 Selectors
CSS3 Color
CSS3 Fonts
CSS3 Namespaces
CSS3 Values and Units avec calc()
CSS3 2D Transforms
CSS3 Box-shadow
CSS3 Multiple Backgrounds
CSS3 Backgrounds (background-clip, background-origin, background-size)
Pseudo-classes présentes : :root :nth-child(n) :nth-last-child() :nth-of-type() :nth-last-of-type() :last-child :first-of-type :last-of-type :only-child :only-of-type :empty :target :not() :enabled :disabled :checked :indeterminate ::selection:before :after
* de base, les codecs WebM ne sont pas inclus, mais il est possible de les utiliser si VP8 est installé, par exemple avec le plug-in WebM développé par Google pour IE9.
Quelques tests
De nombreux "tests" existent sur Internet, pour effectuer un bilan total des fonctionnalités ou des performances d'exécution. Ils sont plus ou moins représentatifs, car ne représentent pas toujours une situation réelle. Néanmoins, ils peuvent donner une petite idée de l'avancement réalisé. Ci-dessous suivent les verdicts pour IE8 et IE9 ainsi que les précisions pour Chrome 10, Opera 11.01, Safari 5.0.3 et Firefox 3.6 + 4.0 beta12 (le tout sur PC et Windows 7).
Acid3 (HTML, DOM et CSS) | HTML5Test (balises et API) | |
---|---|---|
Source : Alsacreations | ||
Internet Explorer 9 | 95/100 | 130 + 5 bonus |
Internet Explorer 8 | 20/100 | 32 |
Chrome 10 | 100/100 | 288 + 13 bonus |
Opera 11 | 100/100 | 234 + 7 bonus |
Firefox 4 beta | 97/100 | 255 + 9 bonus |
Safari 5 | 100/100 | 228 + 7 bonus |
Extrait d'un article réalisé par dew (Alsacréations, Strasbourg) sous licence Creative Commons.