Catégories
Astuces et Design

Amélioration de la compatibilité des navigateurs de Chromium en 2020

L'année dernière, MDN a dirigé Enquête d'évaluation des besoins des développeurs Web (ADN) 2019. L'enquête ADN a attiré les réponses de plus de 28 000 développeurs du monde entier, apportant ensemble plus de 10 000 heures d'informations sur ce qui fonctionne et ne fonctionne pas sur le Web aujourd'hui, et sur la façon dont le Web doit changer pour répondre aux besoins de la communauté des développeurs. .

De nombreux besoins ont été exprimés résultats du sondage, mais celui qui se démarquait clairement était compatibilité du navigateur – la manière dont les sites Web se présentent ou se comportent différemment sur les différents navigateurs Web. Il est clair qu'il est toujours difficile de développer un site Web ou une application Web qui fonctionne de manière fiable sur tous les navigateurs.

Pour aider à se concentrer sur les besoins spécifiques des développeurs, MDN a mené une enquête de suivi en mars 2020 – le MDN Browser Compatibility Survey. Cette enquête, menée par plus de 3000 développeurs Web et complétée par des entretiens post-enquête, visait à découvrir les problèmes spécifiques de la communauté des développeurs Web avec la compatibilité du navigateur. Aujourd'hui, j'aimerais parler de nos enseignements à tirer des résultats et de ce que nous, Google Chrome, faisons à leur sujet.

Il est important de souligner que ce ne sont que quelques-unes des premières conclusions de l'enquête de compatibilité du navigateur MDN et sont axées sur les problèmes rencontrés par les développeurs concernant Chrome.

Flexbox

Flexbox est un outil puissant pour la mise en page sur le Web. Il offre une manière ergonomique de définir des dispositions qui répondront avec élégance sur des fenêtres de différentes tailles. Mais ce pouvoir n'est pas très bon lorsqu'il ne peut pas être utilisé sur tous les navigateurs. Flexbox est l'une de nos principales priorités pour la compatibilité des navigateurs sur le Web en 2020, et nous y avons déjà investi massivement.

L'équipe de rendu Chrome a travaillé sur une réarchitecture de la mise en œuvre de Chromium flexbox en plus de notre moderne Moteur de mise en page. Ce travail, que nous prévoyons d'apporter à Chrome 84, devrait résoudre un certain nombre de problèmes de compatibilité Flexbox dans Chromium.

Nous travaillons également à apporter flex-gap et fieldset + flex support à Chromium cette année. En fait, le flex-gap sera disponible dans Chrome 84 – essayez-le et Faites le nous savoir ce que tu penses.

Défilement

Faire défiler vers la droite dans un navigateur peut être délicat. Le défilement à travers plusieurs navigateurs peut être pénible (par exemple, il faut une bibliothèque entière pour verrouiller systématiquement le défilement du corps). Nous continuons à fouiller dans les commentaires sur la compatibilité de défilement, mais quelques domaines clés se sont démarqués jusqu'à présent:

  • Comment les claviers virtuels affectent – ou n'affectent pas – les unités de fenêtre dans différents navigateurs. (Notez les travaux récents de Microsoft Edge sur un API VirtualKeyboard cela peut aider ici.)

  • Un manque de cohérence dans les événements liés aux entrées et le résultat de l'interaction avec eux (par exemple, ce qui se passe lorsque vous preventDefault () une toucher).

  • Difficulté à contrôler le comportement du défilement dans les navigateurs (par exemple via l'ancrage du défilement).

Nous prévoyons de commencer ici en investissant davantage pour comprendre comment améliorer efficacement le défilement sur le Web. Dans ce cadre, nous devons continuer à vous entendre. Veuillez continuer à nous parler de vos problèmes de compatibilité de défilement – surtout en ce qui concerne Chrome.

Contrôles de formulaire

Les formulaires sont une partie très ancienne du Web, ajoutés avant même CSS. Les contrôles de formulaire étaient destinés à imiter l'aspect et la convivialité de la plate-forme native, mais il est clair qu'ils n'ont pas réussi à le faire de manière cohérente et n'ont pas non plus réussi à répondre aux besoins du développement Web moderne. L'enquête de compatibilité a révélé deux thèmes généraux ici: la stylabilité et le comportement incohérent entre les navigateurs.

Concernant le style des contrôles de formulaire, les équipes Microsoft Edge et Google Chrome ont récemment terminé un projet d'un an pour actualiser et mettre à jour les styles de formulaire par défaut dans les navigateurs Chromium. Cette actualisation indispensable modernise l'apparence par défaut et améliore l'accessibilité et la prise en charge tactile. Cependant, il est clair que sans plus de contrôle sur la façon dont les contrôles de formulaire sont stylisés, ils présentent toujours une difficulté de compatibilité pour les développeurs Web. Nous n'avons rien à annoncer ici aujourd'hui, mais nous continuerons d'étudier la stylabilité des formes en 2020.

Avec l'ancien, avec le nouveau; certains des contrôles de formulaire sont actualisés dans Chrome 83. (plus dans le blogpost).

En termes de comportement, il semble y avoir une préoccupation générale que les comportements de contrôle de formulaire ne soient pas bien spécifiés ou que ces spécifications ne soient pas systématiquement suivies par les navigateurs. Certains exemples concrets d'incohérences entre les navigateurs que nous avons entendus prennent en charge certains les types, les comportements de remplissage automatique et les comportements de restauration de contenu lors de la navigation vers et depuis les pages contenant des formulaires. Encore une fois, nous n'avons rien de spécifique à annoncer pour l'instant, mais nous examinerons ce domaine à l'avenir.

Grille CSS

Comme Flexbox, Grille CSS est un élément important de la mise en page moderne. En regardant les premiers résultats de l'enquête, il semble que l'histoire de la prise en charge de CSS Grid dans Chromium soit assez bonne (nous avons nos amis de Igalia à remercier pour cela!). Il existe une exception claire: le chrome ne prend toujours pas en charge sous-grille.

Espérons que ce ne sera pas une exception pour beaucoup plus longtemps. Nous en sommes encore aux premiers balbutiements, mais je suis ravi de partager qu'une équipe de Microsoft Edge travaille sur la réarchitecture de la prise en charge de Chromium Grid pour utiliser le nouveau moteur LayoutNG – et dans le cadre de cela, nous avons l'intention d'ajouter une prise en charge de sous-grille! Nous sommes ravis de voir cette fonctionnalité arriver et souhaitons exprimer notre gratitude à nos partenaires de Microsoft, Igalia et aux nombreux autres contributeurs Chromium qui ont travaillé sur le support de CSS Grid.

Lancement de fonctionnalités sur le Web

Contrairement à de nombreuses plates-formes, le Web a plusieurs implémentations. Cela a des inconvénients, mais c'est aussi l'une des plus grandes forces du Web. Il élargit considérablement la diversité des entrées dans la plate-forme Web et fournit un facteur de protection contre les erreurs architecturales qui peuvent se produire lorsque l'on brouille une plate-forme (le Web) et une implémentation (un seul navigateur).

Dans Chrome, nous croyons fermement à faire avancer le Web et à proposer de nouvelles fonctionnalités qui apportent des avantages aux utilisateurs et aux développeurs. Mais il ressort clairement de l'enquête de compatibilité du navigateur MDN que certains développeurs ont des inquiétudes quant à la manière dont cela peut affecter la compatibilité. Nous n'allons pas arrêter de faire avancer le Web, mais nous prévoyons d'être plus rigoureux dans notre approche et dans notre communication sur la compatibilité. Cherchez-en plus bientôt.

Résumer

En ce qui concerne la compatibilité du navigateur, il y a encore trop de fonctionnalités manquantes et de bugs de bord. Mais il ne doit pas en être ainsi. Les choses peuvent s'améliorer et s'amélioreront si les fournisseurs de navigateurs peuvent comprendre ce qui cause le plus de douleur et prendre des mesures pour en résoudre les causes. Dans Chrome, nous faisons de notre mieux pour écouter et nous faisons de notre mieux pour répondre à ce que nous entendons. Nous espérons que cela vous aidera et nous attendons avec impatience une 2021 plus compatible.

Pour tout ce qui précède, veuillez nous dire si nous avons raison ou tort. Tweetez-nous, signalez les bogues et mettez en évidence les problèmes que vous pensez que nous devrions prioriser, remplissez ce formulaire, participez à la prochaine enquête Web que vous voyez. Votre voix compte pour nous et est un facteur majeur dans la détermination du travail que nous priorisons.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *