Contexte de la décision

En novembre 2026, Google a annoncé la suppression du moteur XSLT intégré à Chrome. Cette suppression s’inscrit dans une évolution du navigateur où le traitement XSLT, historiquement fourni par le moteur Blink, est désactivé. La date d’exécution prévue est le 17 novembre 2026, moment où les pages dépendant de XSLT ne seront plus interprétées correctement.

Impact technique sur les sites XSLT

Le site XSLT.RIP, construit entièrement avec des feuilles de style XSLT, illustre la vulnérabilité du modèle actuel. Dès que le moteur XSLT sera retiré, le navigateur ne pourra plus transformer le XML en HTML, entraînant l’affichage d’une page brute ou d’une erreur de rendu. Le problème se double d’une attaque de type man‑in‑the‑middle détectée dans certaines versions Chromium, où du code publicitaire est injecté dans les réponses XSLT, altérant le contenu avant même qu’il atteigne le moteur de transformation.

Mécanismes de sécurité et CSP

Le blog mentionne un élément personnalisé <xslt-warning-banner> qui échoue à se rendre lorsqu’il viole la Content Security Policy (CSP). La CSP empêche le chargement de scripts ou de styles non autorisés, ce qui, combiné à la suppression du support XSLT, bloque complètement le rendu du composant. Le code suivant montre l’élément incriminé :

<xslt-warning-banner>Chrome a désactivé XSLT</xslt-warning-banner>

Sans moteur XSLT, le navigateur ne peut pas interpréter cet élément, et la CSP empêche tout contournement via des scripts externes.

Solutions de contournement et limites

Les développeurs peuvent recourir à des extensions de navigateur capables de réactiver le support XSLT ou à des bibliothèques JavaScript telles que xslt-processor qui exécutent la transformation côté client. Cependant, ces solutions exigent une charge supplémentaire en JavaScript et ne garantissent pas la même conformité que le moteur natif. L’utilisation d’un navigateur dérivé comme ungoogled‑chromium montre que le comportement exact dépend de la version du moteur et des patches appliqués, rendant la prévisibilité difficile. En l’absence de support natif, la migration vers des alternatives serveur (XSL‑FO, HTML5 + JavaScript) devient la voie la plus fiable, bien que cela implique une refonte du pipeline de génération de contenu.