molily: Tabellen oder Divsuppe. Was ist besser?

Beitrag lesen

Hallo,

Was kann an einem DIV-Element nicht semantisch sein?

Geschickte Argumentation: Es hat keine Bedeutung, damit steht es neutral abseits der Semantik-Diskussion und man kann es einsetzen, wie man will, aus der Warte lässt es sich einfach nicht bewerten.

Klingt logisch, glaube ich aber nicht. Wie alle Elemente sind div und span zur Strukturierung geeignet. Wenn ich z.B. um Navigation ein div lege und um den Hauptinhalt auch, dann habe ich einen Elementbaum, der die innere Struktur des Dokuments wiedergibt. Diese divs haben eine Bedeutung. Dasselbe gilt für viele divs mit Klassen, die wirklich die Struktur des Textes sichtbar machen und deren Verfasstheit herausarbeiten. Für <span class="..."> gilt ähnliches. Dahinter steckt ein Dokumentmodell: Elemente organisieren Informationen in einem hierarchischen Baum.

Das Eigentümliche an den Präsentationsgliederungen ist nun, dass sie nun Strukturierungen vornehmen, wo das Dokument selbst keine solche Struktur hergibt und es auch keinen Sinn macht, eine solche Strukturierung vorzunehmen (außer eben für Zwecke der einen bestimmten Präsentation). Dadurch wird der Elementenbaum nur komplexer, aber nicht strukturierter/bedeutungsvoller.

<div class="a"><ul class="b"><li><div class="c"><h2 class="d"><span class="e"><a href=""><span class="f">...

Die vielgelobte Trennung von Textauszeichnung und Präsentationslogik ist damit Makulatur.

Wer lobt die?

Die gesamte Webstandards-Maschinerie, wie sie sich gegen Tabellen und für CSS-Layout eingesetzt hat, beruht auf diesem Modell.

Geht es nicht vielmehr um die Trennung von Elementen und deren Auszeichnung?

Äh... häh?

Die Präsentationslogik (wobei Logik hier imho schon der falsche Ausdruck ist) muss mangels fehlender Alternativen ja zwangsläufig im  Markup stehen.

Der Theorie nach zeichnet HTML Texte gemäß deren Struktur aus, Überschriften als solche, Absätze, Listen, Tabellen, Hyperlinks, Abschnitte usw. Dabei ist das Schaffen von Angriffspunkten für ein Stylesheet erst einmal ausgeklammert.

Die Betonung liegt klar auf "HTML-Elemente" - ergo: wo keine solchen sind, kann man mit CSS auch nichts machen. 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. Scheinbar hat man ja auch beim W3C erkannt, dass sich nicht alle (An)Forderungen, die man so gerne an CSS stellt, mit den bisherigen Mitteln umsetzen lassen. Man denke nur etwa an das Multi-column layout Modul in CSS 3.

Die Überlegungen kann ich nicht nachvollziehen, inwiefern ist dieses Modul etwas neues? Es bezieht sich auch immer nur auf die Darstellung von bereits bestehenden HTML-Strukturen.

Wo ist eigentlich das Problem? DIV sind sinnentleerte Elemente, die der Präsentationsgliederung dienen.

Sie durchkreuzen die Idee von HTML als ausgabeunabhängiger Auszeichnungssprache, bei der man die bestehende Dokumentstruktur möglichst adäquat auszeichnet. Informationen werden mehrfach in Container verschachtelt, ohne dass das irgendetwas über die Informationen aussagt. Die folgenden Praxisprobleme sind weitesgehend eine Folge der Nicht-Verwirklichung dieses Anspruchs.

Der normale User interessiert sich doch wohl auch eher für die ihm präsentierten Inhalte, als für das Markup einer Seite.

Das versteht sich von selbst, es ging in der Ausgangsfrage auch wohl eher um die Konsequenzen für das Webauthoring.

Mathias

--
»No nations, no borders.«
SELFHTML Weblog