dedlfix: W3C HTML-Validator zeigt mir Fehler an, den ich nicht verstehe.

Beitrag lesen

Tach!

Da is benanntes "CDATA-Dingens" bei. Normalerweise müsste der Validator das sogar ignorieren, da es 1. im HTML-Kommentar ist, 2. auch noch als CDATA "makiert" ist.

Nö. Das ist aus Sicht des Validators und aus Sicht von HTML4 völlig egal. Für das Script-Element ist CDATA als Inhalt definiert, aber es gibt da eine Ausnahme von den CDATA-Regeln:

"Although the STYLE and SCRIPT elements use CDATA for their data model, for these elements, CDATA must be handled differently by user agents. Markup and entities must be treated as raw text and passed to the application as is. The first occurrence of the character sequence "</" (end-tag open delimiter) is treated as terminating the end of the element's content. In valid documents, this would be the end tag for the element."

Damit sind dem Validator die Kommentare egal, er schläft beim <script ...> ein und wacht beim falsch getrennten und nicht richtig maskierten </src auf, was ein Fehler darstellt.

Im Prinzip sind die Kommentare sogar völlig falsch, denn der komplette <script>-bis-</-Inhalt soll ja an die Apprikation weitergereicht werden, wodurch sie ungültiges Javascript darstellen. Dass das keinen Fehler ergibt, ist dem Browser zu verdanken und eigentlich sollten sie auch überhaupt nicht mehr notwendig sein. Das Script-Element wurde vor sehr langer Zeit eingeführt und die Kommentare waren damals für die älteren Browser gedacht, die Script nicht kannten. Diese Browser, für die selbst der IE6 noch ein Jungspund ist, sollten schon längst nicht mehr in freier Wildbahn anzutreffen sein. - Die Kommentare auch noch auf CDATA-Art einzufügen, ist meiner Meinung nach eigentlich nur für XML-Parser sinnvoll, die diese HTML-Regeln nicht beachten. Und die spielen in Browsern im Tag-Soup-Modus keine Rolle.

dedlfix.