Hallo,
Mich würde Eure Meinung interessieren. Ist das so korrekt oder etwas an der originalen Intention einer Definitionsliste vorbei?
Das W3C schlägt in der Spezifikation von HTML 4 selber eine sehr liberale Nutzung der Definitionsliste an, vermutlich im dieselbe zu rechtfertigen. Ich persönlich halte das für Quatsch.
Der Knackpunkt dürfte sein, das man selber sagen kann, das ein Term durch etwas definiert wird. Jeder hat da andere Meinungen, manche Listenfanatiker hier im Forum sind da ebenso liberal wie das W3C, ich selber nehme da eine strengere Haltung ein. Ich würde mir nicht anmassen, zu behaupten, dass der 1. 1. 2006 nur durch einen Neujahrsbrunch definiert wird, für andere dürfte der Tag durch einen lang anhaltenen Kater definiert sein, für den nächsten durch einen Krankenhausaufenthalt wegen der selbst abgesprengten Finger. Konsequenterweise lande ich dann bei einer Definitionsliste, in der es nur „richtige“ Definitionen für Terme gibt, idealerweise auch für sich selbst stehen könnende Definitionen. Ja, man landet da schnell in erkenntnistheoretischen Gedankengängen, aber auch nicht weniger, als wenn man versucht zu behaupten, dass ein Sprecher durch einen Dialogsatz definiert wird. Weitere in meinen Augen legitime Anwendungen wären noch Glossare und Register, webtypisch auch mit tatsächlichen Verweisen.
Meine Lösung für Dein Problem dürfte eigentlich auf der Hand liegen. Wenn man aber trotzdem eine den Listenfanatikern angemessene Begründung will: Eine Definitionsliste ordnet einem Element ein oder mehrere andere Elemente zu, mit der zusätzlichen semantischen Bedeutung, dass es sich um einen Term mit seinen Definitionen handelt. Letzteres halte ich bei Deinem Anwendungszweck eben nicht für gegeben. Strukturell gesehen gibt es in HTML zur Definitionsliste zwei ähnliche Elementstrukturen. Zum einen die zweispaltige Tabelle, sehr bequem, wenn man in der Textdarstellung eine ähnliche Darstellung wie in CSS erreichen will:
<h2>Januar</h2>
<table>
<tr>
<th>1. 1. 2006</th>
<td>Neujahrsbrunch um 9:00h bei Alka Selzer</td>
</tr>
</table>
Oder die Überschrift als caption-Element. Ich hätte übrigens keine Skrupel mehrere Termine in einer einzigen Tabellenzelle als geordnete Liste zu strukturieren; bei einer automatischen Ausgabe spart man sich damit Kopfschmerzen im Gegensatz zu mehreren Tabellenzellen und dem dafür nötigen rowspan. Damit sind wir auch schon bei der von mir präferierten Lösung, billiger geht es kaum noch:
<h2>Januar</h2>
<div class="datelist">
<h3>1. 1. 2006</h3>
<ol>
<li>Ausschlafen</li>
<li>Neujahrsbrunch um 19:00h bei Alka Selzer</li>
</ol>
<h3>31. 12. 2006</h3>
<ol>
<li>Zahltag</li>
</ol>
</div>
Aber es leistet strukturell gesehen das gleiche, inklusive div-Element für leichtere Erreichbarkeit.
Tim