Peter Thomassen: Validator meldet Fehler - wie zu korrigieren?

Hi,
ich habe gerade die Seite http://www.assistance4all.de/?page=lexicon mit http://validator.w3.org/check?uri=http%3A%2F%2Fwww.assistance4all.de%2F%3Fpage%3Dlexicon validiert.
Die Fehler sind immer die gleichen (insgesamt vier oder fünf), aber ich weiß nicht, wie ich sie korrigieren soll!
Kann mir da jemand helfen?

Danke!
Peter

  1. hallo,

    ich habe gerade die Seite http://www.assistance4all.de/?page=lexicon mit http://validator.w3.org/check?uri=http%3A%2F%2Fwww.assistance4all.de%2F%3Fpage%3Dlexicon validiert.
    Die Fehler sind immer die gleichen (insgesamt vier oder fünf), aber ich weiß nicht, wie ich sie korrigieren soll!

    Die Erklärungen stehen doch da, sie werden dir vom Validator mitgeliefert. Dein Peroblem ist wahrscheinlich, daß dir die Bedeutung und die Semantik bestimmter tags in HTML 4.01 nicht ganz klar sind. Zum Beispiel verwendest du als ID für ein eigenes Element ein Schlüsselwort, das nicht so eingesetzt werden darf, und an anderen Stellen ("align") verwendest du Zugaben, die inzwischen "deprecated" sind, weil deren Aufgaben von CSS übernommen werden (sollen).
    Dem Validator kannst du schon vertrauen.

    Lies dir mal die entsprechenden Hinweise in SELFHTML durch, insbesondere auch zu tags, die eigene Absätze haben wollen. Und achte darauf, daß du möglichst nicht Schreibweisen, wie sie für XHTML gelten (z. B. <br />) mit anderen tags mischst.

    Christoph S.

    1. Hi!

      Die Erklärungen stehen doch da, sie werden dir vom Validator mitgeliefert. Dein Peroblem ist wahrscheinlich, daß dir die Bedeutung und die Semantik bestimmter tags in HTML 4.01 nicht ganz klar sind. Zum Beispiel verwendest du als ID für ein eigenes Element ein Schlüsselwort, das nicht so eingesetzt werden darf, und an anderen Stellen ("align") verwendest du Zugaben, die inzwischen "deprecated" sind, weil deren Aufgaben von CSS übernommen werden (sollen).

      Ich weiß.

      1. id="invisible" - Im CSS-File ist #invisible { ... } definiert. Das steht AFAIK sogar so in SelfHTML. Alternative?
      2. Ich habe allerdings keine CSS-Alternative für align="absmiddle" gefunden!

      Dem Validator kannst du schon vertrauen.

      Tu ich ja, ich weiß eben nur nicht, wie ich die Fehler korrigieren soll :)

      Lies dir mal die entsprechenden Hinweise in SELFHTML durch, insbesondere auch zu tags, die eigene Absätze haben wollen. Und achte darauf, daß du möglichst nicht Schreibweisen, wie sie für XHTML gelten (z. B. <br />) mit anderen tags mischst.

      Ich habe mich noch nie mit XHTML befasst, also weiß ich auch nicht, was zu XHTML gilt, und was nicht :)
      Aber <br /> habe ich definitiv nie geschrieben!

      Danke für deine Hilfe,
      Peter

  2. Hi,
    ich habe gerade die Seite http://www.assistance4all.de/?page=lexicon mit http://validator.w3.org/check?uri=http%3A%2F%2Fwww.assistance4all.de%2F%3Fpage%3Dlexicon validiert.
    Die Fehler sind immer die gleichen (insgesamt vier oder fünf), aber ich weiß nicht, wie ich sie korrigieren soll!
    Kann mir da jemand helfen?

    Danke!
    Peter

    Ich erklär dir mal kurz, was du falsch machst:

    Line 90, column 50:
      ... "link.gif" width="18" height="17" align="absmiddle">Microsoft Windows- ...
    Error:  required attribute "ALT" not specified

    IMG-Tags müssen immer einen alternativen Text haben. Also mindestens alt="" muß drin sein (und es ist auch wirklich sinnvoll, denn so verschwinden alle Füllbilder aus einer Textdarstellung).

    Line 75, column 18:
                <td id="noprint" style="background-color: #71879A; width: 16 ...
    Error:  ID "NOPRINT" already defined

    Du darfst eine ID nur einmal pro Datei (und Tag) definieren. Wenn du dieselbe CSS-Definition mehrfach verwenden willst, verwende Klassen (class="noprint", und .noprint statt #noprint im CSS).

    Line 76, column 50:
      ... nt.gif" alt="Diese Seite ohne Menü drucken" align="absmiddle" style=" ...
    Error:  there is no attribute "ALIGN" for this element (in this HTML version)

    Klar: ALIGN ist hier verboten. Textausrichtung geht mit einem eingelagerten <DIV align="...">.

    Line 90, column 2:
        Der „Active Desktop“ ist ein erweiterter Desktop für <a ...
    Error:  text is not allowed here; try wrapping the text in a more descriptive container

    <blockquote> ist böse, und AFAIK auch am aussterben. Zumindest ist es kein ordentliches Blockelement. Nimm was anderes, z.B. DIV. Und deswegen wird auch das <A> angemeckert.

    Wenn du diese Fehler erstmal ausgemerzt hast, schaun wir weiter.

    - Sven Rautenberg

    1. ich habe gerade die Seite http://www.assistance4all.de/?page=lexicon mit http://validator.w3.org/check?uri=http%3A%2F%2Fwww.assistance4all.de%2F%3Fpage%3Dlexicon validiert.

      ... das wird ja schon richtig übersichtlich :))

      Line 90, column 50:
        ... "link.gif" width="18" height="17" align="absmiddle">Microsoft Windows- ...
      Error:  required attribute "ALT" not specified

      IMG-Tags müssen immer einen alternativen Text haben. Also mindestens alt="" muß drin sein (und es ist auch wirklich sinnvoll, denn so verschwinden alle Füllbilder aus einer Textdarstellung).

      Gefixt.

      Line 75, column 18:
                  <td id="noprint" style="background-color: #71879A; width: 16 ...
      Error:  ID "NOPRINT" already defined

      Du darfst eine ID nur einmal pro Datei (und Tag) definieren. Wenn du dieselbe CSS-Definition mehrfach verwenden willst, verwende Klassen (class="noprint", und .noprint statt #noprint im CSS).

      Hmm. Und wenn der Zelle oder sonst was schon eine Klasse zugewiesen ist?

      Line 76, column 50:
        ... nt.gif" alt="Diese Seite ohne Menü drucken" align="absmiddle" style=" ...
      Error:  there is no attribute "ALIGN" for this element (in this HTML version)

      Klar: ALIGN ist hier verboten. Textausrichtung geht mit einem eingelagerten <DIV align="...">.

      Ja, aber wie schaffe ich es dann, dass das Bild nicht auf der Grundlinie, sondern in der Mitte der Zeile (vertikal) ausgerichtet wird?

      Line 90, column 2:
          Der „Active Desktop“ ist ein erweiterter Desktop für <a ...
      Error:  text is not allowed here; try wrapping the text in a more descriptive container

      <blockquote> ist böse, und AFAIK auch am aussterben. Zumindest ist es kein ordentliches Blockelement. Nimm was anderes, z.B. DIV. Und deswegen wird auch das <A> angemeckert.

      Ebenfalls gefixt.

      Danke für deine Hilfe,
      Peter

      1. Hi,

        Line 76, column 50:
          ... nt.gif" alt="Diese Seite ohne Menü drucken" align="absmiddle" style=" ...
        Error:  there is no attribute "ALIGN" for this element (in this HTML version)

        Klar: ALIGN ist hier verboten. Textausrichtung geht mit einem eingelagerten <DIV align="...">.

        Ja, aber wie schaffe ich es dann, dass das Bild nicht auf der Grundlinie, sondern in der Mitte der Zeile (vertikal) ausgerichtet wird?

        Hab: <img alt="Link" src="link.gif" style="height: 17px; width: 18px; vertical-align: middle">

        Aber das bleibt:

        Line 75, column 18:
                    <td id="noprint" style="background-color: #71879A; width: 16 ...
        Error:  ID "NOPRINT" already defined

        Du darfst eine ID nur einmal pro Datei (und Tag) definieren. Wenn du dieselbe CSS-Definition mehrfach verwenden willst, verwende Klassen (class="noprint", und .noprint statt #noprint im CSS).

        Hmm. Und wenn der Zelle oder sonst was schon eine Klasse zugewiesen ist?

        Danke für eure Hilfe,
        Peter

      2. ich habe gerade die Seite http://www.assistance4all.de/?page=lexicon mit http://validator.w3.org/check?uri=http%3A%2F%2Fwww.assistance4all.de%2F%3Fpage%3Dlexicon validiert.

        ... das wird ja schon richtig übersichtlich :))

        Eben... ;)

        Line 75, column 18:
                    <td id="noprint" style="background-color: #71879A; width: 16 ...
        Error:  ID "NOPRINT" already defined

        Du darfst eine ID nur einmal pro Datei (und Tag) definieren. Wenn du dieselbe CSS-Definition mehrfach verwenden willst, verwende Klassen (class="noprint", und .noprint statt #noprint im CSS).

        Hmm. Und wenn der Zelle oder sonst was schon eine Klasse zugewiesen ist?

        Dann darfst du doppeln:
        <... class="xxx,yyy">

        Sollte zumindest so sein - kann das irgendwer bestätigen?

        Ansonsten: Wenn es unbedingt IDs sein sollen, oder es nicht anders geht, mußt du zwei verschiedene IDs definieren, noprint1 und noprint2.

        Line 76, column 50:
          ... nt.gif" alt="Diese Seite ohne Menü drucken" align="absmiddle" style=" ...
        Error:  there is no attribute "ALIGN" for this element (in this HTML version)

        Klar: ALIGN ist hier verboten. Textausrichtung geht mit einem eingelagerten <DIV align="...">.

        Ja, aber wie schaffe ich es dann, dass das Bild nicht auf der Grundlinie, sondern in der Mitte der Zeile (vertikal) ausgerichtet wird?

        Überhaupt gültige Werte für das HTML-Attribut align (nicht in jedem Falle alle): top, middle, bottom, left, center, right, justify und char. Wenn eines dieser Attribute das tut, was du willst - schön.

        Ansonsten weiche auf CSS aus. Dort gibt es die Formatierung vertical-align (top, middle, bottom, baseline, sub, super, text-top, text-bottom) oder text-align (left, center, right, justify). Zu Risiken und Nebenwirkungen der Link zur Packungsbeilage: </selfhtml/css/eigenschaften/ausrichtung.htm#vertical_align>

        Danke für deine Hilfe,
        Peter

        Bitte!

        - Sven Rautenberg

        1. Dann darfst du doppeln:
          <... class="xxx,yyy">

          Sollte zumindest so sein - kann das irgendwer bestätigen?

          Die Klassen werden nur durch ein Leerzeichen getrennt, also so:
          <... class="xxx yyy">

          1. Dann darfst du doppeln:
            <... class="xxx,yyy">

            Sollte zumindest so sein - kann das irgendwer bestätigen?

            Die Klassen werden nur durch ein Leerzeichen getrennt, also so:
            <... class="xxx yyy">

            Auch schön. SelfHTML hat dazu, soweit ich gesehen habe (vielleicht nicht scharf genug hingesehen) nichts geschrieben.

            Danke!

            - Sven Rautenberg

          2. Hi,

            Die Klassen werden nur durch ein Leerzeichen getrennt, also so:
            <... class="xxx yyy">

            Danke, jetzt bin ich alle Fehler los, außer <a target=...>. Ich bleibe trotzdem bei HTML 4.01 Strict; wenn ein Browser streng ist, soll er es halt ignorieren, ist ja nicht so schlimm. Oder gibt es Browser, die in solchen Fällen gar nichts anzeigen?

            Bye,
            Peter

            1. Hallo !

              Danke, jetzt bin ich alle Fehler los, außer <a target=...>. Ich bleibe trotzdem bei HTML 4.01 Strict;

              Was'n das für'n Quatsch? =:-O

              "Strict" ist "Strict". Das sagt doch schon der Name. Da gibt es nichts zu diskutieren.

              Es ist doch nichts Verwerfliches, wenn deine Seite "nur" 100% valides HTML 4.01 nach Transitional-DTD ist. Ganz im Gegenteil. :-)

              wenn ein Browser streng ist, soll er es halt ignorieren, ist ja nicht so schlimm. Oder gibt es Browser, die in solchen Fällen gar nichts anzeigen?

              Wenn ich Browser wäre, würde ich gar nichts anzeigen. Allein schon aus Prinzip.

              Gruß,

              kerki

              1. Hi!

                "Strict" ist "Strict". Das sagt doch schon der Name. Da gibt es nichts zu diskutieren.

                Was heißt Strict auf Deutsch? :o)

                Es ist doch nichts Verwerfliches, wenn deine Seite "nur" 100% valides HTML 4.01 nach Transitional-DTD ist. Ganz im Gegenteil. :-)

                Echt?

                wenn ein Browser streng ist, soll er es halt ignorieren, ist ja nicht so schlimm. Oder gibt es Browser, die in solchen Fällen gar nichts anzeigen?

                Wenn ich Browser wäre, würde ich gar nichts anzeigen. Allein schon aus Prinzip.

                lol. Naja, werde ich eben mal Transitional nehmen, ist ja auch egal. Dann muss ich halt bei Änderungen zum Validieren mir immer diese schöne gelbe Meldung angucken.
                Was bedeutet eigtl. DTD?

                Bye,
                Peter

                1. lol. Naja, werde ich eben mal Transitional nehmen, ist ja auch egal. Dann muss ich halt bei Änderungen zum Validieren mir immer diese schöne gelbe Meldung angucken.

                  Nein, so meinte er das nicht. Du sollst die DTDs deiner Seiten von strict nach transitional ändern, nicht die Einstellung im Validator.

                  1. lol. Naja, werde ich eben mal Transitional nehmen, ist ja auch egal. Dann muss ich halt bei Änderungen zum Validieren mir immer diese schöne gelbe Meldung angucken.

                    Nein, so meinte er das nicht. Du sollst die DTDs deiner Seiten von strict nach transitional ändern, nicht die Einstellung im Validator.

                    Oder hab' ich das jetzt falsch verstanden? Naja - egal :-)

                    1. Hi,

                      lol. Naja, werde ich eben mal Transitional nehmen, ist ja auch egal. Dann muss ich halt bei Änderungen zum Validieren mir immer diese schöne gelbe Meldung angucken.

                      Nein, so meinte er das nicht. Du sollst die DTDs deiner Seiten von strict nach transitional ändern, nicht die Einstellung im Validator.

                      Oder hab' ich das jetzt falsch verstanden? Naja - egal :-)

                      Ja, war wohl die Müdigkeit :) Ich meine, ich lasse trotzdem weiter nach Strict validieren.

                      Bye,
                      Peter

                      1. Hallo,

                        Ja, war wohl die Müdigkeit :) Ich meine, ich lasse trotzdem weiter nach Strict validieren.

                        Ich denke, konsequent wäre:
                        (Strict AND  NOT target) XOR (Transitional AND target)
                        Wobei das XOR eine äußerst bedeutsame Rolle spielt;-)

                        Sonst zeigt sich dann irgende ein Browser noch von der beleidigten Seite und meint nur mehr: "Do keint jo a jeda kumman:-("

                        Grüße
                          Klaus

                2. Hallo !

                  "Strict" ist "Strict". Das sagt doch schon der Name. Da gibt es nichts zu diskutieren.
                  Was heißt Strict auf Deutsch? :o)

                  Tja, öhm, wie wäre es mit "strikt", also "streng" oder "genau"?

                  Es ist doch nichts Verwerfliches, wenn deine Seite "nur" 100% valides HTML 4.01 nach Transitional-DTD ist. Ganz im Gegenteil. :-)
                  Echt?

                  Du kannst gerne den Validator auf beliebige Seiten deiner Wahl loslassen. Du wirst nur wenige finden, die das "Krönchen" vom W3C bekommen.

                  Was bedeutet eigtl. DTD?

                  Document Type Definition, zu deutsch: "Dokumententyp-Angabe".

                  Erklärung hierzu liefert SELFHTML:
                  http://selfhtml.teamone.de/html/allgemein/grundgeruest.htm#dokumenttyp
                  oder das W3C direkt (liest sich wie trocken Brot):
                  http://www.w3.org/TR/html401/sgml/dtd.html

                  Eine übersichtliche Aufstellungen, welche Elemente bzw. Attribut du bei welcher DTD verwenden kannst, findest du hier:
                  Elemente : http://www.w3.org/TR/html401/index/elements.html
                  Attribute: http://www.w3.org/TR/html401/index/attributes.html

                  HTH

                  Gruß,

                  kerki

    2. <blockquote> ist böse, und AFAIK auch am aussterben. Zumindest ist es kein ordentliches Blockelement. Nimm was anderes, z.B. DIV. Und deswegen wird auch das <A> angemeckert.

      http://de.selfhtml.org/html/text/zitate_adressen.htm#zitate
      http://www.w3.org/TR/html401/struct/text.html#edef-BLOCKQUOTE