Un visiteur arrive sur votre site depuis un forfait mobile à 3G, dans le RER, avec un vieux téléphone Android. S'il attend trois secondes et que rien ne s'affiche, il est déjà sur le site d'un concurrent. C'est la réalité que la plupart des audits que je fais ignorent : on parle accessibilité, on parle design, on oublie que le visiteur n'a ni fibre, ni les mêmes yeux, ni un trackpad précis. Et pourtant, un site rapide et accessible, ce n'est pas deux chantiers séparés — c'est le même chantier vu sous deux angles.
J'ai refait l'an dernier le site d'un cabinet de conseil. 480 Ko de JavaScript pour afficher une page de texte. Mon premier réflexe a été d'attaquer le poids. Le second, de me demander pourquoi personne ne s'était jamais plaint. Réponse : les gens qui galèrent ferment l'onglet avant de râler. Ils ne reviennent pas non plus.
Points clés à retenir
- Vitesse et accessibilité se jouent sur les mêmes ressources : images, polices, scripts, structure HTML.
- Un site rapide n'est pas un site dépouillé : il est servi correctement à quelqu'un qui n'a pas votre débit.
- Visez le vert sur les Core Web Vitals, mais vérifiez toujours sur un vrai téléphone d'entrée de gamme, pas sur votre MacBook.
- L'accessibilité n'est pas une couche ajoutée à la fin : elle commence avant la première ligne de CSS.
- La rapidité perçue compte autant que la rapidité mesurée. Les deux se travaillent.
Pourquoi « rapide » et « accessible » sont le même combat
Il y a une intuition fausse qui revient à chaque audit : on croit que l'accessibilité, c'est pour « les gens qui en ont besoin », et la vitesse, c'est pour « tout le monde ». Faux. La personne qui navigue au clavier parce qu'elle a un handicap moteur a exactement les mêmes frustrations que celle qui attend sur un forfait saturé. Les deux subissent un site conçu pour un utilisateur idéal qui n'existe pas.
Les mêmes ressources, les mêmes problèmes
Une police web custom de 300 Ko, elle pèse sur deux choses à la fois. Elle retarde le rendu du texte (donc le LCP), et elle flingue la lisibilité si elle n'est pas assez contrastée ou si elle n'a pas de fallback correct. Un carrousel bourré de JavaScript mal écrit, il bloque le scroll pour les utilisateurs au clavier ET il fait ramer le premier affichage.
Autrement dit : quand vous optimisez pour de vrai, vous ne choisissez pas entre vitesse et accessibilité. Vous corrigez des décisions qui nuisaient aux deux.
Ce que j'ai vu en auditant une quinzaine de sites français
Sur les sites que j'ai auscultés (TPE, PME, quelques médias en ligne), trois problèmes reviennent en boucle :
- Des images exportées en PNG pleine résolution à 2 400 px de large, servies telles quelles, pour un affichage final à 800 px.
- Des bibliothèques JavaScript entières chargées pour utiliser une seule fonction.
- Aucun focus visible sur les liens et boutons — souvent parce qu'un développeur a mis
outline: noneaprès avoir trouvé l'anneau bleu « moche ».
Ces trois défauts partagent un point commun : ils ont été décidés vite, sans imaginer le visiteur réel. Et franchement, je comprends — j'ai fait la même chose pendant des mois, avant qu'un collègue malvoyant me fasse remarquer que mon site était inutilisable au clavier.
Le socle technique pour un site rapide
Oublions les dogmes. Il n'y a pas de recette magique, mais une poignée de leviers qui, dans mon expérience, font 80 % du boulot.
Images : optimisez avant tout le reste
Sur la majorité des sites vitrines que j'ai touchés, les images représentaient plus de la moitié du poids total de la page. Passer au format WebP ou AVIF, redimensionner à la taille réellement affichée, et ajouter un srcset correct, c'est souvent une division par deux à trois du poids côté médias.
Concrètement, sur un site de restaurant que j'ai repris, je suis passé de 4,1 Mo à 780 Ko en première visite. Temps d'affichage perçu : de 3,4 s à 1,1 s sur un mobile milieu de gamme. Aucune modification d'architecture. Juste des images.
JavaScript : soyez radical
Le pire ennemi du LCP, ce n'est pas l'image héros. C'est un script tiers bloquant installé pour la bonne cause (chat, A/B testing, heatmap, pixel marketing). Chacun pris isolément paraît inoffensif. Additionnés, ils retardent le rendu de près d'une seconde sur un réseau moyen.
Ma règle : si un script ne sert pas directement à l'expérience de la première visite, il se charge après l'interaction utilisateur, ou il disparaît. J'ai viré un outil de chat qui pesait 210 Ko et ne servait qu'à trois conversations par mois. Personne ne s'en est plaint. Le site est devenu nettement plus fluide.
Cache, CDN et critical CSS : le trio qui change tout
Un cache bien configuré, c'est bête comme chou et ça transforme l'expérience des visiteurs récurrents. Un CDN, c'est indispensable dès qu'on a une audience un peu dispersée géographiquement. Le critical CSS, c'est l'injection des styles du premier écran directement dans le HTML pour afficher la page avant le chargement complet du reste.
| Levier | Effet typique constaté | Effort |
|---|---|---|
| Compression images (WebP/AVIF) | -50 % à -70 % de poids médias | Faible |
| Cache navigateur long | Chargements répétés quasi instantanés | Faible |
| CDN | -100 à -300 ms de latence selon zones | Moyen |
| Différé du JS non critique | LCP souvent amélioré de 20 à 40 % | Moyen |
| Critical CSS inline | Rendu initial plus rapide | Moyen à élevé |
Rien de ces leviers ne demande de réécrire le site. Ce sont des ajustements d'infrastructure et de discipline.
Accessibilité : les bonnes pratiques qui comptent vraiment
Le référentiel WCAG existe, il faut s'y référer, mais il ne suffit pas à lui seul à guider un projet. Voilà ce qui, sur le terrain, fait la différence entre un site « conforme » et un site vraiment utilisable.
Structure et sémantique
Un titre de page correctement hiérarchisé (h1, h2, h3, sans saut), des balises <nav>, <main>, <footer> employées pour ce qu'elles signifient, des alt pertinents sur les images (pas « image_1.png », mais ce que l'image montre). C'est fastidieux à faire correctement, c'est payant à long terme. Un lecteur d'écran ne « voit » pas votre design, il lit votre HTML.
Contraste, lisibilité, focus
Le contraste minimal recommandé, c'est 4,5:1 pour le texte courant. Le gris clair sur fond blanc, si élégant sur Figma, devient illisible pour beaucoup de gens. Et le fameux outline: none — je l'ai vu sur trois sites consécutifs l'an dernier. Résultat : impossible de savoir où on se trouve dans la page quand on navigue au clavier.
Navigation clavier et formulaires
Test simple : débranchez la souris. Servez-vous du site. Si vous ne pouvez pas atteindre un bouton « Envoyer », votre site est cassé pour une partie de vos visiteurs. Les formulaires, surtout, méritent un label correctement lié à chaque champ, des messages d'erreur explicites (pas juste « champ invalide »), et une gestion du focus qui ne renvoie pas l'utilisateur au début du document à chaque validation.
Mesurer pour de vrai : les outils à connaître
Un site rapide, ça se constate. Pas au doigt mouillé.
Core Web Vitals : ce qu'il faut regarder
Trois indicateurs résument la santé perçue :
- LCP (Largest Contentful Paint) : le temps d'affichage de l'élément principal de la page. Viser moins de 2,5 s.
- INP (Interaction to Next Paint) : la réactivité aux clics et frappes. Viser moins de 200 ms.
- CLS (Cumulative Layout Shift) : les mouvements de mise en page intempestifs (pub qui pousse le texte, image sans dimensions). Viser moins de 0,1.
Les outils que j'utilise en pratique
- PageSpeed Insights : le point de départ, avec données réelles et données labo.
- Lighthouse intégré au navigateur : pratique pour itérer vite.
- WebPageTest : plus fin, permet de tester depuis une connexion lente simulée.
- Et surtout : votre téléphone, en 4G réelle, à l'extérieur. C'est le seul test qui ne ment pas.
Pour l'accessibilité, les audits automatiques de type axe ou WAVE détectent environ un tiers des problèmes. Le reste, c'est de la vérification humaine : navigation clavier, lecteur d'écran, et parfois simplement de la logique.
Ce que j'ai raté (et pourquoi)
Ma pire erreur sur ce sujet : avoir cru qu'un score Lighthouse à 95 signifiait un site rapide. J'ai livré un projet avec ce score, fier de moi. Le client m'a rappelé une semaine plus tard — les utilisateurs sur mobile se plaignaient. En regardant les données terrain, le site était à 60 sur les mêmes métriques. La différence : mes tests tournaient sur un réseau de bureau, les leurs sur un forfait saturé.
Ce jour-là, j'ai compris que les chiffres en labo sont un point de départ, jamais une conclusion. Et qu'un score, aussi vert soit-il, ne remplace pas l'expérience d'un utilisateur réel avec ses contraintes réelles.
La bonne pratique, au fond, tient en une phrase : concevez pour le pire cas, pas pour votre propre navigateur. Un site rapide et accessible, c'est un site qui fonctionne pour quelqu'un qui n'a pas votre matériel, pas votre connexion, pas vos yeux. C'est plus exigeant. C'est aussi ce qui fait qu'on y revient.