Hallo,
ich zweifle an der Vereinbarung, dass der Nummerierungstyp von geordneten Listen (ol) zur Präsentation gehört und deshalb ins Stylesheet und nicht ins Markup gehört.
Nehmen wir folgende Phantasieliste:
<ol type="a">
<li>Äpfel, Bananen, Orangen</li>
<li>Mandarinen, Zitronen, Grapefruits</li>
<li>Mangos, Birnen, Kiwis</li>
<li>Trauben, Melonen, Pfirsiche</li>
</ol>
<p>Wir schneiden a) klein und würfeln b), pürieren c) und pressen d) aus. Fertig ist die Sauerei.</p>
Im darauffolgenden Text existiert eine Bezugnahme auf die Listenelemente in Form von deren Nummern. Der Sinn des Textes ist nur verständlich, wenn die Listennummerierungen a, b, c und d lauten. Die Nummerierung darf nicht anders lauten. Durch das type-Attribut ist dies auch unabhängig von der Präsentation gewährleistet. Das Stylesheet kann deaktiviert werden und auch ein Textbrowserbenutzer wird den Sinn des Textes erfassen können (im Allgemeinen, nicht der obige willkürliche Beispieltext).
Dagegen steht, dass das type-Attribut gemäß der W3C-Linie »deprecated« ist und nur Teil der Transitional-Variante ist. Stattdessen soll die CSS-Eigenschaft list-style-type, hier etwa mit dem Wert lower-latin, benutzt werden:
<ol style="list-style-type:lower-latin;">
<li>Äpfel, Bananen, Orangen</li>
<li>Mandarinen, Zitronen, Grapefruits</li>
<li>Mangos, Birnen, Kiwis</li>
<li>Trauben, Melonen, Pfirsiche</li>
</ol>
<p>Wir schneiden a) klein und würfeln b), pürieren c) und pressen d) aus. Fertig ist die Sauerei.</p>
Bewirkt augenscheinlich dasselbe, im Textbrowser und beim Ausschalten des Autorenstylesheets ebenfalls sieht man aber:
1. Äpfel, Bananen, Orangen
2. Mandarinen, Zitronen, Grapefruits
3. Mangos, Birnen, Kiwis
4. Trauben, Melonen, Pfirsiche
Wir schneiden a) klein und würfeln b), pürieren c) und pressen d) aus. Fertig ist die Sauerei.
Auf eine gewisse Weise geht dabei Inhalt verloren, denn Nummerierung ist nicht gleich Nummerierung und der Text verliert insgesamt seinen Sinn.
Rein intuitiv würde ich sagen, dass die Nummerierung stark und untrennbar zum Inhalt und nicht zur Präsentation gehört bzw. selbst Inhalt ist. Wie seht ihr das? CSS sieht eigentlich vor, die Nummerierungen über :before, display:marker, content:counter([bezeichner], [list-style-type]) usw. zu lösen. Immerhin wird dabei der Nummiererung bescheinigt, dass sie auch Inhalt sei und nicht willkürlich zu der Liste gehört wie eine für den Textinhalt selbst irrelevante Formateigenschaft.
Ich war bereits auf ein ähnliches Problem gestoßen, als ich das start-Attribut verwenden wollte, was meiner Meinung nach noch stärker zum Inhalt gehört: </archiv/2002/11/29991/#m162126>. Selbst hypothetisch angenommen, dass die dortgenannte CSS-Entsprechung einigermaßen brauchbar ist, würde der Sinn vollkommen verloren gehen, wenn der Browser das Autorenstylesheet nicht umsetzt.
<hX>Vorgehensweise:</hX>
<ol>
<li>[erster Schritt]</li>
<li>[zweiter Schritt]</li>
<li>[dritter Schritt]</li>
</ol>
<p>[Zusammenfassung/Ergebnis der ersten drei Schritte]</p>
<ol style="counter-reset:counter 3;">
<li>[vierter Schritt]</li>
<li>[fünfter Schritt]</li>
<li>[sechster Schritt]</li>
</ol>
Bei deaktiviertem/nicht verfügbaren CSS bekommt der vierte Schritt wieder die Nummer 1:
1. [erster Schritt]
2. [zweiter Schritt]
3. [dritter Schritt]
[Zusammenfassung/Ergebnis der ersten drei Schritte]
1. [vierter Schritt]
2. [fünfter Schritt]
3. [sechster Schritt]
Das verändert den Sinn grundlegend und eine Bezugnahme über die Nummerierung wie in »der fünfte Schritt« (der diese Zahl nur über die Nummerierung erhält) wäre unmöglich.
Dasselbe Problem ergibt sich mit Überschriftennummerierungen. Wenn im Text auf das Kapitel 1.2.3 hingewiesen wird, die Nummerierung aber über CSS eingefügt wird, ist dieser Verweise, wenn er nicht durch einen Hyperlink begleitet ist, in manchen Fällen unbrauchbar.
Natürlich könnte man sich mehr oder weniger sinnige Alternativen überlegen, die die Nummerierung fest mit dem Text verweben:
<table>
<tr><th>a.</th><td>Äpfel, Bananen, Orangen</td></tr>
<tr><th>b.</th><td>Mandarinen, Zitronen, Grapefruits</td></tr>
<tr><th>c.</th><td>Mangos, Birnen, Kiwis</td></tr>
<tr><th>d.</th><td>Trauben, Melonen, Pfirsiche</td></tr>
</table>
<dl>
<dt>a.</dt><dd>Äpfel, Bananen, Orangen</dd>
<dt>b.</dt><dd>Mandarinen, Zitronen, Grapefruits</dd>
<dt>c.</dt><dd>Mangos, Birnen, Kiwis</dd>
<dt>d.</dt><dd>Trauben, Melonen, Pfirsiche</dd>
</dl>
mit
dd {margin-left:0; padding-left:0;}
dt {float:left; width:2em;}
<ul>
<li>a) Äpfel, Bananen, Orangen</li>
<li>b) Mandarinen, Zitronen, Grapefruits</li>
<li>c) Mangos, Birnen, Kiwis</li>
<li>d) Trauben, Melonen, Pfirsiche</li>
</ul>
mit
ul {list-style-type:none;}
Und natürlich:
<p>a. Äpfel, Bananen, Orangen<br>
b. Mandarinen, Zitronen, Grapefruits<br>
c. Mangos, Birnen, Kiwis<br>
d. Trauben, Melonen, Pfirsiche</p>
Doch die gefallen mir alle nicht sonderlich. Wie sollte man nun solche Listen auszeichnen? Es kann doch nicht sein, dass man für alle Zeiten auf die Standard-Dezimalnummerierung festgelegt ist beziehungsweise auch in fünf Jahren ausschließlich deshalb Transitional schreiben muss. Welchen Sinn hat es, den Code für Inhalt und Präsentation voneinander zu trennen, wenn das Markup ohne das Stylesheet sowieso keinen Sinn hat (sicherlich verändert ein Stylesheet auch immer den Inhalt, aber in der Regel nicht auf einer solchen fundamentalen Weise)? Wenn das Stylesheet sowieso unerlässlich ist, um den Inhalt auf oberflächlichster Ebene begreifen zu können, muss meines Erachtens etwas fälschlicherweise aus dem Markup ausgelagert worden sein.
Mathias