Hallo, Michael,
'div'-Soup ist genau so schlechtes Markup wie für das Layout missbrauchte und/oder in mehreren Ebenen ineinander verschachtelte Tabellen. Eine schlechte Struktur bleibt eine schlechte Struktur, egal ob sie mit Tabellen, Frames, Dutzenden von 'div' oder anderen veralteten, aktuellen oder zukünftigen Techniken realisiert wird. Schau dir z.B. http://jscript.dk/lycos/2/ an, das ist einfach gruselig: (...)
Dieser Entwurf ist meiner Meinung nach insofern ein schlechtes Beispiel, weil die Struktur bzw. Gliederung existiert, und zwar anders als auf vergleichbaren überladenen Portalseiten. Ob diese vorhandene ausgedachte und umgesetzte Struktur so sinnvoll ist, ist eine andere Frage, aber vorerst nicht relevant, wenn man den Prozess zuendedenkt. Ich nehme nicht an, dass du dich vor allem daran störst, dass beispielsweise verschachtelte div-Elemente anstatt ul-Listen Verwendung finden wie im Codeausschnitt. Dass diese Methode nur gewählt wurde, weil wahrscheinlich Browser aus grauer Vorzeit unterstützt werden sollen, dürfte dir bekannt sein.
Der entscheidende Punkt, welcher für die »div-Soup« verantwortlich ist, ist nicht das Fehlen von logischem Markup. Das Einbringen von mehr unterschiedlichen Elementen wird am grundlegenden Aufbau nichts ändern, weil die zahlreichen div-Elemente nicht durch aussagekräftigere Elemente ersetzt werden können, sondern höchstens entfernt werden müssten. Sie gruppieren zu einem Teil grob, abstrakt und tatsächlich semantisch, wie du in »Schritt 2« beschrieben hast, beispielsweise wenn sie inhaltlich verschiedene Bereiche trennen, welche dann später auch über das Stylesheet optisch getrennt werden können.
Allein mit diesen Elementen lässt sich das Dokument zwar relativ anspruchsvoll layouten, aber nicht so komplex wie im Beispiel (ob das segensreich oder nicht ist, lasse ich vorerst außen vor). Die meisten div-Elemente dienen nämlich lediglich als Angriffspunkte des Stylesheets, um Formatierungen vorzunehmen, welche sich nicht auf die dokumentinterne unabhängig von jeglicher Darstellung ersichtliche Struktur zurückführen lassen. Es gibt beispielsweise keinen Grund, wieso »Movies«, »Lifestyle« und »Entertaiment« in der Mittelspalte eine Einheit bilden und wieso sie nebeneinander angeordnet sind. Hier kann man sich höchstens herausreden, indem man sich darauf beruft, dass es gleichförmige Gruppen von h2- und p-Elementen sind, womit aber dennoch nur ein Teil erklärt wurde. Bei vielen anderen IDs und Klassen wird es noch deutlicher, dass es sich um reine Präsentationsgliederungen handelt (class="smallfont", class="padding", class="bold", class="bluebox" usw.), um unter anderem die Rahmeneffekte zu erzielen, welche über das CSS-Boxmodell mit einem Element nicht möglich sind. Also im Grunde genommen nichts anderes als das font-Element.
Nun hat man ein sauber strukturiertes Dokument vorliegen, dessen Darstellung per Browser-Stylesheet allerdings wohl kaum überzeugen wird. Nun wird CSS eingesetzt und ein Seitenkonzept überlegt, das den Inhalt am besten präsentiert. (...) 'div' und 'span' werden hierzu benutzt, um Block- bzw. Inline-Elemente zu jeweils einem Element zusammenzufassen, um das entworfene Konzept mit geeigneten Regeln umsetzen zu können.
Ja - genau dabei und zu diesem Zweck werden zahlreiche, wenig logische/semantische div-Elemente mit dem oben beschriebenen Charakter eingefügt. Das entworfene Konzept, welches (angeblich) den Inhalt am besten präsentiert, kann nur damit umgesetzt werden. Wo liegt folglich der sprichwörtliche Hase im Pfeffer?
Besonders gute Webautoren brauchen hier nur noch wenige (oder keines) dieser Elemente einzusetzen, da sie in Schritt 1 und 2 bereits ausreichend strukturiert oder Blöcke verwendet haben, die sich ohne Container ausreichend gestalten lassen.
Mit Verlaub, das finde ich schlichtweg unsinnig. »Besonders gute Webautoren« (du ahnst bereits, wieso hier ein [TM] vorzüglich passt) geben sich demzufolge mit den Strukturierungen und folglich auch mit dem damit möglichen Seitenkonzept zufrieden, welche/welches sich direkt aus der geschilderten groben Dokumentstrukturierung ableiten/ableitet. Somit wären die Prozesse in jedem Fall determinierbar und der Spielraum entsprechend klein.
Worauf ich hinaus will: Wo setzt also deine Kritik im Bezug auf die genannte Seite an? Bei welchem Schritt beziehungsweise worin liegt das Versäumnis? Was ist deine Meinung nach die Ursache der »div-Soup«? Ich schaffe es nicht, dein Modell auf den Beispielfall zu übertragen. Zweifelst du bereits daran, dass im ersten Schritt passende Inhalte gewählt wurden, was der Ursprung des Übels ist?
Nur um es auf die Spitze zu treiben - »Besonders Gute Webautoren«(tm) würden folgendes deinen Ausführungen nach niemals schreiben:
<div class="schatten">
<div class="zitat">
<p><q>Das Internet ist das Ding mit den Kabeln. Das Usenet ist das Ding mit den Menschen.</q><br /> [<cite><a href="http://homepage.boku.ac.at/partl/">Hubert Partl</a></cite>]</p>
</div>
</div>
;)
Grüße,
Mathias
»In Anbetracht des extrem schädlichen Einflusses, der von diesem Forum ausgeht, wär's natürlich besser, es so weit zu bringen, dass es in sich kollabiert.«<img src="http://w0.extreme-dm.com/0.gif?tag=saftnase&j=n" border="0" alt="">