A quoi correspondent les tailles en pourcentage dans les feuilles de style ?

Rappelons qu'on peut choisir une taille de texte en pourcentage dans une feuille de style :
<style>
  P {font-family:verdana,arial,helvetica,sans-serif;
	   font-size: 92%  // etc...
		 }
</style> 
Le grand avantage des % (ou des em ou ex) par rapport à une taille explicite en pixels, est que l'utilisateur garde la liberté d'agrandir la taille des caractères à son gré s'il n'a pas une bonne vision — et si son navigateur le lui permet.

Mais sur quelle base sont pris ces % ? Est-on certain qu'on part de la taille par défaut de 16 pixels ou autres avant d'appliquer le pourcentage, et comment fait-on les arrondis ? Comme la plupart des auteurs ont un souci légitime que leurs pages soient vues partout (à peu près) de la même manière, il est naturel de se poser de telles questions.

Nous nous sommes heurtés à cette question quand nous avons voulu passer nos Réponses sous feuille de style. Nous nous sommes livrés à une enquête sur le terrain, dont les principaux résultats sont résumés dans la figure suivante :
effets des tailles en % Les 3 cadres correspondent à deux tailles par défaut (16 ou 14 px) et à des couples navigateur/système d'exploitation différents ; 4 polices différentes ont été étudiées (Times New Roman, Verdana, Arial et Helvetica). Les % se lisent en abscisse. Dans les trois chiffres portés dans les cases de couleur, le premier (en italiques) donne la taille équivalente en pixels pour les caractères ainsi obtenus, le deuxième la taille de l'oeil et le troisième la hauteur totale des caractères.

Pour la signification des couleurs, on retiendra seulement que les cases rouges sont très déconseillées. Elles correspondant à un oeil de 5 pixel et donc à des caractères nettement difficiles à lire. Les cases oranges correspondent simplement à des gros caractères (oeil de 9 pixels), qui nous avaient parus trop gros pour notre problème particulier de Réponses.

Revenons à notre question initiale sur la signification des tailles en %. Si le pourcentage s'appliquait à la taille par défaut avec une règle d'arrondi à l'entier le plus proche, on aurait les résultats suivants:

Défaut : 16 px Défaut : 14 px
16 px entre 100% et 96,9%
15 px entre 96,8% et 90,7%
14 px entre 90,6% et 84,4%
14 px entre 100% et 96,5%
13 px entre 96,4% et 89,3%
12 px entre 89,2% et 82,2%

Il est clair que seul IE5-windows et NN4.7-unix (dans notre enquête) se conforment à peu près à cette règle. On a l'impression que IE5-mac applique plutôt une règle d'arrondi à l'entier immédiatement inférieur. Surtout on notera le comportement nettement aberrant de NN4.7-mac ou windows, pour qui 100% donne une taille plus grande que la taille par défaut (jusqu'à 3 px de plus !!!), ce qui obligera généralement à prévoir des feuilles de style séparées, l'une pour NN4x et l'autre pour les autres navigateurs.

Charles