Moin!
Bitte noch einmal, was ist an der Aussage "Meine Seite [enthält] größtenteils korrekten Code" falsch?
Angenommen, die Aussage wäre so korrekt.
Dann besagt sie also, die Seite in Teile zerteilbar ist.
Einige der Teile sind korrekt. Aber nicht alle Teile sind korrekt.
Aber welche Teile sind nicht korrekt? Wo beginnt ein inkorrekter Teil, wo endet er?
Ich erfinde einfach mal einen "Teil" eines angenommenen, "größtenteils" korrekten Codes:
<div><a href="#whatever">Ein Link</a></div>
Folgender angenommener Streitdialog zwischen uns beiden:
Du: Ist dieser Teil korrekt?
Ich: Frag mal den Validator, ob ihm an diesem Teil was fehlt? Vermutlich wird er den DOCTYPE als fehlend ankreiden, sowie den nichtvorhandenen <title>.
Du: Argh, das ist doch nur ein Ausschnitt aus dem Code, DOCTYPE und <title> stehen weiter oben im Code.
Ich: Nun ja, dann sieht dein Code auf den ersten Blick nicht ganz falsch aus. Dummerweise hast du nur deinen "Teil" so günstig ausgeschnitten, dass der Kontextfehler hier nicht auffällt, denn dein <div> steht in einem <p> - und das ist verboten!
...
Merke: Du kannst deine "Teile" des Dokuments immer so passend ausschneiden, dass ziemlich abstruse und verbotene Konstruktionen komplett aus dem Fokus geraten und erstmal durch das Betrachtungsraster fallen.
Jetzt wirst du natürlich sagen: Jaaa gut, <div> in <p>, das ist mir klar, das ist ein Fehler. Und sowas darf man dann eben in der Betrachtung nicht wegschneiden.
Dann sage ich: Wenn ich aber, genau wie der Validator, jedes innerste Element auf seine Gültigkeit prüfe, und dann die dieses Element umgebenden Elemente auf ihre Gültigkeit (auch im Hinblick auf die darin befindlichen) prüfe - dann lande ich irgendwann bei diesem <p>, in dem ein <div> ist. Also ist das <p> fehlerhaft. Und dieses <p> steht in einem <body>. Also steckt ein fehlerhaftes Element im <body>, das macht diesen ebenfalls fehlerhaft. Und dasselbe gilt für das umgebende <html>. Und damit für das gesamte Dokument - das gesamte Dokument ist entweder fehlerfrei, oder es ist fehlerhaft.
"Größtenteils fehlerfrei" ist eine Illusion. Es kann im Falschen nichts Richtiges geben.
Im Zweifel zerteilst du dein Dokument einfach in jedes einzelne Zeichen, zeigst auf das Zeichen ("<", "a", ">",...) und sagst "Guck mal, das Zeichen $z - ist doch korrekt geschrieben, oder?", und alle werden nicken "ja, ist korrekt getippt", und so kommst du zu einem 100% fehlerfreien Dokument, oder wie?
Fehlerfreiheit eines HTML-Dokuments gilt nun mal für das gesamte HTML-Dokument - nicht für irgendwelche Teile.
- Sven Rautenberg
--
"Love your nation - respect the others."