# W3School Validator sagt HTml File ist gültig, obwohl es kein <html> hat?



## caradelevingne73 (12. Oktober 2016)

Hier der Code(Bild):
	

		
			
		

		
	




Hier der Code: 
<!DOCTYPE html>
<head><title>CodeWatcher</title>
</head>

<body>
    001_Notenprogramm  <ul><li>
   sadfsf  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   sdfafa  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   adfadfaf  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   fa  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   sfa  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   sfa  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   dsf  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   dsaf  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   dsf  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   asf  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   sdfafa  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   dsf  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul><ul><li>
   ds  
    <ul><li>Programm.cs</li><li>Testfall.cs</li></ul></li></ul>

   </body>

Wie Sie sehen können habe ich kein <html> Tag, aber der W3School sagt das der "Code" trz richtig ist? Wie kann es sein? Habe ich einen Bug?


----------



## Halfbax (12. Oktober 2016)

http://stackoverflow.com/questions/5641997/is-it-necessary-to-write-head-body-and-html-tags


----------



## ComFreek (13. Oktober 2016)

Falls du den W3C Validator meinst (http://validator.w3.org/), hat der W3C übrigens nichts mit W3Schools zu tun. Das wird oft verwechselt  W3C ist das offizielle Konsortium, W3Schools hat sich nur den Namen abgekupfert.


----------



## MrMurphy (13. Oktober 2016)

Hallo

Je nach HTML-Version gibt es Regeln die eingehalten werden sollten. Weiter gibt es ungeschriebene Regeln (Best Practices) deren Einhaltung Probleme vermeidet.

Anfänger arbeiten leider häufig schlampig oder fallen auf Tips herein, wie durch Minimierung des Quelltextes Arbeit gespart werden kann. Was anfangs noch funktionieren mag geht bei kompletten Webseiten in der Regel nach hinten los.

Weiterhin ist es ein Grundsatz, dass Browser auf bei Fehlern im Quelltext versuchen sollen Webseiten überhaupt und dann auch noch möglichst sinnvoll anzuzeigen.

Daraus resultiert zum großen Teil der Erfolg des WWW. Würde wie bei Programmen bei Fehlern nichts angezeigt werden oder Fehlermeldungen erscheinen würden über 98% aller Webseiten nicht funktionieren.

Die Schlußfolgerung "Meine Webseite wird angezeigt, also ist mein Quelltext fehlerfrei." ist also falsch.

Zur Korrektur der Browser gehört unter anderem, dass fehlende Elemente / Tags bei dem Aufbau der Seite im Browser hinzugefügt werden.

Bei einigen Elementen / Tags ist dies durch die HTML-Regeln vorgesehen und wird von allen Browsern deshalb ähnlich gehandhabt.

Bei anderen Elementen / Tags hängt dies von den Browserherstellern ab. Solche fehlenden Elemente werden also unvorhersehbar oder gar nicht korrigiert. Häufig vorkommende Fehler werden von den Browsern in der Regel deshalb auch korrigiert, wenn dies in den HTML-Regeln nicht vorgesehen ist.

Das HTML-Element ist in den HTML-Regeln von HTML5 nicht als Pflichtelement vorgesehen und kann weggelassen werden, wenn nicht direkt ein Kommentar folgt. Bei anderen HTML-/XHTML-Versionen kann das aber anders sein.

Siehe zum Beispiel

http://t3n.de/news/html5-sparst-quelltext-bleibst-374392/

und

https://www.w3.org/TR/html5/syntax.html#optional-tags

Dass das fehlende HTML-Element nicht moniert wird ist also in diesem Fall korrekt.

Wobei die Prüfprogramme nur korrekt arbeiten können wenn sie den originalen Quelltext erhalten. Wenn sie den von einem Browser bereits korrigierten Quelltext erhalten können sie die korrigierten Fehler nicht finden.

Gruss

MrMurphy


----------

