Immer mehr Browserhersteller implementieren –webkit- -Prefixes für besseren Support

Vendor-Prefixes: ein Relikt der Vergangenheit?
Kommentare

Eigentlich waren Vendor-Prefixes eine gute Idee, um experimentelle CSS-Features im Browser testen zu können – aber eben nur eigentlich. Tatsächlich sorgen sie dank falscher Anwendung für allerhand Probleme, und mittlerweile ist das -webkit--Prefix im Web so dominant, dass andere Browser-Hersteller ebenfalls Support für bestimmte -webkit- – Prefixes implementieren müssen, weil manche Seiten ohne sie schlichtweg nicht funktionieren. Kein Wunder also, dass einmal mehr die Stimmen in der Community laut werden, die die Einstellung von Vendor-Prefixes fordern.

Ursprünglich hatte das W3C explizit darauf hingewiesen, dass weder das Consortium noch die Browserhersteller beabsichtigten, dass Vendor-Prefixes in produktiven Seiten genutzt werden. Das Problem daran: es hat sich niemand an den Ratschlag gehalten, und stattdessen wurden munter experimentelle CSS-Properties in produktiven Code integriert, damit die eigene Website mit möglichst auffälligen Designs glänzen kann.

-webkit–Prefixes in Nicht-WebKit-Browsern

Über die Jahre hat das vor allem dazu geführt, dass das -webkit--Prefix zu einem der dominierenden Prefixe geworden ist. Andere Browser-Hersteller, die nicht auf die Webkit/Blink-Engine zurückgreifen, implementieren darum ebenfalls einzelne -webkit--Prefixe in ihre Browser, um sicherzugehen, dass eine Seite funktioniert – und zwar unabhängig von den Vendor-Prefixes. So hat Opera bereits in 2012 damit begonnen, -webkit--Prefixe zu implementieren; Microsoft Edge unterstützt ebenfalls bereits seit seinem Release vor gut einem halben Jahr eine umfangreiche Liste von –webkit--Prefixes, um die Website-Kompatibilität sicherzustellen.

In Kürze wird nun auch Mozilla nachziehen: so soll ab Firefox 46 oder 47, deren Releases für das Frühjahr diesen Jahres geplant sind, Support für eine Reihe nicht-standardkonformer –webkit--Prefixes implementiert werden, um die Kompatibilität mit für WebKit optimierten Seiten insbesondere im Mobile Web zu verbessern.

Die Rede ist dabei laut Patrick Catanzariti vor allem von den folgenden –webkit--Prefixen:

  • -webkit-flexbox
  • -webkit- prefixed gradients
  • -webkit-transforms
  • -webkit-transitions
  • -webkit-appearence
  • -webkit-background-clip
  • -webkit-device-pixel-ratio
  • -webkit-animation
  • -webkit-border*

Darüber hinaus könnten auch weitere CSS-Features übernommen werden; eine Liste möglicher Features findet sich in Mozillas Wiki.

Stellen Sie Ihre Fragen zu diesen oder anderen Themen unseren entwickler.de-Lesern oder beantworten Sie Fragen der anderen Leser.

Was heißt das für Websites und Website-Entwickler?

Während ein solcher Schritt nicht neu ist, gibt es für Website-Entwickler dennoch einiges zu bedenken. So dürften die meisten Websites zwar sowieso bereits mit einem -moz--Prefix versehen sein, dementsprechend sollte das kommende Update bestehenden Seiten wenig ausmachen. Einzig einzelne Design-Features könnten von Problemen betroffen sein, und die gilt es bereits im Vorfeld unter die Lupe zu nehmen.

Testen ist hier das Stichwort. So empfiehlt es sich, den aktuellen Stand der Änderungen in Firefox Nightly zu testen, bedenken sollte man hierbei jedoch, dass noch nicht alle -webkit--Prefix-Änderungen bereits in Firefox Nightly implementiert wurden. Sehr viel wichtiger ist es laut Catanzariti, WebKit-spezifische Styles in Microsoft Edge zu testen, denn der Microsoft-Browser interpretiert die –webkit--Prefixe bereits. Dazu sagt Catanzariti:

This means that any WebKit specific styles you have within your sites could already be displaying in a browser you were not expecting them to.

Time to Say Goodbye!

Die oben bereits angesprochene Dominanz der -webkit--Prefixe sorgt für einige Probleme – zum Beispiel für Inkompatibilitäten von Websites oder einer größeren Fragmentierung des Webs. Dass andere Browser ihre Kompatibilität mit aktuellen Technologien erweitern wollen, ist zwar löblich, der Weg über die Implementierung von -webkit--Prefixen jedoch der falsche.

Besser wäre es, die Vendor-Prefixe endgültig abzuschaffen. Das sehen auch die Browser-Hersteller ähnlich. So gibt es sowohl im Chrome/Blink-Team als auch bei Mozilla Pläne, ein Feature erst dann zu implementieren, wenn es Stable genug ist oder es zumindest ohne Prefix hinter einer Feature-Flag zu verstecken. Das Microsoft-Edge-Team geht sogar noch einen Schritt weiter und will die Vendor-Prefixes für Edge komplett entfernen, sodass Entwickler einfach gemäß der aktuellen Web Standards arbeiten können.

Im Klartext heißt das also: die sogenannte „graceful degradation“ über Vendor-Prefixes ist nicht der richtige Weg. Dazu erklärt Catanzariti:

The recommendation was always for developers to use all available vendor prefixes (from -webkit- to -o-). If you are using features that rely on prefixed properties and you used prefixes to gracefully degrade your design on other browsers, this won’t work anymore.

Dass Vendor-Prefixes jedoch nach und nach aus dem Webdesign verschwinden sollen, ist nichts Neues; bereits seit Jahren fordern Webentwickler, dass neue Features erst dann genutzt werden, wenn sie überall funktionieren – und zwar präfixlos. Mit den Überlegungen der Browser-Hersteller, vermehrt Feature-Flags zu nutzen oder eben ganz auf Prefixes zu verzichten, dürfte man dem nun endlich einen Schritt näher kommen.

Aufmacherbild: Skeleton and archaeological tools.Training for dig fossil. von Shutterstock / Urheberrecht: LuFeeTheBear

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -