Rolf B: Listen, value-Attribut und counters() - Bug oder unverstandenes Feature?

Beitrag lesen

Hallo alle,

ich bin gerade etwas erstaunt. Arg erstaunt! Mein eigentliches HTML war umfangreicher, hier ist die minimalistische Version:

<ol>
<li>Bananen</li>
<li value="7">Äpfel</li>
<li>Birnen</li>
</ol>

Diese Liste wird brav 1,7,8 durchnummeriert, aber jetzt füge ich eine counters()-Ausgabe hinzu:

li::after { content: ' (' counters(list-item, '.') ')'; }

Erwartet:

1. Bananen (1)
7. Äpfel (7)
8. Birnen (8)

Vorgefunden (Edge Chromium v120)

1. Bananen (1)
7. Äpfel (1.7)
8. Birnen (1.8)

Das heißt: die Value-Eigenschaft hat nicht, wie die Counters- und HTML-Spec schreiben, einen counter-set: list-item 7 durchgeführt, sondern einen counter-reset und einen geschachtelten Zähler erzeugt.

Das finde ich jetzt gruselig falsch. Für mein Minibeispiel ist's natürlich wurscht, aber wenn man real mit geschachtelten Zählern und dem value-Attribut arbeitet, führt das gefundene Verhalten zu blödsinniger Darstellung.

Als Workaround kann ich mit style="counter-set: list-item 7" arbeiten. Dann ist das Ergebnis richtig. Aber das solle ja eigentlich nicht nötig sein.

Bevor ich bei Chromium einen Bug poste: Mache ich was falsch? Bringen andere Browser das auch? Ich habe jetzt nur Chromium parat.

Fiddle: https://jsfiddle.net/vcmh3pf7/1/

Rolf

--
sumpsi - posui - obstruxi