Julian Becker: Wie ernst sollte man Validator nehmen?

Nunja,

ich gebe mir Mühe bei meinen kleinen Nebenbei-Projekten (im größeren Stil habe ich bisher selten gearbeitet, mal hier und da ne kleine Homepage oder hier und da ein wenig PHP - macht ja Spaß) auf korrektes HTML zu achten.

Daher zeichne ich in der Regel meine Dokumente auf immer mit korrekten Doctype-Angaben aus (heutzutage weitestgehend XHTML 1.1 nur in begründeten Fällen mal XHTML 1.0 Transitional (zum Beispiel wenn Frames im Einsatz sind)) sowie einen content-type und in der Regel kann ich den W3C-Validator danach zufriedenstellen. Und die meisten Browser verarbeiten das ganze dann im standard-konformen Modus (nur IE 6 verarbeitet XHTML interessanterweise im Quirks-Modus wenn man eine <?xml ?>-Angabe mit dazuschreibt, aber das ist jetzt nicht relevant).

Zur schnellen Überprüfung nebenher bin ich jetzt auf die Firefox-Extension Tidy umgestiegen. Toll: nicht mehr immer validieren, da unten in der Statusleiste zeigt dir einer die Fehler an und markiert die Warnungen und Fehler im Quelltext. Find' ich gut. Aber Tidy ist ja sowas von anspruchsvoll, das hätte ihc nie zu glauben gedacht: dass er bei img-Angaben ein alt-Attribut manhcmal vermisst, ist in Ordnung; gehört ja zum Standard. Aber gibt es einen Standard, der mir ein "summary"-Attribut bei Tabellen vorschreibt? Der normale Validator ist voll zufrieden auch ohne ein "summary"-Attribut. Und andere Validator schlagen Alarm wenn ich keien <?xml ?>-Angabe vor den Doctype schreibe oder mal ausfersehen <br/> statt <br /> schreibe.

Wie ernst soll ich jetzt die Validator nehmen? Soll man seine Seiten so oft validieren bis selbst der hinterletzte Validator im Universum grünes Licht gibt. Oder reicht es wenn man einen Validator (wie zum Beispiel Tidy oder den von W3C) zufrieden stellt.

  1. Hi,

    (nur IE 6 verarbeitet XHTML interessanterweise im Quirks-Modus wenn man eine <?xml ?>-Angabe mit dazuschreibt, aber das ist jetzt nicht relevant).

    ja, der IE erwartet den DOCTYPE in der ersten Zeile des Dokuments.

    Aber gibt es einen Standard, der mir ein "summary"-Attribut bei Tabellen vorschreibt?

    Keinen mir bekannten.

    Der normale Validator ist voll zufrieden auch ohne ein "summary"-Attribut.

    Der W3C-Validator ist die einzig relevante Instanz. Alle anderen liefern entweder die selben Ergebnisse, oder erweitern diese durch zusätzliche Informationen (etwa wenn etwas in bekannten Browsern Probleme bereitet), oder sind schlicht und ergreifend defekt.

    Und andere Validator schlagen Alarm wenn ich keien <?xml ?>-Angabe vor den Doctype schreibe

    Bei XHTML/1.1 ist diese auch zwingend notwendig, sofern Dein Encoding nicht UTF-8 oder UTF-16 entspricht.

    oder mal ausfersehen <br/> statt <br /> schreibe.

    Lötzinn.

    Wie ernst soll ich jetzt die Validator nehmen?

    Den vom W3C: Bierernst. Alle anderen: Das kommt darauf an, wie identisch die Ergebnisse mit denen des W3C-Validators sind.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      ja, der IE erwartet den DOCTYPE in der ersten Zeile des Dokuments.

      Da hab ich doch glatt eine Frage dazu: Stören Leerzeichen und/oder Leerzeilen vor dem DOCTYPE?

      Frank

      1. Hi,

        Da hab ich doch glatt eine Frage dazu: Stören Leerzeichen und/oder Leerzeilen vor dem DOCTYPE?

        den IE soweit ich weiß nicht. Auch SGML-Kommentare sollte er wegstecken.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo nochmal! :)

          Da hab ich doch glatt eine Frage dazu: Stören Leerzeichen und/oder Leerzeilen vor dem DOCTYPE?

          den IE soweit ich weiß nicht. Auch SGML-Kommentare sollte er wegstecken.

          Das mit den Leerzeichen/-zeilen wäre sowieso etwas dumm, da oft genug z.B. PHP-Code vor dem Doctype eingefügt wird, welcher dann die eben erwähnten Leerzeichen/-zeilen erzeugt. :-/

          Wegen den Kommentaren werde ich jetzt mal suchen, das interessiert mich jetzt einfach...

          Frank

        2. Hallo zusammen,

          Da hab ich doch glatt eine Frage dazu: Stören Leerzeichen und/oder Leerzeilen vor dem DOCTYPE?

          den IE soweit ich weiß nicht. Auch SGML-Kommentare sollte er wegstecken.

          Leerzeilen/zeichen stören nicht, Kommentare dagegen schon. Selbst folgendes reicht aus, um den IE in den Quirks Mode zu versetzen:

          <!-- --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
          

          Viele Grüße
          Carsten

    2. Den vom W3C: Bierernst. Alle anderen: Das kommt darauf an, wie identisch die Ergebnisse mit denen des W3C-Validators sind.

      Immerhin: das war irgendwo meine erhoffte Antwort. Schade dass man diesen Validator halt nicht so direkt mal parat hat, sondern seine Seiten zu ihm hochladen muss oder einen eigenen Web-Server auf dem PC laufen lässt und dann die URIs dieser Seiten angibt. Ich persönlich hätte mir erhofft, dass Tidy da die Alternative ist, weil dieser gerade von W3C stammt. Nunja, man kann nicht alles haben :(

    3. Hallo,

      Der normale Validator ist voll zufrieden auch ohne ein "summary"-Attribut.

      Der W3C-Validator ist die einzig relevante Instanz.

      1. tidy *empfielt* den Einsatz von summary. Ein DTD-validierender Parser wird natürlich ebensowenig keinen *Fehler* bei einem fehlenden summary-Attribut bemängeln.
      2. Der W3C-Validator hat sehr viele Schwächen und Probleme, vor allem beim Verarbeiten von XML.

      Alle anderen liefern entweder die selben Ergebnisse, oder erweitern diese durch zusätzliche Informationen (etwa wenn etwas in bekannten Browsern Probleme bereitet)

      Nein. Es gibt auch Validatoren, die einfach korrekter Markup verarbeiten, z.B. http://schneegans.de/sv/ (selbst abgesehen davon, dass dort gegen das Schema und nicht die DTD validiert wird).

      Wie ernst soll ich jetzt die Validator nehmen?

      Den vom W3C: Bierernst. Alle anderen: Das kommt darauf an, wie identisch die Ergebnisse mit denen des W3C-Validators sind.

      Siehe oben.

      Mathias

  2. Hi,

    Wie ernst soll ich jetzt die Validator nehmen? Soll man seine Seiten so oft validieren bis selbst der hinterletzte Validator im Universum grünes Licht gibt. Oder reicht es wenn man einen Validator (wie zum Beispiel Tidy oder den von W3C) zufrieden stellt.

    Ich würde sagen dass der W3C-Validator ausreicht.

    Frank

  3. hi,

    Daher zeichne ich in der Regel meine Dokumente auf immer mit korrekten Doctype-Angaben aus (heutzutage weitestgehend XHTML 1.1

    und die lieferst du dann auch immer mit einem passenden XML Content-type aus ...?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  4. Hi,

    (nur IE 6 verarbeitet XHTML interessanterweise im Quirks-Modus wenn man eine <?xml ?>-Angabe mit dazuschreibt, aber das ist jetzt nicht relevant).

    nein, das ist - streng genommen - sehr relevant.
    Nicht nur, wie Cheatah bereits gesagt hat, wenn Du nicht UTF-kodierst, sondern generell, wenn Du XHTMl 1.1 deklarierst. Dann dürftest Du die Datei auch nicht mehr als text/html ausliefern, was im IE aber problematisch ist. Du solltest besser bei XHTMl 1.0 (Strict) bleiben.

    Aber gibt es einen Standard, der mir ein "summary"-Attribut bei Tabellen vorschreibt?

    Ja, allerdings bezieht der sich ausschließlich auf Barrierefreiheit.
    http://www.w3.org/TR/WAI-WEBCONTENT-TECHS/#tech-table-summaries: "5.5 Provide summaries for tables. [Priority 3]".

    oder mal ausfersehen <br/> statt <br /> schreibe.

    weil ältere Browser damit Probleme bekommen könnten, da nur bei <br /> der "/" als unbekannter Parameter angesehen werden könnte und einfach ignoriert würde.

    freundliche Grüße
    Ingo

    1. Hi Ingo,

      wenn Du XHTMl 1.1 deklarierst. Dann dürftest Du die Datei auch nicht mehr als text/html ausliefern,

      Doch, dürfte er (unter gewissen Voraussetzungen).

      Du solltest besser bei XHTMl 1.0 (Strict) bleiben.

      Full ACK.

      Live long and prosper,
      Gunnar

      --
      „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
      1. Hi,

        Doch, dürfte er (unter gewissen Voraussetzungen).

        stimmt. Aber ich vermute stark, daß ihm dies(e) noch nicht einmal bekannt sind. ;-)

        freundliche Grüße
        Ingo

    2. Aber gibt es einen Standard, der mir ein "summary"-Attribut bei Tabellen vorschreibt?
      Ja, allerdings bezieht der sich ausschließlich auf Barrierefreiheit.
      http://www.w3.org/TR/WAI-WEBCONTENT-TECHS/#tech-table-summaries: "5.5 Provide summaries for tables. [Priority 3]".

      Danke für die Information, diese Site war mir noch nicht bekannt.

      oder mal ausfersehen <br/> statt <br /> schreibe.
      weil ältere Browser damit Probleme bekommen könnten, da nur bei <br /> der "/" als unbekannter Parameter angesehen werden könnte und einfach ignoriert würde.

      Klar, ich habe ja auch "ausfersehen" geschrieben. In gewisser Weise ist es schon richtig, dass der Validator dies ankreidet. Schade, dass der vom W3C es nicht tut.

  5. heutzutage weitestgehend XHTML 1.1 nur in begründeten Fällen mal XHTML 1.0 Transitional

    Julian,
    Und wie begründest du den Einsatz von XHTML 1.1?

    Es gibt gute Gründe _dagegen_, worauf ich heute schonmal in https://forum.selfhtml.org/?t=111616&m=703275 hingeiwesen hatte.

    Live long and prosper,
    Gunnar

    --
    „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
    1. Und wie begründest du den Einsatz von XHTML 1.1?

      Geht zwar am THema vorbei aber naja: XHTML ist grundsätzlich wenn man es als text/html (zwar entgegen der Empfehlung aber gedulded) auszeichnet abwärtskompatibel zu HTML, so können es alte Browser noch verarbeiten ohne katastrophale Anzeige-Probleme zu bekommen. Bei meinen Tests konnten sogar Netscapes der 4er-Versionen etwas vernünftiges zur Anzeige bringen. Und wenn ich in Firefox über meine WebDeveloper-Bar CSS abschalte bekomme ich immer noch was zu sehen, was man sich angucken kann. Klar gibt es hier und da Probleme und XHTML 1.1 ist noch nicht 100%ig unterstützt.

      Man könnte sich da auf so vieles schmeißen. Soll ich meine Dokumente als transitional auszeichnen, nur damit ich Eigenschaften verwenden darf, die deprecated sind. Wenn man in Hinblick auf totale Abwärtskompatibilität dies beachtet, mag das richtig sein; ganz alte Browser können schlecht oder gar kein CSS. Trotzdem finde ich ist es kein Schritt in die falsche Richtung Dokumente in XHTML 1.1 zu schreiben, solange sie zu dem richtigen Resultat führen.

      1. Trotzdem finde ich ist es kein Schritt in die falsche Richtung Dokumente in XHTML 1.1 zu schreiben, solange sie zu dem richtigen Resultat führen.

        Doch, Julian, das ist es: Du kannst bspw. nicht HTML-konform die Textsprache angeben [HTML-TECH-LANG], da es das lang-Attribut in XHMTL 1.1 nicht mehr gibt. Nicht gerade ein „richtiges Resultat“.

        Live long and prosper,
        Gunnar

        --
        „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
  6. Hallo,

    Zur schnellen Überprüfung nebenher bin ich jetzt auf die Firefox-Extension Tidy umgestiegen. Toll: nicht mehr immer validieren, da unten in der Statusleiste zeigt dir einer die Fehler an und markiert die Warnungen und Fehler im Quelltext. Find' ich gut. Aber Tidy ist ja sowas von anspruchsvoll, das hätte ihc nie zu glauben gedacht: dass er bei img-Angaben ein alt-Attribut manhcmal vermisst, ist in Ordnung; gehört ja zum Standard. Aber gibt es einen Standard, der mir ein "summary"-Attribut bei Tabellen vorschreibt?

    tidy markiert also, wie du sagst, *Warnungen* und *Fehler* im Quelltext.
    Die Warnungen von tidy gehen weit über die formalen Erfordernisse der DTD hinaus. Dein Markup ist auch trotz dieser Warnungen DTD-konform. Erst wenn tidy einen handfesten Fehler meldet, ist die DTD-Konformität gefährdet.

    Und andere Validator schlagen Alarm wenn ich keien <?xml ?>-Angabe vor den Doctype schreibe oder mal ausfersehen <br/> statt <br /> schreibe.

    Sie werden aber keinen Syntaxfehler gemäß der DTD melden.

    <br /> statt <br/> solltest du schreiben, wenn du sogenanntes HTML-kompatibles XHTML schreibst, also ein XHTML-Dokument als text/html an die Browser sendest.

    Wie ernst soll ich jetzt die Validator nehmen? Soll man seine Seiten so oft validieren bis selbst der hinterletzte Validator im Universum grünes Licht gibt. Oder reicht es wenn man einen Validator (wie zum Beispiel Tidy oder den von W3C) zufrieden stellt.

    »Validator« meint zunächst einmal ein SGML- bzw. XML-Parser, der das Markup eines Dokuments mit Blick auf die formalen Erfordernisse der DTD überprüft.
    Die meisten Validatoren gehen aber über diese Aufgabe hinaus, weil DTD-valides Markup noch längst nicht sinnvolles und in jeder Hinsicht fehlerfreies und unproblematisches Markup bedeutet. Und schon gar nicht ist DTD-Konformität mit Standardkonformität gleichzusetzen. Daher prüfen sie zusätzlich, wie Cheatah auch sagt, einige technische und stilistische Erfordernisse, die die gängigen Parser bei der DTD-Überprüfung nicht abfragen.
    Natürlich sollte man sich auch mit den Warnungen und Fehlermeldungen auseinandersetzen, die bei diesen erweiterten Überprüfungen herauskommen. XHTML solltest du grundsätzlich mit dem strengen Schema-Validator http://schneegans.de/sv/ überprüfen, der das Konzept der DTD-Validierung überwindet, nicht einen für SGML gebauten Parser verwendet und die Konformität zum XML-Standard genauer prüft.
    Den Sinn des summary-Attributs kannst du z.B. unter http://de.selfhtml.org/html/tabellen/nicht_visuell.htm nachlesen.

    Mathias