Publié le 6 mai 2026
Sauf indication contraire, les modifications suivantes s'appliquent à la dernière version bêta de Chrome pour Android, ChromeOS, Linux, macOS et Windows. Pour en savoir plus sur les fonctionnalités listées ici, cliquez sur les liens fournis ou consultez la liste sur ChromeStatus.com. Chrome est en version bêta depuis le 6 mai 2026. Vous pouvez télécharger la dernière version sur Google.com pour ordinateur ou sur le Google Play Store sur Android.
CSS et UI
Supprimer la règle de feuille de style UA de couleur de bordure explicite pour les tableaux
Cette modification supprime la règle CSS border-color: gray erronée de la feuille de style UA
pour l'élément <table>.
La spécification HTML ne contient pas cette règle, ce qui empêche les bordures de prendre par défaut la valeur currentColor. Ni Firefox ni Webkit n'ont cette règle de couleur de bordure gray dans leur feuille de style UA, ce qui entraîne des problèmes d'interopérabilité.
Compatibilité avec path() et shape() dans shape-outside
Ajoute la prise en charge des fonctions de forme path() et shape() dans la propriété CSS shape-outside. Ces fonctions permettent aux développeurs de définir des formes d'exclusion flottantes à l'aide de coordonnées de rectangle.
Compatibilité avec rect() et xywh() dans shape-outside
Ajoute la prise en charge des fonctions de forme de base rect() et xywh() dans la propriété CSS shape-outside. Ces fonctions permettent aux développeurs de définir des formes d'exclusion flottantes à l'aide de coordonnées de rectangle, ce qui aligne Chrome sur Firefox et Safari, qui sont déjà compatibles avec cette fonctionnalité.
Couleur d'accentuation du système dans le champ d'application de l'application Web
Restreint l'accès à la couleur d'accentuation du système pour les mots clés CSS et accent-color: auto afin qu'ils ne soient disponibles que dans une application Web et un contexte de profil initial.
Les mots clés CSS AccentColor et AccentColorText constituent un vecteur d'empreinte
important lorsqu'ils exposent les couleurs du système de l'utilisateur sur le Web. Par conséquent, ils ne sont disponibles que dans les contextes d'applications Web installées. Les commandes de formulaire avec accent-color: auto correspondent également à ce champ d'application avec le lancement de cette fonctionnalité. Cela permet d'obtenir des attentes plus cohérentes pour les développeurs et les utilisateurs concernant les couleurs du système, et s'aligne sur les restrictions d'empreinte pour AccentColor[Text].
Découper le texte en cas de dépassement lors de l'interaction de l'utilisateur
Lorsqu'un utilisateur interagit (modification ou navigation par curseur de saisie) avec du texte pour lequel text-overflow: ellipsis est défini, le texte passe temporairement des points de suspension à la découpe, ce qui permet à l'utilisateur de voir et d'interagir avec le contenu masqué en cas de dépassement.
Cette fonctionnalité s'applique à tous les éléments modifiables et non modifiables. Pour les commandes de formulaire (textarea, input), le comportement est déjà pris en charge.
Décorations d'espacement CSS
Les décorations d'espacement CSS vous permettent de styliser les espaces dans les mises en page de conteneur telles que les grilles et les flexbox, comme column-rule dans une mise en page à plusieurs colonnes. Cette fonctionnalité est très demandée par les développeurs Web qui doivent utiliser des hacks pour styliser les espaces dans les mises en page de grille et de flexbox aujourd'hui.
image-rendering: crisp-edges
image-rendering: crisp-edges indique que l'image doit être mise à l'échelle de manière à préserver le contraste et les bords, et à éviter de lisser les couleurs ou d'introduire un flou dans l'image au cours du processus.
Limite de la couche supérieure de la pseudo-classe d'action utilisateur
Cette fonctionnalité représente le comportement décrit dans la
spécification CSS Selectors Level 4,
qui indique que :hover, :active et :focus-within correspondent aux parents
des éléments, mais uniquement jusqu'au premier élément de la couche supérieure de la chaîne parente.
La modification de Chromium implémente cette restriction pour les éléments de la couche supérieure.
Concrètement, cela signifie que dans la structure suivante, si l'utilisateur pointe sur le <button>,
la pseudo-classe :hover correspond au <button> et au pop-up, mais
pas à l'élément <main>.
<main>
<div popover>
<button></button>
</div>
</main>
<script>document.querySelector('[popover]').showPopover();</script>
La raison de cette modification est que les éléments de la couche supérieure sont généralement rendus "ailleurs", dans un emplacement visuellement déconnecté de l'élément parent. Il n'est donc généralement pas judicieux de modifier les styles de l'élément parent lorsque l'élément de la couche supérieure est survolé ou activé, par exemple.
L'implémentation de la sélection personnalisable fournie dans Chromium a cette logique codée en dur pour le cas spécifique du pop-up ::picker() de sélection. Cette logique de cas particulier est supprimée au profit du comportement plus général avec cette fonctionnalité.
Compatibilité avec path-length en tant que propriété CSS
Cette modification introduit une nouvelle propriété CSS, path-length, qui correspond à l'attribut de présentation SVG pathLength existant. Elle s'applique aux éléments de géométrie SVG
compatibles avec pathLength (y compris <path>, <circle>, <rect>,
<line>, <polyline>, <polygon> et <ellipse>).
L'exposition de pathLength en tant que propriété CSS permet aux auteurs de la spécifier dans des feuilles de style, des styles intégrés et des animations, ce qui lui permet de participer à la cascade, à la spécificité, aux transitions et aux animations CSS normales. La propriété affecte tous les calculs qui dépendent de la longueur totale du chemin, y compris le rendu des tirets de contour et le positionnement du texte le long d'un <textPath>.
Les déclarations CSS remplacent l'attribut de présentation en suivant les règles de priorité CSS standards. La valeur initiale de path-length est none, ce qui représente l'absence de longueur du chemin fournie par l'auteur et est distincte d'une valeur numérique explicite telle que 0.
Le comportement existant uniquement pour les attributs est conservé lorsque la fonctionnalité est désactivée.
API Web
Intl.Locale.prototype.variants
Ajoutez Intl.Locale.prototype.variants comme indiqué dans
la proposition TC39 et acceptez également
"variants" dans le conteneur d'options du constructeur Intl.Locale, comme dans
la mise à jour de l'ID de langue TC39. Les modifications apportées à ECMA402 sont fusionnées
dans la demande d'extraction 960 et le code de test dans test262 est
fusionné dans la demande d'extraction 4474
Promesses de défilement programmatique
Les développeurs Web n'ont actuellement aucun moyen de savoir quand un défilement fluide programmatique est terminé. Cette fonctionnalité fournit une solution à ce problème : faire en sorte que les méthodes de défilement programmatique renvoient des objets Promise qui sont résolus à la fin du défilement avec l'état d'interruption.
Demande de paiement : autoriser les gestionnaires de paiement à signaler les erreurs internes
Permet aux gestionnaires de paiement auxquels l'API Payment Request accède de renvoyer des erreurs distinctes pour "l'utilisateur a annulé" et "erreur interne de l'application de paiement". Cela permet aux développeurs Web de créer de meilleurs flux pour les utilisateurs, par exemple en effectuant une nouvelle tentative ou en revenant à un autre flux lorsqu'une erreur interne de l'application se produit, tout en arrêtant correctement le flux si l'utilisateur souhaite annuler.
L'API Web-based Payment Handler peut indiquer cette différence en fonction de l'erreur qu'elle utilise pour rejeter la promesse transmise à PaymentRequestEvent.respondWith.
Si la promesse est rejetée avec une OperationError, l'erreur "interne de l'application" (OperationError) est renvoyée au marchand à l'aide de la méthode PaymentRequest.show(), sinon l'erreur "annulation par l'utilisateur" (AbortError) est renvoyée.
L'infrastructure du gestionnaire de paiement d'application native est également mise à jour, mais elle ne fait pas partie du champ d'application des API Web.
Respecter autocorrect="off" pour le clavier tactile Windows dans TSF
L'attribut HTML autocorrect permet aux auteurs Web de contrôler si la correction automatique doit être appliquée à l'entrée utilisateur dans les éléments modifiables, y compris <input>, <textarea>, et les hôtes contenteditable. Sous Windows, le clavier tactile ignore cet attribut et corrige toujours automatiquement les mots. Par exemple,
la saisie "truf" suivie d'un espace dans un élément avec autocorrect="off" donne
"true " au lieu de conserver "truf ". Cette fonctionnalité permet à l'intégration TSF
de Chrome de détecter et d'annuler les corrections automatiques du clavier tactile lorsque l'élément modifiable sélectionné
est défini sur autocorrect="off".
Déconnecter les WebSockets lors de l'entrée dans le cache bfcache
Les connexions WebSocket actives n'empêchent plus une page d'entrer dans le cache Back/Forward (bfcache). En fermant les connexions lors de l'entrée dans le cache bfcache au lieu de marquer le document comme non éligible, le navigateur autorise le stockage et la restauration des pages avec des WebSockets actifs.
Attribut Request.isReloadNavigation
Ajoute l'attribut booléen en lecture seule isReloadNavigation à l'interface Request de l'API Fetch. Cet attribut indique si la requête de navigation actuelle a été lancée en tant que rechargement déclenché par l'utilisateur (par exemple, à l'aide du bouton d'actualisation, de location.reload() ou de history.go(0)). Ce signal est principalement exposé sur l'objet Request dans le FetchEvent d'un service worker.
Désactiver les filtres SVG sur les plug-ins, les iFrames multi-origines et les iFrames restreints
Ce lancement empêche l'application de filtres SVG aux iFrames multi-origines ou restreints (par exemple, les iFrames en bac à sable) et aux plug-ins intégrés (par exemple, les PDF). Lorsqu'un frame ou un plug-in est peint avec un effet de filtre SVG, l'arborescence des effets est parcourue pour trouver l'ancêtre le plus élevé sans filtres SVG, et cet effet est ensuite appliqué à la place.
Nouvelles phases d'évaluation
Dans Chrome 149, vous pouvez activer les nouvelles phases d'évaluation suivantes.
Règle d'autorisation : focus-without-user-activation
Permet aux intégrateurs de contrôler le focus programmatique à partir de contenu intégré avec la règle d'autorisation focus-without-user-activation. Lorsque la règle est refusée pour un frame, les appels de focus programmatique (element.focus(), autofocus, window.focus(), dialog.showModal() et le focus du pop-up) sont bloqués, sauf s'ils sont déclenchés par l'activation de l'utilisateur. Le focus initié par l'utilisateur, comme le clic ou la tabulation, n'est jamais affecté.
La règle peut être définie à l'aide d'un en-tête de réponse HTTP Permissions-Policy ou de l'attribut allow de l'iFrame. La délégation du focus est prise en charge : un frame parent qui a le focus peut le transmettre de manière programmatique à un iFrame enfant, même si la règle est refusée pour l'enfant. Une fois qu'un frame a le focus, il peut le déplacer dans sa propre sous-arborescence.
API d'entrée pilotée par les événements Gamepad
Cette proposition étend l'API Gamepad avec un nouveau modèle piloté par les événements qui permet aux applications de recevoir des entrées de manette avec une latence plus faible. Au lieu de s'appuyer sur un polling fréquent à l'aide de navigator.getGamepads(), les développeurs peuvent désormais écouter un événement rawgamepadinputchange, qui se déclenche chaque fois que de nouvelles données d'entrée sont disponibles à partir de l'appareil. Cela permet une gestion des entrées plus réactive, en particulier dans les applications sensibles à la latence.
Descripteurs personnalisés WebAssembly
Permet à WebAssembly de stocker plus efficacement les données associées aux types de niveau source dans de nouveaux objets de descripteur personnalisé. Ces descripteurs personnalisés peuvent être configurés avec des prototypes pour les objets WebAssembly de ce type de niveau source. Cela permet d'installer des méthodes sur la chaîne de prototype d'un objet WebAssembly et de les appeler directement à partir de JavaScript à l'aide de la syntaxe d'appel de méthode normale. Les prototypes et les méthodes peuvent être configurés de manière déclarative à l'aide d'une fonction intégrée importée.