Timo "God's Boss" Reitz: Tabellen oder Divsuppe. Was ist besser?

Beitrag lesen

Mal allgemein: Das ist glaube ich die Lebenslüge der CSS-Layout-Freunde. »Idealerweise« trifft es genau.
Das sind nicht die "CSS-Layout-Freunde", sondern wenn überhaupt die "Puristen", bzw. die "Minimalisten".

Nein. Die "Puristen" oder "Minimalisten" würden auf Layout-Möglichkeiten verzichten, um dafür ihr semantisches Markup exakt so zu erhalten, wie es geschrieben war (also ohne an das Layout zu denken).
Erst "eine Stufe Purismus weniger" würde das Ändern des Markups überhaupt erlauben.

Was kann an einem DIV-Element nicht semantisch sein? Auszug aus SELFHTML Allgemeines Block-Element:"Dieses allgemeine Element bewirkt nichts weiter als dass es in einer neuen Zeile des Fließtextes beginnt. Ansonsten hat es keine Eigenschaften. Es ist dazu gedacht, um mit Hilfe von nach unten CSS formatiert zu werden."

Hier irrt SelfHTML bzw. ist ungenau. Es ist richtig, dass div-Elemente (auch span) in großer Zahl eingesetzt werden, um später von CSS und JavaScript genutzt zu werden. Das ist aber nicht der eigentliche Zweck, denn div und span haben in HTML eine genau definierte Aufgabe: Sie bieten eine generische Möglichkeit, Struktur in HTML-Dokumente zu bringen. Das hat mit CSS und JavaScript noch nichts zu tun.
Einfach gesagt: Wenn man ein Element benötigt, aber kein anderes passendes Element findet, dann nimmt man div (im Block-Kontext) bzw. span (im Inline-Kontext).


Hier fehlt also eher eine dritte Sprache, nämlich eine Layoutsprache. In Ermangelung einer solchen, wird also aktuell CSS (mit dazugehörigen HTML-Elementen) als "Ersatz-Krücke" benutzt.

Ich denke nicht, dass eine solche fehlt, sondern dass sie lediglich mangelhaft unterstützt wird. Stellt nicht XSL-FO eine solche Layoutsprache dar? Man könnte es vielleicht auch ganz anders herum sehen: (X)HTML zeichnet ja lediglich die *Struktur* von Inhalt aus, nicht die tatsächliche *Bedeutung*. Man könnte sich also Sprachen vorstellen (beispielsweise XML-Sprachen), die etwas solches leisten und per XSL-Transformation in XHTML umgewandelt werden. Damit wäre XHTML genau die Sprache, die du meinst.
Und ich habe gleich noch einen: Was ist Mozilla-Software und ihrer XML Binding Language? Diese bietet die Möglichkeit, per CSS ein bestimmtes, mittels JavaScript und einigen XML-Sprachen (XUL, XHTML beispielsweise) definiertes Verhalten an Elemente zu binden.
Vielleicht sind die Möglichkeiten schon längst da, nur noch nicht ausreichend standardisiert und implementiert?

Wie bereits gesagt, glaube ich nicht, dass du eine "Präsentationsgliederung" aus dem Markup heraushalten kannst - aktuell jedenfalls nicht (und meiner Meinung nach auch in absehbarer Zukunft nicht).

Das ist wohl leider wahr.

--
Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.