La balise <img> permet d'afficher une image. Seul son attribut src est obligatoire puisqu'il spécifie le chemin vers l'image à afficher.
Par exemple:
L'attribut alt, bien que non obligatoire, est fortement recommandé puisqu'il permet de fournir une description alternative dans le cas où l'image ne puisse être chargée (chemin brisé).
Par exemple:
Il permet aussi aux lecteurs ayant recours à un assistant vocal d'avoir une brève description du contenu de l'image. Il est donc conseillé d'être concis et d'éviter les termes vagues.
👌
🚫
Les attributs width et height permettent de spécifier la dimension intrinsèque de l'image. C'est à dire sa dimension d'origine si celle-ci n'était pas manipulée en CSS. Ces attributs ne doivent pas spécifier d'unité de mesure. Le navigateur assumera automatiquement que ces valeurs sont exprimées en pixels (px).
Par exemple:
Spécifier la dimension intrinsèque d'une image permet au navigateur d'afficher une page plus rapidement. Sans ces attributs, le navigateur doit attendre que l'image ait terminé de charger afin d'obtenir ses dimensions et ensuite calculer l'espace à y allouer. Si ces informations sont déjà fournies via des attributs, le navigateur peut calculer le rendu de la page de façon ininterrompu.
👌
🚫
Comme toute balise HTML, il est possible d'attribuer une classe ou un id à une image afin de pouvoir la manipuler en CSS ou JavaScript par la suite.
L'attribut loading permet d'indiquer la priorité de chargement d'une image. Par défaut, le navigateur tente de charger toutes images en accordant une légère priorité à celles visibles au chargement de la page dans la fenêtre. Cependant il est possible de lui spécifier différentes valeurs:
- auto comportement normal, soit l'équivalent de ne pas mettre l'attribut.
- lazy attendre que l'image soit sur le point d'être visible avant de la chargée. Donc si un usager ne fait jamais défiler la page jusqu'à celle-ci, l'image ne sera jamais chargée. Cette option permet d'accélérer le chargement de la page 🏁.
- eager indique de charger l'image le plus rapidement possible, peu importe sa position dans la page.
Par exemple, pour faire du "lazy-loading":