Dimensions naturelles truquées par le navigateur si ratio de pixel supérieur à 1 et srcset
Pour établir un diagnostic, Isanalyzer a besoin de connaître les dimensions réelles des images. Ces informations sont exposées par les propriétés naturalWidth et naturalHeight des images grâce à l'API DOM.
Problème :
« La propriété en lecture seule naturalWidth de l'interface HTMLImageElement retourne la largeur intrinsèque (naturelle), corrigée de la densité, de l'image en pixels CSS. »
Source : https://developer.mozilla.org/fr/docs/Web/API/HTMLImageElement/naturalWidth
(ce qui vaut aussi pour la hauteur)
Cela signifie que dans certains cas, notamment si l'écran a un ratio de pixels supérieur à 1, et que le service numérique utilise l'attribut HTML "srcset" pour en tenir compte dans les images qu'il sert, le navigateur peut renvoyer des valeurs erronées pour naturalWidth et naturalHeight. La seule solution de contournement est de faire télécharger les images par Isanalyzer pour récupérer les valeurs des dimensions réelles en dehors du DOM.
Or Firefox va très vite se heurter à des limitations à cause des CORS, qui peuvent très souvent bloquer le téléchargement de contenu distant. Chrome semble actuellement plus permissif à ce sujet.
Moralité :
- La version 1.3.3 d'Isanalyzer est figée pour Firefox. Son diagnostic est considéré comme étant fiable sur un écran en DRP1, mais faillible au-delà.
- La version 1.4.0 d'Isanalyzer corrigera ce dysfonctionnement, mais ne sera disponible que sur Chrome.