2 points par GN⁺ 2024-02-03 | 1 commentaires | Partager sur WhatsApp
  • Interop 2024 est un projet collaboratif visant à aligner les principales équipes de moteurs de navigateurs afin qu’elles implémentent les mêmes fonctionnalités Web de façon plus cohérente ; cette année, il porte sur 17 domaines prioritaires et 3 projets d’étude.
  • Les améliorations d’interopérabilité sont mesurées à l’aide de tests automatisés comme les Web Platform Tests ; WPT compte plus de 1,8 million de tests et affiche un taux de réussite supérieur à 95 % sur l’ensemble des principaux navigateurs.
  • Interop 2023 a fait passer le taux de réussite commun des tests sélectionnés sur les trois grands moteurs de navigateurs de 48 % à 95 %, et a fortement harmonisé la prise en charge de P3 color, Subgrid, Container Queries, :has(), Web Components et Media Queries 4.
  • Cette année, 16 propositions ont été retenues sur 96, avec la reprise d’une partie du travail de 2023, afin de se concentrer sur 17 domaines, dont Accessibility, CSS Nesting, Custom Properties, IndexedDB, Layout, Popover et URL.
  • Microsoft Edge a été ajouté comme colonne distincte au tableau de bord Interop, ce qui permet de comparer plus directement la progression navigateur par navigateur.

Comment aligner l’interopérabilité des navigateurs

  • Le Web a été conçu pour fonctionner sur une grande variété d’appareils, ce qui permet à des milliards de personnes de l’utiliser pour collaborer, apprendre et rester en contact.
  • Pour que les développeurs puissent offrir la même expérience à tous les navigateurs et à tous les utilisateurs, les implémentations des technologies Web par les navigateurs doivent être similaires.
  • La cohérence des implémentations se construit dans le cadre du processus de standardisation du Web, et le comportement des nouvelles technologies Web est défini dans des documents techniques détaillés.
  • Le respect des standards Web par les navigateurs est vérifié au moyen de tests automatisés.
    • Les Web Platform Tests comptent plus de 1,8 million de tests.
    • Plus de 95 % des WPT réussissent sur l’ensemble des principaux navigateurs.

Les changements apportés par Interop 2023

  • Interop 2023 a démarré en janvier 2023 avec 48 % des tests sélectionnés réussissant sur les trois grands moteurs de navigateurs.
    • Les navigateurs de référence étaient les versions de Chrome et Firefox desktop Linux déployées auprès des utilisateurs, ainsi que Safari sur macOS Monterey.
  • Un an plus tard, le taux de réussite était passé à 95 %.
    • Les navigateurs de référence étaient Chrome Dev, Firefox Nightly desktop Linux et Safari Technology Preview sur macOS Ventura.
  • La prise en charge de plusieurs fonctionnalités Web s’est améliorée d’un navigateur à l’autre.
    • P3 color est entièrement pris en charge par tous les navigateurs, 7 ans après le début de son lancement.
    • Les contrôles de formulaire prennent en charge le mode d’écriture vertical pour la première fois dans l’histoire du Web.
    • CSS border-image fonctionne désormais comme prévu à l’origine.
    • Subgrid, Container Queries, :has(), Motion Path, CSS Math Functions, inert et @property sont pris en charge par tous les navigateurs modernes.
    • Des API Web comme Offscreen Canvas, Modules in Web Workers, Import Maps, Import Assertions et JavaScript Modules ont été améliorées.
    • L’ensemble de la spécification Media Queries 4 est pris en charge partout, avec une syntaxe plus simple.
    • Web Components a progressé sur adoptedStyleSheets, ElementInternals, Form-Associated Custom Elements, ainsi que sur le comportement de base de Shadow DOM et de Custom Elements.
    • On peut désormais compter sur une prise en charge cohérente, entre navigateurs, des pseudo-classes CSS comme :nth-child(), :nth-last-child(), :modal, :user-valid et :user-invalid.
    • Les feature queries prennent désormais en charge la détection des fonctionnalités de police.
    • Font Palettes renforce la prise en charge des polices couleur.
    • Des progrès significatifs ont aussi été réalisés sur CSS Masking, HTML Forms, Pointer and Mouse Events, Scrolling, Transforms, URL, WebCodecs et un ensemble de bugs de compatibilité Web.
  • Sur les 26 domaines prioritaires d’Interop 2023, 20 se sont terminés avec succès.
  • En 2024, le travail se poursuit aussi sur Custom Properties, Pointer and Mouse Events, URL, ainsi que sur Layout, qui regroupe Flexbox, Grid et Subgrid.

La composition d’Interop 2024

  • En 2024, 96 propositions de domaines prioritaires ont été examinées, et 16 ont finalement été retenues.
  • En regroupant certaines nouvelles propositions et en reprenant une partie du travail de 2023, Interop 2024 compte au total 17 domaines prioritaires.
  • Sur la base des versions stables des navigateurs, le score global d’Interop 2024 commence par coïncidence de nouveau à 48 %.
  • À partir de cette année, le tableau de bord Interop ajoute une colonne propre à Microsoft Edge.
    • Pour l’instant, cette colonne représente Edge et Edge Dev exécutés sous Windows 10.

Domaines prioritaires en 2024

  • Accessibility

    • Dans le cadre du projet d’étude Accessibility d’Interop 2023, l’équipe accessibilité d’Apple a créé une infrastructure de tests d’accessibilité pour WPT et rédigé plus de 1 300 tests d’accessibilité
    • Ces tests sont inclus dans les domaines prioritaires d’Interop 2024 afin d’encourager l’amélioration de la prise en charge de l’accessibilité par les navigateurs
    • La plupart des nouveaux tests d’accessibilité portent sur WAI-ARIA
    • Ils se concentrent en particulier sur le Roles Model et l’Accessible Name and Description Computation
    • Ils fournissent un mécanisme cohérent permettant aux utilisateurs de technologies d’assistance de comprendre l’objectif d’un élément et ce qu’il permet de faire
    • Des tests liés à la spécification HTML Accessibility API Mappings sont également inclus
    • Elle définit la sémantique d’accessibilité par défaut des éléments HTML et les règles de comportement des navigateurs pour des fonctionnalités comme <label> et le texte alt des images
    • Des tests d’accessibilité pour display: contents sont également ajoutés
    • Ce mode d’affichage CSS est utile pour supprimer la boîte autour du contenu lorsqu’on ajuste les relations parent·enfant·petit-enfant pour Flexbox ou Grid
    • Dans les premières implémentations, la suppression de la boîte faisait aussi disparaître complètement le contenu de l’arbre d’accessibilité, ce qui posait problème aux utilisateurs de technologies d’assistance
    • La plupart des problèmes ont été corrigés dans les navigateurs, mais ils ne sont pas entièrement résolus dans toutes les situations
  • CSS Nesting

    • CSS Nesting est inclus dans Interop 2024 afin de réduire les écarts d’implémentation et de permettre aux développeurs de l’utiliser en toute confiance
    • La fonctionnalité d’imbrication CSS a été lancée dans les quatre principaux navigateurs en 2023
    • Chrome, Edge et Safari l’ont d’abord lancée en avril et mai
    • Firefox l’a lancée en août
    • Le standard web a légèrement évolué entre mai et août, assouplissant l’exigence initiale selon laquelle tous les sélecteurs imbriqués devaient commencer par un symbole
    • Les développeurs peuvent écrire article au lieu de & article
    • Toutes les implémentations ont été mises à jour, mais il reste une marge d’amélioration de l’interopérabilité pendant que le CSS Working Group clarifie les détails complexes du comportement de Nesting
    • La plupart des échecs de tests dans Safari sont liés à la manière dont le CSS imbriqué interagit avec le Shadow DOM et :host
  • Custom Properties

    • L’at-rule @property a commencé à arriver dans les navigateurs ces dernières années
    • Dans le domaine Custom Properties d’Interop 2023, le taux de réussite aux tests communs à tous les navigateurs stables est passé de 4 % à 7,6 %, et il a atteint 90,7 % sur l’ensemble des navigateurs en préversion
    • Firefox est le dernier navigateur à ajouter la prise en charge, avec des travaux actuellement en cours dans Firefox Nightly
    • Comme ce travail n’est pas terminé, le sujet reste un domaine prioritaire en 2024
    • @property permet de déclarer la syntaxe, le comportement d’héritage et la valeur initiale des propriétés personnalisées CSS d’une manière proche de celle dont les moteurs de navigateur définissent les propriétés CSS
    • Cela rend possibles des animations auparavant impossibles en CSS, comme celles de certaines parties d’un dégradé ou d’une transformation
  • Declarative Shadow DOM

    • Declarative Shadow DOM est une API déclarative qui permet de créer des widgets et composants réutilisables uniquement avec HTML, sans JavaScript
    • Safari 16.4 le prend en charge depuis mars 2023, et Chrome 90 depuis avril 2021
    • Firefox dispose d’une implémentation dans Firefox Nightly
    • C’était l’une des fonctionnalités fréquemment demandées dans l’enquête State of HTML 2023, et elle est incluse dans Interop 2024 afin d’assurer l’interopérabilité dans tous les navigateurs
  • Font size adjust

    • font-size-adjust est un exemple qui montre l’intérêt de se concentrer sur des technologies anciennes
    • Firefox l’a implémenté pour la première fois en 2008, mais il était peu utilisé ou discuté parmi les designers et développeurs web
    • La spécification initiale a évolué au fil du temps pour prendre en charge davantage de langues grâce à une syntaxe à deux valeurs, et son utilisabilité a été améliorée avec la valeur from-font
    • L’équipe WebKit a implémenté la version de base dans Safari 16.4 et ajouté une mise à jour dans Safari 17.0
    • Mozilla a mis à jour son implémentation dans Firefox 118, et Safari comme Firefox réussissent actuellement 100 % de tous les tests
    • Chrome a commencé une implémentation expérimentale en 2015, mais ne l’a pas encore lancée
    • Font size adjust fournit un moyen d’ajuster plusieurs polices dans une chaîne de texte afin qu’elles paraissent avoir la même taille visuelle
    • Par exemple, dans un texte en 1.4rem, il permet d’aligner la x-height, la cap height, la largeur ch, la largeur ic et la hauteur ic
    • C’est utile lorsqu’on mélange du code et du texte courant, ou plusieurs langues dans une même phrase
  • HTTPS URLs for WebSocket

    • L’API WebSocket a la particularité d’exiger l’utilisation de schémas non HTTP(S), ws: et wss:
    • Comme le comportement des URL est presque identique à celui des URL HTTP(S), l’utilisation de l’API peut s’en trouver fastidieuse
    • Sur la base des retours des développeurs web, l’équipe WebKit a fait en sorte que l’API prenne aussi en charge les URL HTTP(S), et l’a lancée dans Safari 17.0
    • Auparavant, il fallait du code pour remplacer le protocole par wss: ou ws: selon location.protocol, mais on peut désormais écrire new WebSocket(path)
    • Son inclusion dans Interop 2024 vise à encourager les autres navigateurs à l’adopter également
  • IndexedDB

    • IndexedDB est une API permettant de stocker des données côté client sous forme de base de données orientée objet
    • Elle a commencé à arriver dans les navigateurs en 2011, et le standard web n’a cessé d’évoluer
    • La version 2 et la version 3 sont prises en charge par tous les principaux navigateurs
    • La version 2 est entièrement interopérable, mais la version 3 nécessite encore du travail pour aligner la qualité des implémentations
  • Layout

    • CSS Grid et Flexbox figuraient dans le projet Interop d’origine en 2021
    • Subgrid a été ajouté à Interop 2023
    • Ces trois modes de mise en page sont tous dans un bon état, mais pas encore parfaits
    • En 2024, les tests des trois domaines sont regroupés en un seul domaine prioritaire appelé Layout
    • Le travail se poursuit pour améliorer l’interopérabilité des cas limites complexes
    • Les développeurs peuvent utiliser Flexbox, Grid et Subgrid en toute confiance, avec une prise en charge solide dans tous les navigateurs
  • Pointer and Mouse Events

    • Les Pointer events gèrent les périphériques de pointage comme la souris, le stylet ou stylet numérique, et le toucher avec un ou plusieurs doigts, au sein d’un modèle unique d’événements DOM
    • Cette API a commencé à arriver dans les navigateurs en 2012 et avait été adoptée par tous les navigateurs en 2019, mais son interopérabilité restait instable
  • L’équipe Interop a lancé en 2022 un projet d’étude sur Pointer and Mouse Events afin de clarifier le consensus et d’écrire les tests correspondants

    • Dans Interop 2023, ces tests ont été intégrés comme domaine prioritaire, et le taux de réussite est passé de 34 % à 81 %
    • Comme il reste encore du travail, ce domaine reste prioritaire en 2024
  • Popover

    • L’attribut popover de HTML fournit une méthode native du navigateur pour faire apparaître un élément dans la couche supérieure de la page
    • Pour créer une surcouche couvrant toute la page web, l’élément dialog est le plus approprié
    • Quand on veut transformer un autre élément en message pop-up, en interface utilisateur ou en contenu qui apparaît puis disparaît, popover fournit le framework nécessaire
    • La prise en charge de popover a été lancée en 2023 dans Chrome 114 et Safari 17.0
    • Firefox travaille à sa prise en charge dans Firefox Nightly
  • Relative Color Syntax

    • Relative Color Syntax est une nouvelle façon de définir des couleurs CSS en faisant référence à d’autres couleurs
    • Elle permet d’éclaircir ou d’assombrir une couleur existante d’une certaine quantité, ou d’ajuster la saturation d’une variable de couleur pour l’assigner à une deuxième variable
    • Elle peut être particulièrement puissante lors de la création de design systems
    • Safari 16.4 a été le premier à lancer sa prise en charge en mars 2023
    • Chrome 119 et Edge 119 ont lancé leur prise en charge en octobre et novembre 2023
    • Parmi les implémentations actuelles, aucune ne prend en charge l’utilisation de currentcolor avec Relative Color Syntax
    • Le domaine Relative Color Syntax d’Interop 2024 se concentre étroitement sur la prise en charge de currentcolor et les tests de comportement hors gamut, plutôt que sur la prise en charge complète
    • Il vérifie ce qui se passe sur les écrans qui ne prennent pas en charge la couleur P3
  • requestVideoFrameCallback

    • L’élément <video> fournit une fonctionnalité puissante pour intégrer de la vidéo sur le Web
    • HTMLVideoElement fournit des propriétés et méthodes pour manipuler un objet vidéo en JavaScript
    • requestVideoFrameCallback() permet d’effectuer efficacement des opérations image par image sur la vidéo
      • Traitement ou analyse vidéo
      • Dessin sur un canvas
      • Synchronisation avec une source audio
    • Pris en charge depuis Chrome 83 et Safari 15.4
    • Son inclusion dans Interop 2024 aide à finaliser et affiner les implémentations des navigateurs
  • Scrollbar Styling

    • Le domaine Scrollbar Styling couvre deux propriétés CSS utilisables pour styliser les barres de défilement
    • scrollbar-width propose trois valeurs : auto, thin, none
      • auto correspond à la largeur par défaut
      • thin fournit une barre de défilement plus fine
      • none masque la barre de défilement tout en conservant le défilement du contenu
    • Firefox 64 a implémenté cette prise en charge en décembre 2018, et elle vient également d’arriver dans Chrome 121 et Edge 121
    • scrollbar-gutter réserve l’espace de la barre de défilement afin de conserver la même mise en page, que la barre soit présente ou non
    • scrollbar-gutter: stable indique au navigateur de réserver cet espace même en l’absence de barre de défilement
    • Cela permet d’éviter les décalages de mise en page lorsque l’état nécessitant une barre de défilement change
    • Lancé dans Chrome 94, Edge 94 et Firefox 97 entre 2021 et 2022
    • Safari est celui qui a le plus de travail à faire pour achever ce domaine prioritaire
    • Chrome et Firefox réussissent déjà 100 % des tests
    • Safari avait été le premier à proposer, en 2009, des fonctionnalités de stylisation des barres de défilement avec 9 pseudo-éléments ::-webkit-scrollbar-*, mais cette approche n’est pas devenue un standard web CSS officiel
    • Le CSS Working Group a choisi une approche beaucoup plus simple
  • @starting-style and transition-behavior

    • Ce domaine se concentre sur deux nouvelles fonctionnalités de contrôle des animations
    • Les deux fonctionnalités ont été lancées en septembre 2023 dans Chrome 117 et Edge 177
    • @starting-style permet de définir les valeurs initiales d’un élément donné
    • C’est nécessaire lorsqu’un élément est sur le point de passer par une transition
    • Il fournit aussi une méthode de transition vers ou depuis display:none
    • transition-behavior étend aux transitions CSS le traitement des propriétés animables discrètes, auparavant possible uniquement dans les animations
    • Il ouvre la voie à la transition de la propriété display lorsqu’un élément est affiché ou masqué
  • Text Directionality

    • La direction du flux de texte est un élément important de la composition typographique sur le Web
    • Certaines langues s’écrivent de gauche à droite, d’autres de droite à gauche
    • L’attribut dir permet d’indiquer la direction d’un élément HTML avec left, right ou auto
    • auto demande au navigateur de déduire la direction à partir du premier caractère
    • Jusqu’à récemment, l’interaction entre la directionnalité et le shadow tree n’était pas bien définie
    • Le problème a été traité au niveau des standards, et son inclusion dans Interop 2024 permet de vérifier l’alignement des implémentations
  • text-wrap: balance

    • Les designers web cherchent depuis longtemps un moyen d’éviter les lignes très courtes ou composées d’un seul mot
    • Le responsive web design et le manque de contrôle sur la largeur des colonnes rendent ce problème plus difficile
    • text-wrap propose plusieurs options pour indiquer au navigateur comment calculer les retours à la ligne selon des cas d’usage précis
    • text-wrap: balance est une solution adaptée aux titres
    • Il répartit quelques lignes de texte de façon équilibrée afin que chaque ligne contienne une quantité de texte similaire
    • Lancé dans Chrome 114 et Firefox 121, et implémenté dans Safari Technology Preview
    • Interop 2024 inclut aussi des tests du comportement de text-wrap-mode, text-wrap-style et white-space-collapse
    • Le CSS Working Group ayant récemment modifié la manière dont ces longhands interagissent entre eux, la prise en charge entre navigateurs est actuellement inégale
  • URL

    • Les URL sont l’un des éléments les plus fondamentaux du Web, et sans elles le Web n’existerait pas
    • Comme beaucoup de choses inventées aux débuts de l’histoire du Web, la prise en charge des URL n’est pas encore totalement interopérable
    • Le WHATWG a rédigé l’URL Living Standard, qui décrit en détail le comportement exact attendu des URL
    • Les tests soutenant ce standard faisaient partie des domaines prioritaires d’Interop 2023, et le taux de réussite est passé de 77 % à 85 %
    • En 2024, le travail se poursuit pour assurer l’interopérabilité
    • Safari réussit 99,7 % des tests

Projets d’étude et suivi de l’avancement

  • Interop 2024 comprend également trois domaines d’étude
    • Accessibility Testing
    • Mobile Testing
    • WebAssembly Testing
  • Les domaines d’étude sont des chantiers visant à permettre à l’équipe Interop d’écrire davantage de tests et de les rendre exécutables
  • Le projet d’étude Mobile Testing a pour objectif de compléter l’infrastructure nécessaire dans WPT afin de pouvoir tester les navigateurs sur les systèmes d’exploitation mobiles
    • Il est également possible que des scores mobiles soient inclus à l’avenir dans le tableau de bord du projet Interop
  • Deux de ces trois études sont des projets poursuivis depuis l’an dernier, mais en 2024 elles démarrent toutes avec un taux d’achèvement de 0 %
  • Les équipes participantes fixent de nouveaux objectifs cette année, et le tableau de bord affiche l’avancement par rapport à ces objectifs
  • L’avancement d’Interop 2024 peut être consulté sur le tableau de bord Interop 2024
  • L’interopérabilité est l’un des piliers fondamentaux du succès du Web, et la collaboration se poursuit en 2024 sur la base des travaux d’Interop 2022 et 2023

1 commentaires

 
GN⁺ 2024-02-03
Avis sur Hacker News
  • Il y a clairement de très belles évolutions ici, et c’est une bonne chose que la prise en charge s’améliore.
    Par exemple, l’imbrication CSS est un gros changement, car c’était l’une des principales raisons pour lesquelles SASS et LESS étaient utiles. Il était de toute façon plus logique que cela fasse partie du cœur de CSS plutôt que d’être une fonctionnalité de préprocesseur, comme les variables.
    Ce qu’on peut faire avec les propriétés personnalisées est toujours intéressant, et cela s’inscrit bien comme étape suivante après le Shadow DOM et les éléments personnalisés. Le popover est aussi étonnamment correct : pouvoir désormais créer des choses comme des modales popup sans JavaScript est très utile. Cela peut réduire le temps perdu sur des modales personnalisées, des menus déroulants, des boutons hamburger, etc.
    Cela dit, j’aimerais que ce genre de projet accorde aussi plus d’attention aux formulaires. L’état actuel, où de nombreux champs de l’époque HTML 5 sont trop différents selon les navigateurs, s’appuient pour l’affichage sur le styling de pseudo-classes propriétaires, et sont globalement difficiles à personnaliser, paraît étonnamment daté pour une plateforme qui permet de faire presque tout.

    • Quand les designers UI peuvent faire ce qu’ils veulent, même s’ils les auraient appréciés par le passé, ils ne veulent souvent pas de ces nouveaux modales, menus et boutons par défaut.
      Ce changement aidera, mais dans l’UI, la cohérence semble être traitée comme une faiblesse plutôt que comme une fonctionnalité que tout le monde devrait rechercher.
    • L’imbrication CSS est la dernière raison d’utiliser un préprocesseur CSS.
      Quand Safari 17.2+ sera plus répandu, on pourra simplement utiliser du CSS pur.
      À part ça, les variables pour les requêtes @media sont aussi une raison, mais c’est un besoin moins courant.
  • Au final, il semble que JPEG XL n’ait pas été inclus. C’est assez difficile à comprendre, sachant que c’est le premier format d’image depuis très longtemps à apporter une amélioration globale nette.
    J’espérais qu’Interop mettrait fin à la situation où Google bloque de fait son adoption, mais on dirait qu’il faudra encore attendre pendant que des substituts bancals aux vieux formats largement utilisés continuent de s’accumuler.

    • Cela me déçoit aussi.
      Je ne sais pas ce que Google reproche à JPEG XL.
  • Dire que « tous les navigateurs prennent désormais entièrement en charge les couleurs P3 » n’est pas tout à fait exact.
    Firefox continue de contraindre toutes les couleurs en sRGB avant de les envoyer à l’appareil. https://bugzilla.mozilla.org/show_bug.cgi?id=1626624#c16

  • Je ne fais du web que très occasionnellement, donc je ne suis pas vraiment la cible principale, mais la fonctionnalité manquante la plus visible dans WebKit est l’absence de prise en charge des favicons SVG.
    C’est vraiment difficile à comprendre, et devoir gérer toutes les icônes propres à Apple dans différentes tailles est assez pénible pour un développeur web occasionnel comme moi.

    • Tu seras content de savoir que ce n’est plus comme avant. Aujourd’hui, une seule icône propre à Apple suffit [1] :
      [1]: https://evilmartians.com/chronicles/how-to-favicon-in-2021-s...
    • Dans un registre un peu lié, Chrome n’utilise pas la favicon SVG s’il existe une favicon ico. (https://bugs.chromium.org/p/chromium/issues/detail?id=145085...) Je déploie donc à la fois une favicon PNG et une favicon SVG.
    • À noter que Safari prend en charge ce format de favicon SVG monochrome.
      Si vous utilisez quelque chose comme Vite, vous pouvez aussi automatiser entièrement la génération des favicons et des icônes d’écran d’accueil à partir d’une seule image source.
    • Le SVG ne se redimensionne pas comme on le voudrait. Par exemple, même si vous créez en vectoriel une image carrée de 256 px, une simple transformation vectorielle ne suffira pas à la rendre jolie en 24 px.
    • C’est vrai. On ne devrait pas avoir besoin de générer toutes ces icônes.
      Et ce serait bien de pouvoir aussi styliser les listes, par exemple en ajoutant une sorte de drapeau à un élément.
      Les transitions de pages CSS et les animations basées sur le défilement ne sont pas non plus mentionnées, alors qu’elles pourraient elles aussi réduire le JavaScript passe-partout.
  • J’ai été bien plus enthousiaste que prévu après avoir lu cet article
    Je me demande pourquoi il n’y a pas de domaine d’attention PWA dans le consortium participant

    • Historiquement, Interop s’est davantage concentré sur CSS, mais cela évolue progressivement
      Cela dit, de nombreux domaines de test incluent des tests de workers, ce qui devrait aussi améliorer l’état des PWA. En 2023, il y avait toute une section Modules, et beaucoup de fonctionnalités spécifiques aux PWA/workers ont été testées. Une bonne partie des API faisant l’objet de tests et d’études, comme OffscreenCanvas ou les tests mobiles, sont également très liées à de nombreuses applications PWA
      Cette année, comme l’an dernier, c’est l’Interop le moins centré sur CSS. À mon avis, on y trouve IndexedDB, WebSocket, dont les PWA dépendent largement, ainsi qu’une section importante d’améliorations de l’accessibilité. Les trois domaines d’étude — WebAssembly, accessibilité et tests mobiles — sont eux aussi tous liés aux PWA
      Je me demande sur quelles API, concrètement, tu aimerais les voir se concentrer davantage
    • Si je me souviens bien, le consortium compte environ une douzaine de personnes, qui travaillent aussi pour des entreprises de navigateurs
      L’objectif est de se réunir et, en tenant compte des roadmaps et de la charge de travail actuelles, d’identifier des fonctionnalités sur lesquelles travailler ensemble ou à améliorer pendant un an. On peut voir Interop comme de petits tickets supplémentaires à traiter entre les grands développements de fonctionnalités du travail principal
      Jusqu’ici, l’accent a été mis sur des détails de très bas niveau dans la façon dont les navigateurs rendent le contenu. Les API JavaScript étant globalement standardisées et fusionnées « en amont », c’est là que se trouve la plus grande marge d’amélioration
      Avant qu’un mouvement visant à implémenter simultanément de nouvelles fonctionnalités dans tous les moteurs n’émerge, je pense qu’il y aura encore beaucoup de travail pour combler les écarts entre navigateurs
      Cela dit, maintenant qu’Apple a enfin ajouté les notifications push web à Safari mobile, on se rapproche assez de ce dont ont besoin la plupart des apps web qui bénéficieront des fonctionnalités PWA. Je me demande quelles fonctionnalités encore absentes de manière commune aux navigateurs tu aimerais utiliser
    • Je me demande ce que tu mettrais dans un domaine d’attention PWA
      J’ai vu ailleurs des liens vers https://web.dev/learn/pwa/capabilities et https://whatpwacando.today, mais je pense qu’une bonne partie de ces fonctionnalités ne sont pas intrinsèquement des fonctionnalités PWA. Beaucoup d’entre elles sont largement utilisées en dehors des PWA, donc les regrouper sous l’étiquette « PWA » dilue le sens. Pour les développeurs web, des regroupements comme « stockage » ou « média » seraient probablement plus parlants
      Si l’on regarde la définition de base des PWA, il s’agit surtout du manifest, des service workers et de leur combinaison avec la plateforme web
      Le manifest est difficile à tester automatiquement. Son contenu s’affiche dans différentes parties de l’interface du navigateur, or l’interface n’est généralement pas spécifiée par les standards du web. Les fournisseurs veulent garder la liberté de prendre leurs propres décisions d’interface. Il est donc difficile de l’inclure, et on ne sait pas très bien à quel point il existe des problèmes d’interopérabilité
      Les service workers pourraient être proposés. Ils ne l’ont pas été ces dernières années, mais je ne pense pas non plus qu’il y ait eu récemment tant de problèmes d’interopérabilité de ce côté
    • Les PWA contournent le modèle des app stores. On peut installer des apps directement depuis le navigateur
      Il est donc dans leur intérêt de faire traîner ce sujet et de rendre volontairement l’expérience PWA moins attrayante
      Je ne sais pas trop pourquoi Firefox a retiré la prise en charge des PWA, mais c’est peut-être dû aux coûts de maintenance
    • Parce que les PWA restent un cas d’usage de niche comparé à l’usage beaucoup plus large qu’est « l’affichage de contenu »
  • Polices
    J’aimerais que davantage d’efforts soient consacrés à la typographie CSS
    En particulier, il nous faut leading-trim et margin-trim
    https://medium.com/microsoft-design/leading-trim-the-future-...
    https://developer.mozilla.org/en-US/docs/Web/CSS/margin-trim

  • Le plus grand progrès serait que les mises à jour de Safari ne soient plus liées aux mises à jour du système d’exploitation

    • C’est possible sur macOS
      Mais pas sur iOS
      Et comme de nouvelles mises à jour iOS sortent tous les 3 à 4 mois, ce n’est pas vraiment un problème sur iOS en pratique
  • Je me demande si c’est le signe que WebKit commence à rattraper son retard sur les fonctionnalités WebAssembly
    Il est actuellement assez en retard par rapport à Chrome et Firefox, et il manque de grosses fonctionnalités importantes comme multiple memories ou le garbage collection

    • Les deux ne font pas encore partie de la spécification Wasm et sont en cours de standardisation
      Google est plutôt du genre « prêt ! feu ! visez ! feu à nouveau ! », ce qui l’amène plus facilement à livrer des implémentations de spécifications inachevées, tandis qu’Apple est plutôt du genre « prêt ! visez ! visez ! feu ! », et rechigne généralement à ce genre de choses. Pour Firefox, c’est plus difficile à dire
  • Je n’arrive pas à croire que la Cookie Store API ne soit toujours pas officiellement implémentée
    On est en 2024, et il faudrait encore parser une énorme chaîne de caractères bordélique juste pour récupérer un cookie par son nom ? Sérieusement ?

    • Peut-être parce qu’HTML 5 localStorage est apparu
  • Je ne comprends pas très bien le problème lié au protocole WebSocket
    Après l’upgrade, la connexion n’est plus un protocole http(s), donc autoriser ici l’utilisation de http ou https ne risque-t-il pas de prêter à confusion ? Est-ce si terrible d’utiliser un opérateur ternaire, ou d’avoir une valeur différente de celle vers laquelle la page courante a été déplacée ? Je me réjouis du travail de normalisation côté navigateur, mais cet élément me semble assez peu prioritaire, même s’il mérite d’être changé