Dans Chrome 71, nous avons ajouté la compatibilité avec les éléments suivants:
- L'affichage des heures relatives fait désormais partie de l'API
Intl
. - Spécifiez de quel côté du texte le soulignement doit apparaître pour le texte qui s'affiche verticalement.
- Exiger une activation par l'utilisateur avant d'utiliser l'API de synthèse vocale
Et ce n'est pas tout : il y a encore beaucoup d'autres fonctionnalités !
Je m'appelle Pete LePage. Voyons ce que Chrome 71 propose aux développeurs.
Journal des modifications
Il ne s'agit là que de quelques-uns des points forts. Pour en savoir plus sur les modifications apportées à Chrome 71, consultez les liens ci-dessous.
- Liste des modifications apportées au dépôt source Chromium
- Mises à jour de ChromeStatus.com pour Chrome 71
- Obsoletes et suppressions dans Chrome 71
Afficher des durées relatives avec Intl.RelativeTimeFormat()

De nombreuses applications Web utilisent des expressions telles que "hier", "dans deux jours" ou "il y a une heure" pour indiquer quand un événement s'est produit ou va se produire, au lieu d'afficher la date et l'heure complètes.
L'affichage des heures relatives est devenu si courant que la plupart des bibliothèques de date/heure courantes fournissent des fonctions localisées pour nous aider. En fait, pour presque toutes les applications Web que je crée, Moment JS est l'une des premières bibliothèques que j'ajoute, expressément à cette fin.
Chrome 71 introduit Intl.RelativeTimeFormat()
, qui transfère le travail vers le moteur JavaScript et permet de formater les temps relatifs de manière localisée. Cela nous offre un petit coup de pouce en termes de performances et signifie que nous n'avons besoin de ces bibliothèques qu'en tant que polyfill lorsqu'un navigateur n'est pas encore compatible avec les nouvelles API.
const rtf = new Intl.RelativeTimeFormat('en');
rtf.format(3.14, 'second');
// → 'in 3.14 seconds'
rtf.format(-15, 'minute');
// → '15 minutes ago'
Son utilisation est simple. Créez une instance et spécifiez les paramètres régionaux, puis appelez simplement le format avec l'heure relative. Pour en savoir plus, consultez l'article Intl.RelativeTimeFormat API
de Mathias.
Spécifier l'emplacement du soulignement pour le texte vertical

Lorsque du texte chinois ou japonais est affiché dans un flux vertical, les navigateurs ne sont pas cohérents quant à l'emplacement du soulignement. Il peut être à gauche ou à droite.
Dans Chrome 71, la propriété text-underline-position
accepte désormais left
ou right
dans la spécification de décoration de texte CSS3. La spécification de décoration de texte CSS3 ajoute plusieurs nouvelles propriétés qui permettent de spécifier, par exemple, le type de ligne à utiliser, le style, la couleur et la position.
.left {
text-underline-position: left;
}
.right {
text-underline-position: right;
}
La synthèse vocale nécessite l'activation par l'utilisateur
Nous avons tous été surpris lorsque nous avons accédé à un site et qu'il a soudain commencé à nous parler. Les Règles de lecture automatique empêchent les sites de lire automatiquement des fichiers audio ou vidéo avec audio. Certains sites ont essayé de contourner ce problème en utilisant plutôt l'API de synthèse vocale.
À partir de Chrome 71, l'API de synthèse vocale nécessite désormais une activation par l'utilisateur sur la page pour fonctionner. Cela la met en conformité avec les autres règles de lecture automatique. Si vous essayez de l'utiliser avant que l'utilisateur n'ait interagi avec la page, une erreur se produira.
const utterance = new window.SpeechSynthesisUtterance('Hello');
utterance.lang = lang || 'en-US';
try {
window.speechSynthesis.speak(utterance);
} catch (ex) {
console.log('speechSynthesis not available', ex);
}
Rien de pire que d'arriver sur un site et d'être surpris, vous et vos collègues.
Et bien plus !
Ce ne sont là que quelques-unes des modifications apportées à Chrome 71 pour les développeurs.
- La méthode
Element.requestFullscreen()
peut désormais être personnalisée sur Android. Elle vous permet de choisir d'afficher la barre de navigation ou un mode complètement immersif, dans lequel aucune commande d'agent utilisateur n'est affichée tant qu'un geste utilisateur n'est pas effectué. - Le mode d'identifiants par défaut pour les requêtes de script de module est passé de
omit
àsame-origin
. - Pour mettre Chrome en conformité avec la spécification Shadow DOM v1, Chrome 71 calcule désormais la spécificité des pseudo-classes
:host()
et:host-context()
, ainsi que des arguments pour::slotted()
.
Vidéos du Chrome DevSummit
Si vous n'avez pas pu assister au Chrome Dev Summit ou si vous y êtes allé, mais que vous n'avez pas vu toutes les conférences, regardez la playlist du Chrome Dev Summit 2018 sur notre chaîne YouTube.
Eva et Phil ont présenté des techniques intéressantes pour utiliser les service workers dans Créer des applications plus rapides et plus résilientes avec les service workers.
Mariko et Jake ont expliqué comment ils ont créé Squoosh dans Complex JS-heavy Web Apps, Avoiding the Slow.
Katie et Houssein ont présenté d'excellentes techniques pour optimiser les performances de votre site dans Speed Essentials: Key Techniques for Fast Websites (Éléments essentiels pour accélérer les sites Web).
Jake a fait tomber le gâteau. De nombreuses autres vidéos sont disponibles dans la playlist du Chrome DevSummit 2018. N'hésitez pas à les regarder.
S'abonner
Si vous souhaitez rester informé de nos vidéos, abonnez-vous à notre chaîne YouTube pour les développeurs Chrome. Vous recevrez alors une notification par e-mail chaque fois que nous lancerons une nouvelle vidéo.
Je m'appelle Pete LePage. Dès que Chrome 72 sera disponible, je vous présenterai les nouveautés de Chrome.