arne: standartisiertes Verhalten bei HTML-Fehlern?

Hallo liebes Forum,

meine Frage klingt vielleicht komisch, aber dennoch:
Gibt es eine Richtlinie, Empfehlung (z.B. vom W3C) für das Verhalten von Browsern wenn sie auf Fehler im HTML-Code stoßen? Mit Fehlern meine ich z.B. falschgeschriebene Tags oder Tags am falschen Ort (div im Headbereich)?
Ich führe gerade eine Diskussion über die Tragweite solcher Fehler. Wenn man jetzt sagen könnte, laut Empfehlung sowieso, sollten die Browser unbekannte Tags einfach ignorieren und die Seiten ansonsten normal darstellen, wäre das ein schönes Argument.
Leider machen die Browser aber alles Mögliche und meistens kommt es auch durch kleine Fehler zu massiven Darstellungsproblemen.

Mir ist klar, dass es nur eine theoretische Diskussion ist, da die Browser sich noch lange nicht einheitlich oder korrekt verhalten, nur weil es eine bestimmte Empfehlung gibt. Auch ist fehlerfreier Code natürlich besser! ;o)

Wäre trotzdem für Hinweise oder entsprechende Links (W3C-Seiten kenne ich, habe dort aber nichts zu meinem Problem gefunden) dankbar.

Arne

  1. Naja, kommt drauf an. In den diversen Spezifikationen stehen schon Hinweise darauf, wie Useragents, also Browser, bestimmte Fehler zu behandeln haben, wenn gleich diese (in der Vergangenheit?) als nicht normativ angesehen werden.
    http://www.w3.org/TR/html4/conform.html
    http://www.w3.org/TR/REC-CSS2/conform.html
    http://www.w3.org/TR/xhtml1/#uaconf
    Allerdings sieht man gerade bei HTML durch die Umformulierung in eine XML-Anwendung das das W3C da restriktivere Vorgaben macht.
    Ansonsten bin ich der Meinung das Browser sich in erster Linie an die Notes und Empfehlungen des W3C bezüglich Fehlern halten, als das sie versuchen aus jedweder Tagsuppe noch das gebräuchlichste Erscheinungsbild zu basteln.
    Meiner Meinung nach sollten Browser bei nicht vernünftig XML-wohlgeformten Dokumenten oder auch nicht richtig verschachtelten HTML(2,3,4) einfach abbrechen und bei Nichtkenntnis von Tags im <body> diese ignorieren und deren Inhalt darstellen.

    Gruß Herbalizer

    1. So wird es ja z.B. bei nicht frame-fähigen Browsern auch gemacht.

      MfG Florian

    2. Naja, kommt drauf an. In den diversen Spezifikationen stehen schon Hinweise darauf, wie Useragents, also Browser, bestimmte Fehler zu behandeln haben, wenn gleich diese (in der Vergangenheit?) als nicht normativ angesehen werden.
      http://www.w3.org/TR/html4/conform.html
      http://www.w3.org/TR/REC-CSS2/conform.html
      http://www.w3.org/TR/xhtml1/#uaconf
      Allerdings sieht man gerade bei HTML durch die Umformulierung in eine XML-Anwendung das das W3C da restriktivere Vorgaben macht.
      Ansonsten bin ich der Meinung das Browser sich in erster Linie an die Notes und Empfehlungen des W3C bezüglich Fehlern halten, als das sie versuchen aus jedweder Tagsuppe noch das gebräuchlichste Erscheinungsbild zu basteln.
      Meiner Meinung nach sollten Browser bei nicht vernünftig XML-wohlgeformten Dokumenten oder auch nicht richtig verschachtelten HTML(2,3,4) einfach abbrechen und bei Nichtkenntnis von Tags im <body> diese ignorieren und deren Inhalt darstellen.

      ich bin voll deiner meinung, aber mit den letzten paar diskussionen darüber möchte ich die leicht ironische frage stellen, wie man dann noch auf M$-seiten kommen soll! *g*
      ausserdem hätte das kompilierte sicherheitsrisiko nix mehr zu tun, da er nichts "zusammenwürfeln" _darf_ und nix valides anzeigen _kann_

      also: nicht zu ernst nehmen ;)

      Gruß Herbalizer

      Fabian

      1. ich bin voll deiner meinung, aber mit den letzten paar diskussionen darüber möchte ich die leicht ironische frage stellen, wie man dann noch auf M$-seiten kommen soll! *g*

        Naja, das ist halt der zweite Versuch aus dem Internet ein M$-Net zu machen. Das woran man mit IE 1-3 gescheitert ist macht man halt seit ein paar Jahren mit Frontpage und Word.

  2. hi

    Gibt es eine Richtlinie, Empfehlung (z.B. vom W3C) für das Verhalten von Browsern wenn sie auf Fehler im HTML-Code stoßen?

    bei klassischem HTML gibt es keine solchen Regeln, es ist einfach so, dass der jeweils stärkste Browser am Markt vorschreibt, wie man auf Fehler reagiert, weil die Leute immer dieses Verhalten erwarten.

    Bei XML gibt es dagegen eine einfache Regel:
    ist die Datei nicht "wellformed", wird ein Fehler gemeldet. Gleiches gilt, wenn es eine DTD gibt, diese aber einies der verwendeten Attribute nicht kennt.

    In CSS gibt es dagegen sehr ausgefeilte regeln, was wie zu behandeln ist.

    Grüße aus Bleckede

    Kai

    1. Tach auch,

      Gibt es eine Richtlinie, Empfehlung (z.B. vom W3C) für das Verhalten von Browsern wenn sie auf Fehler im HTML-Code stoßen?

      bei klassischem HTML gibt es keine solchen Regeln, es ist einfach so, dass der jeweils stärkste Browser am Markt vorschreibt, wie man auf Fehler reagiert, weil die Leute immer dieses Verhalten erwarten.

      Gut, Regeln gibt es vielleicht nicht, Empfehlungen aber schon: http://www.w3.org/TR/html4/appendix/notes.html#h-B.1

      Fragt sich nur wer sich daran haelt...

      Gruss,
      Armin

      1. hi

        Gut, Regeln gibt es vielleicht nicht, Empfehlungen aber schon: http://www.w3.org/TR/html4/appendix/notes.html#h-B.1

        hm.. 5 Punkte...

        "* If it encounters an undeclared entity, the entity should be treated as character data."

        hiergegen verstößt der MSIE deutlich, er versucht so lange runzuprobieren, bis er doch noch gültige Entities findet.

        "We also recommend that user agents provide support for notifying the user of such errors."

        öhm.. das macht meines Wissens nach _kein_ Browser auch nur ansatzweise - allerhöchstens der eingebaute HTML-Vali in iCab.

        Grüße aus Bleckede

        Kai