Compat 2021: Beseitigung der fünf wichtigsten Kompatibilitätsprobleme im Web

Google arbeitet mit anderen Browseranbietern und Branchenpartnern zusammen, um die fünf größten Probleme mit der Browserkompatibilität für Webentwickler zu beheben: CSS-Flexbox, CSS Grid, position: sticky, aspect-ratio und CSS-Transformationen.

Google arbeitet mit anderen Browseranbietern und Branchenpartnern zusammen, um die fünf größten Probleme mit der Browserkompatibilität für Webentwickler zu beheben. Die Schwerpunkte sind CSS-Flexbox, CSS-Raster, position: sticky, aspect-ratio und CSS-Transformationen. Unter So können Sie einen Beitrag leisten und mitmachen, erfahren Sie, wie Sie mitmachen können.

Hintergrund

Kompatibilität im Web war für Entwickler schon immer eine große Herausforderung. In den letzten Jahren haben sich Google und andere Partner, einschließlich Mozilla und Microsoft, daran gemacht, mehr über die größten Herausforderungen für Webentwickler zu erfahren, um unsere Arbeit voranzutreiben und Prioritäten zu setzen, um die Situation zu verbessern. Dieses Projekt ist mit der DevSAT-Studie (Developer Satisfaction) von Google verbunden. Es begann in größerem Umfang mit der Erstellung von MDN-DNA-Umfragen (Developer Needs Assessment) in den Jahren 2019 und 2020 sowie einer ausführlichen Forschungsarbeit, die im MDN Browser Compatibility Report 2020 vorgestellt wurde. Weitere Untersuchungen wurden in verschiedenen Kanälen durchgeführt, z. B. in den Umfragen State of CSS und State of JS.

Ziel des Jahres 2021 ist es, Probleme mit der Browserkompatibilität in fünf Schwerpunkten zu vermeiden, damit Entwickler darauf vertrauen können. Dieser Vorgang wird als #Compat 2021 bezeichnet.

Auswählen, worauf Sie sich konzentrieren möchten

Obwohl es praktisch auf der gesamten Webplattform Probleme mit der Browserkompatibilität gibt, liegt der Schwerpunkt dieses Projekts auf einer kleinen Anzahl der problematischsten Bereiche, die erheblich verbessert werden können, sodass sie nicht mehr als die Hauptprobleme für Entwickler gelten.

Im Kompatibilitätsprojekt werden mehrere Kriterien verwendet, die beeinflussen, welche Bereiche priorisiert werden sollen. Einige sind:

Die fünf Schwerpunkte des Jahres 2021

Seit 2020 arbeitet Chromium an den wichtigsten Bereichen, die unter Optimierung der Browserkompatibilität von Chromium im Jahr 2020 beschrieben wurden. 2021 möchten wir sogar noch einen Schritt weiter gehen. Gemeinsam mit Igalia arbeiten Google und Microsoft an der Lösung der wichtigsten Probleme in Chromium. Igalia, die regelmäßig zu Chromium und WebKit beiträgt, und Verwalter des offiziellen WebKit-Ports für eingebettete Geräte, hat diese Kompatibilitätsbemühungen sehr unterstützt und sich bei der Lösung der identifizierten Probleme engagiert.

Diese Bereiche sollen 2021 behoben werden.

CSS-Flexbox

Die CSS-Flexbox wird im Web häufig verwendet und birgt noch einige große Herausforderungen für Entwickler. Beispielsweise hatten sowohl Chromium als auch WebKit Probleme mit auto-height-Flex-Containern, was zu falsch skalierten Bildern führt.

Gestrecktes Foto eines Schachbretts.
Bild mit falscher Größe aufgrund von Fehlern.
Schachbrett
Bild in der richtigen Größe.
Foto von Alireza Mahmoudi

Im Blogpost Flexbox Cats von Igalia werden diese Probleme mit vielen weiteren Beispielen genauer erklärt.

Warum sie priorisiert wird

CSS-Raster

Das CSS-Raster ist ein zentraler Baustein für moderne Weblayouts, das viele ältere Verfahren und Problemumgehungen ersetzt. Die Akzeptanz wächst stetig, aber sie muss solide sein. Unterschiede zwischen Browsern sind also kein Grund, dies zu vermeiden. Ein Bereich, der fehlt, ist die Möglichkeit, Rasterlayouts zu animieren, die in Gecko, aber nicht in Chromium oder WebKit unterstützt werden. Wenn dies unterstützt wird, sind Effekte wie diesen möglich:

Animierte Schachdemo von Chen Hui Jing.

Warum sie priorisiert wird

CSS-Position: fixiert

Durch die fixierte Positionierung können Inhalte am Rand des Darstellungsbereichs fixiert werden. Sie wird häufig für Header verwendet, die immer oben im Darstellungsbereich sichtbar sind. Diese Funktion wird zwar in allen Browsern unterstützt, es gibt aber Fälle, in denen sie nicht wie vorgesehen funktioniert. Fixierte Tabellenüberschriften werden in Chromium beispielsweise nicht unterstützt. Obwohl jetzt hinter einem Flag unterstützt werden, sind die Ergebnisse in allen Browsern unterschiedlich:

Chromium mit „TablesNG“
Gecko
WebKit

Sehen Sie sich die Demo zu fixierten Tabellenüberschriften von Rob Flack an.

Warum sie priorisiert wird

CSS-Eigenschaft des Seitenverhältnisses

Mit dem neuen CSS-Attribut aspect-ratio ist es einfach, ein konsistentes Breite-zu-Höhe-Verhältnis von Elementen aufrechtzuerhalten, sodass der bekannte padding-top-Hack nicht mehr erforderlich ist:

Verwendung des Abstands zum oberen Rand
.container {
  width: 100%;
  padding-top: 56.25%;
}
Seitenverhältnis verwenden
.container {
  width: 100%;
  aspect-ratio: 16 / 9;
}

Da dies ein so häufiger Anwendungsfall ist, wird davon ausgegangen, dass sie weit verbreitet ist. Wir möchten sicherstellen, dass sie in allen gängigen Szenarien und in allen Browsern funktioniert.

Warum sie priorisiert wird

CSS-Transformationen

CSS-Transformationen werden seit vielen Jahren in allen Browsern unterstützt und sind im Web weit verbreitet. Es gibt jedoch immer noch viele Bereiche, in denen sie nicht in allen Browsern gleich funktionieren, insbesondere bei Animationen und 3D-Transformationen. Ein Kartenumblättern-Effekt kann in verschiedenen Browsern beispielsweise sehr unterschiedlich sein:

Kartenumbruch-Effekt in Chromium (links), Gecko (Mitte) und WebKit (rechts). Demo von David Baron aus dem Fehlerkommentar.

Warum sie priorisiert wird

So können Sie einen Beitrag leisten und dem Projekt folgen

Folgen Sie den Neuigkeiten, die wir unter @ChromiumDev oder auf der öffentlichen Mailingliste, Compat 2021 posten, und teilen Sie diese mit anderen. Prüfen Sie, ob Fehler vorhanden sind, oder melden Sie sie für Probleme, die aufgetreten sind. Falls etwas fehlt, wenden Sie sich über die oben genannten Kanäle an uns.

Sie werden hier regelmäßig über die Fortschritte auf web.dev informiert. Den Fortschritt für jeden Fokusbereich können Sie auch im Compat 2021 Dashboard verfolgen.

Compat 2021-Dashboard
The Compat 2021 Dashboard (Screenshot vom 16. November 2021).

Wir hoffen, dass diese gemeinschaftlichen Bemühungen zwischen den Browseranbietern zur Verbesserung der Zuverlässigkeit und Interoperabilität Sie dabei unterstützen, tolle Dinge im Web zu entwickeln.