@@Henry
Wobei das mit dem Hauptinhalt heute oft nicht mehr so einfach zu lokalisieren ist. Oft gibt es nicht den einen Hauptinhalt, sondern vieles,
Über die Seite zerstreut?
daher fände ich zb. <div class="maincontent"> sinnvoller.
<div class="maincontent">
<p>Hauptsächlich wäre zu sagen, dass …</p>
<a href="#main2">lesen Sie weiter</a>
</div>
<div class="bullshit">
<p>Das hat mit der Sache überhaupt nichts zu tun.</p>
</div>
<div class="maincontent" id="main2">
<p>Hach, da sind Sie ja wieder. Wo waren wir stehengeblieben?</p>
</div>
Inwiefern soll das sinnvoll sein?
Auch da, anstatt wieder ein neuer Tag, hätte da nicht ein Attribut bzw. neuesAttribut bsp. <span xtype="time" datetime="2003-04-14 21:00"> gereicht.
HTML5 ist eben den umgekehrten Weg gegangen und hat aus häufig verwendeten Attributwerten wie "header", "footer", "main(content)" usw. Elementtypen gemacht. Welchen Vorteil hätte es, nur einen Elementtypen zu verwenden und die Art des Elements in einem zusätzlichen Attribut anzugeben?
<div type="maincontent">
<div type="heading">Die Hauptsache</div>
<div type="paragraph">Hauptsächlich wäre zu sagen, dass …</div>
</div>
gegenüber
<main>
<h1>Die Hauptsache</h1>
<p>Hauptsächlich wäre zu sagen, dass …</p>
</main>
Ich sehe den Nachteil, dass der Quelltext mit lauter div
s schlechter lesbar wäre. (s.a. dieses Posting ab „Das kann ich bestätigen.“)
Außerdem kann man für verschiedene Elementtypen Regeln angeben; bspw. main
darf nicht in header
vorkommen. Wie willst du das mit Attributen machen? div
darf in div
vorkommen; es sei denn, es handelt sich um eines mit einem type
-Attribut mit dem Wert "maincontent", welches nicht in einem solchen mit einem type
-Attribut mit dem Wert "header" vorkommen darf; oder es handelt sich um …
Da kommste in Teufels Küche. HTML ist jetzt schon überfrachtet mit solchen Wenn-dann-ansonsten-Regeln – was es früher nicht gab, als HTML noch über eine einfache DTD definiert wurde.
LLAP 🖖
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann