Hallo,
* Das Design enthält den hauptsächlichen Inhalt in einem div. Dieses Element ist ja prinzipiell inhaltsleer,
nein, semantikfrei.
Die »Semantik« von div ist eben, dass damit Zusammenhängendes gruppiert wird und somit das Dokument strukturiert wird.
Es gibt atürlich viele div-Anwendungen, denen kein direkt erkennbarer inhaltlicher Zusammenhang zwischen den umspannten Elementen entgegensteht. Diese werden für gewöhnlich Präsentationsgliederungen genannt, weil sie meist reine Angriffspunkte für Stylesheets sind, was ja auch ein vorgesehener Zweck des div-Elements ist. Sie haben dann meist entsprechende Klassen oder IDs, die ihrerseits nach dem Präsentationeffekt benannt sind. Je komplexer das Layout, desto mehr Präsentations-divs und desto mehr »div-Suppe«.
Da das Element keine Bedeutung besitzt, kann auch weder eine beachtet werden, noch kann sie bei einem Ignorieren verloren gehen.
Die Datenstruktur ist eine vollkommen andere, wie man gut am Elementbaum sehen kann.
<div>
<p>bla</p>
<p>blub</p>
</div>
<div>
<p>foo</p>
<p>bar</p>
</div>
erzeugt zwei Knoten, die ihrerseits jeweils zwei Knoten beinhalten. Durch die Unterbringung der Daten »blub« in einer gesonderten Extra-»Schublade« entsteht ein stärkerer Zusammenhang zum Vorgänger »bla« als zum Nachfolger »foo«.
Wenn hier div eine sinnige Klasse hat, macht man diesen Zusammenhang auch durch die Präsentatin klar: Die divs erhalten z.B. einen Rahmen und Außenabstände, sodass die Gruppierung visuell kommuniziert wird. Dasselbe ist für Sprachausgabe usw. denkbar (z.B. durch :before und :after mit content). (at würde es natürlich mit einer Liste machen.)
Mathias