YAML ist wie Blueprint oder YUI Grids ein (X)HTML/CSS-Framework, d.h. ein Grundgerüst aus Markup- und CSS-Dateien, das speziell für tabellenfreie mehrspaltige Layouts mit Header und Footer ausgelegt ist. Das Markup besteht dabei hauptsächlich aus <div>-Elementen mit id-Attributen wie #header, #page, #col1 oder #footer. Der CSS-Code verteilt sich auf eine Reihe von Dateien mit dem Ziel, ein möglichst modulares System zu erhalten, in dem man je nach Bedarf einzelne Komponenten einbindet oder auskommentiert.

In der Vergangenheit gab es einige Debatten über das Für und Wider der Verwendung solcher Frameworks. Dirk Jesse, der Autor von YAML, ist kurz darauf in seinem Blog auf zwei exemplarische Posts, die einige Nachteile derartiger Frameworks aufzählen, eingegangen. Zu seinen Argumenten (denen ich voll und ganz zustimme) möchte ich gerne einen weiteren Punkt ergänzen, auf den Dirk leider nicht eingegangen ist:

CSS Frameworks und semantische Codeauszeichnung stehen im Gegensatz zueinander

Auch wenn ich die Formulierung etwas überzogen finde, kann ich doch das dahinter stehende Arguent nachvollziehen (bilde ich mir zumindest ein). Natürlich ist es aus dem streng puristischen Blickwinkel unmöglich ids wie #col1 oder class-Attribute wie c50l zu verwenden, da diese nicht die semantische Bedeutung ihres Inhaltes transportieren. Dazu ist anzumerken, dass erstens solche Bezeichner (zumindest bei YAML) eher die Ausnahme sind und zweitens die Semantik von Inhalten in erster Linie über die verwendeten Tags ausgedrückt wird (also <h1>, <ul> oder <em>) und dazu macht YAML keinerlei Einschränkungen.

In diesem Sinne kann ich nur sagen, dass YAML ein hervorragendes Werkzeug ist, um in relativ kurzer Zeit stabile und browserübergreifend weitgehend gleich aussehende Layouts zu entwickeln. An dieser Stelle ganz herzlichen Dank an Dirk für seine Arbeit und auch nicht zuletzt für seine hervorragende Dokumentation, die den Einstieg in YAML sehr einfach macht!