Nun bin ich schon mehrere Jahre in diversen HTML- und CSS- Foren unterwegs – lesend, aber auch schreibend.
Der traurige “Ist”- Zustand dort ist…:
Die wohl am meisten benutzen Einleitungssätze verschiedenster einschlägiger Postings ist: “Ich habe ein Div- Layout gemacht …”, “Ich habe ein CSS- Layout …” oder “Ich steige gerade von einem Tabellen- Layout auf ein Div- Layout um …”.
Und immer wieder tauchen Beispiel- Codes in dieser Form auf:
<div id="wrapper">
<div id="header"
<div>Die Überschrift</div>
</div>
<div id="navi">
<div><a href="">Home</a></div>
...
</div>
<div id="content">
<p>Text</p>
</div>
</div>
Das Element “div” scheint hierbei ein Allzweckmittel zur Strukturierung zu sein, quasi als ein Ersatz der bisher gewohnten Tabellen.
Nun, was ist ein “div” überhaupt?
Div ist die Abkürzung von “Division” und bedeutet soviel wie “Teilung, Abtrennung, Aufgliederung, Kategorie,…”. Dies ist auch schon die einzige Bedeutung: eine Vielzahl von Elemente aufteilen bzw. gruppieren. Im Gegensatz zu “Listen” oder “Überschriften” also ein Element ohne spezielle Funktion.
HTML ist aber – wie der Name “HyperText Markup Language” schon sagt eine “Auszeichnungssprache”, d. h. Inhalt wird mit dem zur Bedeutung passenden Element “ausgezeichnet”.
Beispiel: <h1>Die Überschrift</h1>: “h1″ bedeutet “Headline 1″ – also die Überschrift erster Ordnung.
Legt man dies nun auf obiges Beispiel um haben alle angeführten Inhalt die gleiche Bedeutung: die Überschrift ist gleich definiert wie die Navigation oder der Inhalt.
“Das ist doch egal, oder?”
Der erste optische Eindruck würde dies eventuell bestätigen, aber die so oft sträflich vernachlässigte “Barrierefreiheit” und “Maschinenlesbarkeit” fordert das Gegenteil! Korrekte semantische Auszeichnung ist da ein MUSS!
So betonen Vorlesebrowser die Inhalte je nach Auszeichnung, oder Sites wären auch mit deaktiviertem oder defektem CSS gut bedienbar – siehe “Naked Day”. Und auch in Entwickler- Teams ist Semantik ein ausgezeichneter Motor zur gemeinsamen Arbeit.
Am meisten aber leidet der wohl bekannteste, blinde Besucher unter fehlender Semantik: die Suchmaschine!
Für Google & Co. ist der Inhalt einer “Div- Soup” eine elends lange Kette von Wörtern, ohne Unterscheidung und Wertigkeit! Die Suchmaschinen haben keine Möglichkeit z.B. kurze und wichtige Zusammenfassungen, wie es Überschriften (h1 bis h6) eigentlich sein sollten, aus dem Wulst an Information herauszufiltern und dadurch Ihre Suche zu beschleunigen. Dies wirkt sich oft auf die Platzierung in der Treffer- Liste der Suchmaschinen aus – diese “weiß ja nicht was wichtig ist”.
Der gewünschte “Soll”- Zustand:
Dabei wäre es so einfach! Tim Berners-Lee (”Wer hats erfunden? ;-)) hat es Ende der Achtziger ja so vorgesehen, als unter seiner Leitung der http- Standard veröffentlicht wurde: Inhalte nach deren Bedeutung auszeichnen!
Wieder umgelegt auf obiges Beispiel wäre dies:
<h1>Die Überschrift</h1>
<ul>
<li><a href="">Home</a></li>
...
</ul>
<div id="content">
<p>Text</p>
</div>
Die Überschrift ist als solche ausgezeichnet, eine Link- Liste (was eine Navigation ja auch ist) ist als Liste definiert, maximal der Content wird/kann (je nach Beschaffenheit) mit einem Div zusammen gefasst werden.
In diesem Kurzbeispiel mag das nicht so deutlich hervortreten, aber semantisch korrekter HTML- Code benötigt wesentlich weniger Markup – ein zusätzlicher Vorteil, u.a. auch bei Suchmaschinen.
Zur optischen Verschönerung kann jedes Element per CSS angesprochen werden, und der “Wrapper” kann in vielen Fällen durch passender Formatierung des body- Tags wegfallen.
Es ist also einfacher als man denkt, semantisch korrektes HTML zu schreiben. Diverse Online- Tutorials – allen voran “SELFHTML” sind ausgezeichnete Info- Quellen, aber auch “CSS 4 YOU” und viele mehr…
Also bitte in Zukunft: NICHT “Div- Layouts” erstellen, sondern einfach “HTML- Dokumente” ;-)





Sergan 03.03.2009 - 10:18 Uhr
Bei meiner neuen Wordpressinstallation steht auch so eine Div Soup drin:
<div id="header">
<div id="headerimg">
<h1><a href="http://…..">Testblog</a></h1>
<div class="description">Ein weiteres tolles WordPress-Blog</div>
</div>
</div>
Machen die das also auch falsch?
R. Boegl / kick-image.at 03.03.2009 - 10:58 Uhr
Hallo Sergan
Mh, ohne das verwendete Theme genau zu kennen ist es schwer zu sagen, ob dies ein Kniefall zugunsten Funktionalität oder Optik ist.
Das eine oder andere Div könnte aber sicher eingespart werden. Vor allem für div=description wäre sicher ein passenderes Element möglich.
Allgemein muß man aber zu solchen Projekten sagen das dabei sicher auch die “Massentauglichkeit” ein Rolle spielt. Solche Konstrukte wie oben werden öfter für übereinander liegende Hintergrundbilder o.ä. “benötigt”.
Sergan 03.03.2009 - 11:11 Uhr
Das div headerimg konnte ich wirklich bedenkenlos streichen!
Gut…
Und was würdest Du statt dem div description vorschlagen?
R. Boegl / kick-image.at 03.03.2009 - 11:15 Uhr
Hallo nochmal
Das div=description würde ich je nach Bedeutung und Wertigkeit des Inhaltes ersetzen ;-)
Beispielsweise als h2 oder als p…
Sergan 03.03.2009 - 11:45 Uhr
Danke
Monika 06.03.2009 - 19:42 Uhr
Das sieht mich nach dem Kubrick Theme aus,
ist genauso *verdivt* wie viele andere WP Themes auch,
wird bei den neuen template tags noch ärger, weil viele meinen mit divs tun sich Anfänger leichter … :(
ist eben Programmierern schwer beizubringen
lg
R. Boegl / kick-image.at 06.03.2009 - 19:47 Uhr
“viele meinen mit divs tun sich Anfänger leichter … :(”
Das Thema “Massentauglichkeit”… ;-)
Machen wir zusammen ein WAI- Theme, so richtig schon semantisch korrekt? Wäre ne Idee…