# Acid3

Acid3 désigne un test pour navigateur web mis en place par le groupe Web Standards Project et écrit par Ian Hickson en 2008. Il est destiné à soumettre les moteurs de rendu à une série de tests vérifiant leur capacité à supporter un choix de fonctionnalités relevant de différents standards du Web. Il est ainsi nommé à l'image des tests Acid2 (2005) et Acid1 (1998).
Une mise à jour du test publiée le 17 septembre 2011 pour tenir compte des modifications intervenues dans les spécifications utiles du Web permet de constater que la plupart des navigateurs à cette date réussissent le test (sauf en ce qui concerne le critère méconnu de fluidité du test).
La prochaine version (Acid4) se focalisera sur la bonne implémentation de SVG et CSS 3.

## Description du test

Pour passer le test, un navigateur doit, avec ses réglages par défaut, faire le rendu fluide d'une animation dont l'image finale doit correspondre exactement à une image de référence, avec un score de 100/100. Pour cela, le navigateur doit implémenter correctement certains aspects du DOM2, d'ECMAScript, des CSS, du SVG, du XML et des URI. Le test Acid3 n'est donc pas un test de conformité global à ces spécifications, comme le sont en revanche les tests suites du W3C.
La version officielle du test est publiée le 3 mars 2008 par le Web Standards Project, après avoir été élaborée principalement par Ian Hickson et complétée au terme d'une compétition ouverte aux développeurs. Le test n'est cependant alors pas encore documenté et reste sujet à corrections, compte tenu de sa complexité.

### Les technologies testées

* HTML 4 (object, iframe, …)
* XHTML 1.0
* ECMAScript
* HTTP (Content-Type, 404, …)
* URIs
* DOM
** DOM2 Core
** DOM2 Events
** DOM2 HTML
** DOM2 Range
** DOM2 Style (getComputedStyle, …)
** DOM2 Traversal (NodeIterator, TreeWalker)
** DOM2 Views (defaultView)
* CSS
** CSS2.1 (inline-block, pre-wrap, parsing…)
** la propriété @font-face du module CSS3 Web fonts permettant l'emploi de polices de caractères téléchargeables. Ce module est en 2008 encore au stade de document de travail du W3C, et non de recommandation. Håkon Wium Lie, créateur historique des Feuilles de style en cascade, soulignait dès 2007 l'importance cruciale à ses yeux de cette avancée
** CSS3 Color (rgba, hsla, …)
** CSS3 UI (cursor)
** CSS Media Queries
** CSS Selectors (:lang, :nth-child, combinators, dynamic changes, …)
* SVG
** SVG Animation
** SVG Fonts

## Impact sur le développement des navigateurs

Le test Acid3 a suscité rapidement l'intérêt de la part des développeurs ou des communautés associées à certains navigateurs. Lors de sa publication officielle en mars 2008, Ian Hickson soulignait la réactivité remarquable à ses yeux de WebKit, qui a entrepris des corrections significatives avant même que le test ne soit finalisé. Des suivis de bugs spécifiques ont été ouverts dès janvier et février 2008 pour Konqueror, Firefox et Safari. Dès la fin mars 2008, WebKit et Opera annoncent simultanément que leurs versions en développement réussissent l'essentiel du test.
Début 2008, aucune version finale de navigateur ne passe le test avec succès, chaque test individuel ayant été sélectionné spécifiquement pour son échec dans les versions de Firefox et de WebKit en développement en janvier 2008. À cet égard, Acid3 est l'objet de critiques de la part de Mike Shaver, l'un des fondateurs du projet Mozilla, pour qui: « à la différence de ses prédécesseurs, Acid3 ne vise pas à établir un socle des fonctionnalités utiles pour le Web. Il s'agit explicitement de faire faire un bond en avant aux développeurs […] Mais les tests Acid ne devraient pas améliorer les navigateurs, ils devraient améliorer le Web ; ils devraient être fondés sur les progrès apportés au Web par les navigateurs qui s'y conformeraient, et non sur l'ampleur des progrès que les navigateurs doivent accomplir pour s'y conformer ».
Enfin, la publication du test Acid3 intervient alors que les principaux navigateurs s'apprêtent à finaliser de nouvelles versions majeures (Firefox 3, Internet Explorer 8), dont la stabilité et la qualité risqueraient d'être remises en cause par de nouvelles intégrations trop hâtives. C'est pourquoi, par exemple, la prise en compte d'Acid3 ne devrait concerner que les versions ultérieures de ces navigateurs. Les résultats précis du test Acid3 dans les divers navigateurs ne peuvent donc s'évaluer qu'à plus long terme.

## Résultats des principaux navigateurs

Progression des principaux moteurs de rendu pour le test Acid3 :
| Moteur de rendu | Navigateurs principaux | Autres navigateurs utilisant le moteur de rendu | Version stable du navigateur principal à la sortie du test Acid3 | Première version stable du navigateur principal à réussir le test Acid3 | Notes |
| Gecko | Firefox | Flock, IceCat, Iceweasel, Kazehakase, K-Meleon, SeaMonkey, Orca Browser | 52/10052/100 Firefox 2.0.0.12 | 100/100 Firefox 7.0 | $^,$ |
| Trident | Internet Explorer | AOL Explorer, Avant Browser, Maxthon | 14/10014/100 IE 7.0 | 100/100 IE 9.0 | $^,$$^,$ |
| WebKit | Safari | Midori, ABrowse, Arora, Epiphany, iCab, Midori, OmniWeb, Rekonq, Shiira, SWK Browser, Vespucci, Qt | 41/10041/100 Safari 3.0.4 | 100/100 Safari 4.0 | $^,$$^,$$^,$ |
| Blink | Google Chrome (était basé sur le moteur de rendu WebKit, avant de passer à Blink en 2013) | | Non connue | 100/100 Google Chrome 2.0 | $^,$$^,$$^,$ |
| Blink | Opera (était basé sur le moteur de rendu Presto, avant de passer à Blink en 2013) | | 46/10046/100 Opera 9.25 | 100/100 Opera 10.0 | |

### Navigateurs pour mobile

Progression des principaux moteurs de rendu destinés aux mobiles pour le test Acid3 :
| Moteur de rendu | Navigateurs Web | Version stable du navigateur principal à la sortie du test Acid3 | Première version stable du navigateur principal à réussir le test Acid3 |
| WebKit | MobileSafari | 40/10040/100 Mobile Safari 3.0 iOS 1.1.4 | 100/100 iOS 3 |
| WebKit | Android | Non connue | 100/100 Android 3.0 |
| Presto | Opera Mini | 98/10098/100 Opera Mini 4.2 | Échec : 97/100 Opera Mini 7.6.4 (Android) Opera Mini 9.1.0 (iOS) |
| Presto | Opera Mobile | 2/1002/100 Opera Mobile 8.65 | 100/100 Opera Mobile 10 |
| Trident | IE Mobile | 6/100 IE Mobile 6 | 100/100 IE Mobile 8 |