Zum Hauptinhalt Zur Navigation

Web Components: Webkit implementiert Shadow DOM

Mit dem sogenannten Shadow DOM lassen sich Teile von Webseiten voreinander verstecken, damit sich diese nicht beeinflussen können. Dieser wichtige Teil der Web Components ist jetzt auch in Webkit verfügbar und damit später auch in Safari.
/ Sebastian Grüner
3 Kommentare News folgen (öffnet im neuen Fenster)
In Webkit steht nun die Shadow-DOM-API bereit. (Bild: Webkit)
In Webkit steht nun die Shadow-DOM-API bereit. Bild: Webkit

Aktuelle Nightly-Versionen der Rendering-Engine Webkit unterstützen die Shadow-DOM-API, wie die Entwickler in ihrem Blog(öffnet im neuen Fenster) mitteilen. Damit setzt das Team einen weiteren wichtigen Teil der sogenannten Web Components um. Diese Sammlung von Web-Spezifikationen ist ursprünglich von Google mit dem Ziel initiiert worden, leicht wiederverwendbare Widgets und Komponenten für das Web erstellen zu können.

Das Shadow DOM sorgt dafür, dass sich die selbstgebauten Elemente nicht gegenseitig stören oder die Website beeinflussen. Durch versteckte DOM-Unterzweige, die hinter sogenannten Schattenwurzeln (Shadow Roots) liegen, erreicht es eine Kapselung. Jedes Element hat also sein eigenes kleines DOM, in dem es abgekapselt von allen anderen Elementen liegt.

Shadow DOM stellt dabei Methoden zur Verfügung, mit denen sich funktionale Barrieren zwischen den einzelnen DOM-Zweigen ziehen lassen. Zugleich ermöglicht das System aber auch die Interaktion dieser DOM-Zweige. Die Webkit-Entwickler heben in ihrer Ankündigung die mögliche Isolation als besonders nützlich hervor, insbesondere für Style-Elemente.

Implementierung unterschiedlich weit fortgeschritten

Die HTML-Templates der Web Components sind in Webkit bereits verfügbar. Folgen sollen noch die Custom Elements, mit denen HTML-Elemente selbst erstellt werden können, die mit eigenen Tags definiert werden können. Noch gibt es in den Standardisierungsgremien des World Wide Web Consortiums (W3C) allerdings Differenzen in Bezug auf die konkrete Umsetzung. Immerhin sind die Spezifikationen noch nicht offiziell verabschiedet, sondern noch im Entwurfsstadium.

Wie zu erwarten unterstützt Googles Chrome und die darauf aufbauenden Browser sämtliche dieser Entwürfe, Firefox einen Großteil dieser. Das in Safari genutzte Webkit folgt nun ebenfalls. Für Microsoft Edge steht eine Vorschau auf die Templates bereit, die Implementierung der restliche Spezifikationen wird zurzeit noch geprüft.


Relevante Themen