Hallo,
Was ist "Errata"?
"Korrekturen", "Nachbesserungen", "nachtraegliche Flickschusterei".
Gibt's uebrigens auch hier fuer SelfHTML 8.0:
http://aktuell.de.selfhtml.org/extras/errata.htm ;-)
Die Errata der W3C-Specifications finde ich peinlich und problematisch.
Es handelt sich schliesslich um "Standards", und wenn diese ploetzlich
durch "Errata" geaendert werden, ist das muehsam fuer alle Beteiligten,
hier z.B. die Autoren und auch die Browserhersteller.
Auf jeden Fall sind bisher keine Probleme mit Netscape 4.78 aufgetreten.
Ganz einfach: Dein Netscape 4 ist zu aktuell. ;-)
Die potentiellen Probleme von alten Browsern wie Netscape 4.0
mit Klassennamen, welche Underscores ("_") enthalten, werden
verstaendlich, wenn man die Monate und Jahre anschaut,
in denen die CSS Specifications und die Browser-Versionen
erschienen.
In CSS Level 1 (Dezember 1996) war der Underscore nicht erlaubt:
http://www.w3.org/TR/REC-CSS1-961217#forward-compatible-parsing
"in CSS1, selectors (element names, classes and IDs)
can contain only the characters A-Z, 0-9, and
Unicode characters 161-255, plus dash (-);
they cannot start with a dash or a digit; [...]"
Netscape 4.0 Final erschien gemaess
http://www.blooberry.com/indexdot/history/browsers.htm
im Juni 1997.
Auch in der urspruenglichen Fassung der CSS 2 Specification (Mai 1998)
war der Underscore in Klassennamen noch nicht erlaubt:
http://www.w3.org/TR/1998/REC-CSS2-19980512/syndata.html#q4
"In CSS2, identifiers (including ... classes, and IDs ...) can contain
only the characters [A-Za-z0-9] and ISO 10646 characters 161 and higher,
plus the hyphen (-); they cannot start with a hyphen or a digit."
(Dort steht also auch, dass Zahlen am Anfang eines Klassennamens
nicht erlaubt sind - ein beliebter Fehler.)
Netscape 4.0 Final erschien gemaess obigem Link im Oktober 1998.
Der Underscore wurde erst im Juli 2001 in den "Errata" zu CSS 2
hinzugefuegt (Punkt 4.1.3):
http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#known-errors
Auch in der CSS 2.1 Specification (Working Draft September 2003)
ist der Underscore enthalten:
http://www.w3.org/TR/CSS21/syndata.html#q6
Diese nachtraeglichen Korrekturen konnten alte Netscape 4-Versionen
allerdings gar nicht mehr mitkriegen...
Es waere also logisch, dass Netscape 4.0 Klassennamen mit
Underscores ignoriert, da sie ja gemaess den damals geltenden
CSS Spezifikationen nicht erlaubt waren.
Es koennte aber auch sein, dass er sie aus Gruenden der
Fehlertoleranz seit jeher trotzdem beachtete.
N.B. Ob es mit Netscape 4.0 oder anderen fruehen Netscape 4.x Versionen
effektiv Probleme wegen Klassennamen mit Underscores gibt, oder ob es sich
hier nur um einen endlos wiedergekaeuten Aberglauben von
Webpublishern handelt, kann ich nicht abschliessend beurteilen. ;-)
(Es ist mir ehrlich gesagt egal. Und Netscape 4.x kriegt bei mir
sowieso kein CSS mehr zu Gesicht.)
---
Ich empfehle, fuer Klassennamen nur die Kleinbuchstaben a - z benutzen
(sowie allenfalls - ab dem zweiten Zeichen - die Zahlen 0 - 9).
Man macht sich das Leben einfacher und ist "auf der sicheren Seite".
(Gemaess der Specifications waeren ja auch die Zeichen
jenseits von 161 erlaubt, also AFAICT auch uncodierte Umlaute.
Das kann aber IMHO zu Problemen fuehren.)
Gruesse,
Thomas
P.S. Sogar hier in der SelfHTML-FAQ hat es dummerweise
ein Beispiel mit Underscores im Klassennamen:
http://selfhtml.teamone.de/navigation/faq.htm#abweichende_verweisfarben