|
In der Schulzeit mit dem Hobby "Computer" auf einem TI-99/4A
angefangen ("Wer sagt denn, daß man mit Zeichensatz-Grafik
nicht tolle Grafikdemos programmieren kann?"), über den Atari 600XL
("Habe ich eigentlich schon mal die Geschichte erzählt, wie ich bei meinem
300-Baud/Bits-per-Second-Akustikkoppler immer in die Muschel pfeifen
mußte, um einen Connect zu bekommen?"), den Atari 130XE
("Wow - 128 KByte via Bankswitching!"), den Atari 520ST+
("Es läuft sogar MacOS, MS-DOS und MS-Windows 3.11!"), den
Atari TT
("Nein, dieses tolle DTP-Programm gibt es nicht für Windows-PCs - schon
gar nicht in der Geschwindigkeit."), bis zum Windows-PC ("Die Atari-Programme
laufen mittlerweile ein vielfaches schneller, als jemals auf einer Atari-Hardware.")
- mit privaten und beruflichen Abstechern zum Amiga ("Der aufwendigste Türstopper wo
gibt."), IBM-PC ("Mit ein paar Basic- und Batch-Routinen ließe
sich die Arbeit deutlich optimieren!"), Unix ("Ist hier noch ein
Terminal offen? Ich habe mich gerade ausgesperrt - und übrigens:
alle anderen auch!") und FreeBSD ("Ähnlich wie Linux - nur besser."),
bin ich HTML-Autor seit der Zeit, als Mosaic noch der Browser
war, Netscape Navigator noch eine "Nullnummer" trug und Bill Gates
"Internet" noch nicht mal buchstabieren konnte (na ja, es zumindest nicht
wollte) ... ;-)
Vielleicht "ungewohnte" HTML-, CSS- und/oder Script-Konstrukte und -Elemente
sind (jedenfalls in der Regel) wohl durchdacht und reflektieren diese jahrelange
Erfahrung mit Generationen von Computern, Browsern und Web-Standards. =;-)
Die Seiten wurden entwickelt fürs Surfen mit Browsern, nicht
für HTML-"Validatoren" & Co.! Letztere melden ggf. "Fehler", da
der verwendete HTML-Code zwar syntaktisch korrekt ist(!), aber
nicht einer bestimmten Version entspricht (z.B. HTML-4-strict),
sondern eine Mischung aus allen Versionen darstellt (s. z.B. auch das Titelthema
der Computerzeitschrift c't 8/2003
"Website nach Maß: HTML-Rechtschreibung - Webdesign ohne Diskriminierung" -
leider steht nur der Artikelanfang
kostenlos im Netz :-(),
inkl. u.a. auch proprietärer Netscape- & Microsoft-HTML-Tags &
-Attribute. Aus diesem Grund fehlt auch ein, nachträglich in den Standard
aufgenommenes, einleitendes DOCTYPE: eigene DTDs (Document Type Definition:
die Datei, die festlegt, was wie in einem Dokument stehen darf und was nicht)
werden von den HTML-Browsern, trotz der dortigen Angabe des URLs der DTD,
geflissentlich ignoriert - jeder Hersteller gängiger Browser verwendet intern
ohnehin mindestens eine herstellerspezifische DTD, die von den "offiziellen"
HTML-DTDs des W3Cs (mitunter auch treffend "3WC" genannt), von denen es ja
ebenfalls mehrere gibt, mal mehr, mal weniger abweicht!
Anders als bei der "Mutter" der Beschreibungssprachen, SGML (worauf auch HTML beruht),
bei der zu jedem Dokument verbindlich durch die real (und zuerst) existierende
DTD dessen Gültigkeit (Validität) festgelegt wird, ist es das Grundprinzip
von HTML (aber auch von CSS), daß die Tags & Attribute vom Browser zu
ignorieren sind, die er nicht kennt - man hätte sonst auch bei SGML bleiben können
(Achtung: Bei Scripts ist dies nicht der Fall: sie müssen so
programmiert werden, daß neue Scriptelemente von Browsern mit älteren
Scriptversionen nicht interpretiert werden). D.h., ein ordnungsgemäßes
SGML-Dokument darf wirklich nur die Elemente aufweisen, wie sie in der DTD
definiert wurden, um von einer SGML-fähigen Software verarbeitet werden zu
können. Bei einem HTML-Dokument reicht es, wenn es keine logischen Fehler
enthält (z.B. falsch verschachtelte Tags oder nicht geöffnete/geschlossene
Tags - auch und gerade durch Tippfehler). Ist die syntaktische Korrektheit aber
gegeben, so spricht man von einem "wohlgeformten" Dokument. Sinn dieser Lockerung
war, daß ein HTML-Dokument möglichst einfach zu erstellen sein sollte, um so
möglichst hohe Verbreitung zu finden (was ja auch vorzüglich geklappt hat
:-)). Ein SGML-Dokument bedarf, insbesondere was
Planung und Erstellung der DTD angeht, eines weitaus höheren Aufwands, was auch
der Grund ist, warum es vergleichsweise wenig Programme gibt, die HTML-Code
prüfen: Die anfangs existenten (teuren) Validatoren kannten gar kein HTML. Sie
behandelten HTML-Dokumente eben wie SGML-Dokumente, ohne auf das
HTML-Grundprinzip Rücksicht zu nehmen. Hieraus dürfte sich auch der in
bestimmten Kreisen verbreitete Irrglaube gebildet haben, ein HTML-Dokument
habe unbedingt valide zu sein (wohlgemerkt valide im bei HTML-Autoren heute
gebräuchlichen Sinn: Geprüft anhand einer "offiziellen" W3C-DTD - auch ein
"nur" wohlgeformtes HTML-Dokument ist valide: nur eben nicht zu einer W3C-DTD,
sondern, ganz im Sinn von SGML, zu einer ganz speziellen, hier aber ggf. nur
"virtuellen" DTD).
Das HTML-Grundprinzip des wohlgeformten Dokuments kann nun als Glücks-
oder als Sündenfall angesehen werden (darüber läßt sich wahrlich
streiten - auch in bin da durchaus zwiegespalten, habe ich dereinst doch ebenfalls
SGML, auch und gerade zu lieben, gelernt) und auch das die WWW-Standards
weiterentwickelnde Gremium W3C versucht
ja, zumindest einige "Wildwüchse" wieder einzudämmen (wenn man manchen
Protagonisten allerdings so zuhört, möchte man meinen, es würde sich
eher um die Schliessung der Büchse der Pandora, bzw. die Rettung des Abendlandes
handeln ;->). Aber es ist nun einmal Fakt, und so kann
man bedenkenlos spezielle Elemente für z.B. nur einen einzigen Browser mit 1%
Verbreitung verwenden, die 99% der restlichen Browserwelt würden sie einfach
ignorieren (und umgekehrt). Und da ich fast von Anfang an dabei bin, sind neue
Techniken halt einfach kumulativ hinzugekommen - sie haben das "alte Wissen" nicht
verdrängt, was letztlich auch eine Rückversicherung dafür ist, daß
neue, vollkommen unbekannte (Minimal-)Browser, aber auch alte, vielleicht nicht
updatefähige Systeme, ebenfalls diese Seiten nutzen können (egal ob nun
in neuen Multimedia-Handys oder alten Web-Set-Top-Boxen bzw.
Spielkonsolen für den Fernseher) - trotz aller Tricks & Spielereien.
Und natürlich ist auch erwünscht, daß reichlich Surfer diese Seiten
finden, weil die Suchmaschinen mit diesem, wiederum von modernen Browsern eher
ignorierten "Minimal-" oder "Altcode", gut zufriedenzustellen sind (die Tricks
& Spielereien ignorieren sie halt einfach). Der Nachteil, daß die
üblichen (SGML-lastigen) Validatoren "meckern", weil sie leider
nicht nur die Syntax prüfen (wie es zumindest ein penibler Browser eigentlich
tun müßte - aber oft nicht tut, was zur ärgerlichen Folge haben kann, daß
ein fehlerhaftes HTML-Dokument in einem Browser wie gewünscht dargestellt
wird, in einem anderen Browser jedoch nicht), sondern (eben konträr zum
definierten Verhalten eines HTML-Browsers) auch versuchen, die Semantik zu
überprüfen (also z.B.: sind die Elemente bekannt und "erwünscht",
d.h. gehören sie zur einer bestimmten, ggf. auch einer vielleicht zukünftigen,
noch zu schreibenden DTD =:-o). Und wie hieß es doch
im genannten c't-Artikel zu den Validatoren: "Das Fehlerprotokoll kann die
Suche nach Problemen wesentlich erleichtern, wenn es kompetent interpretiert wird."
Dabei ist es nun wahrlich kein Problem, eine valide (also vom Validator für
einwandfrei befundene) HTML-Seite zu erstellen, die in einem oder allen Browsern
furchtbar bis gar nicht dargestellt wird, wie es umgekehrt eben auch der Fall ist -
mag dies auch von so manchen "HTML-Standard-4-strict-Bürokraten"
nicht akzeptiert werden, die jedes Konstrukt kritisieren, das nicht mindestens
mit 3-fachem Durchschlag vom letzten Monat "offiziell" genehmigt wurde. ;->
Und gerade weil die Validatoren dem HTML-Anfänger eine große Hilfe sind,
wenn er, noch unsicher in dem was er da tut, auf mögliche Fehler aufmerksam gemacht
wird: Der Web-Autor muß sich stets vor Augen halten, daß valides HTML
(im gebräuchlichen Sinne) ungleich korrektes HTML ist! Denn von Bedeutung
ist in HTML eben zum einen einzig die Validität der Syntax (jedenfalls solange
man nicht durch die Angabe in einer DOCTYPE behauptet, die Seite wäre zur
angegebenen DTD gültig, was sie aber in Wirklichkeit dann doch nicht ist -
zumal man wissen muß, daß manche Browser versuchen, den DOCTYPE -
nicht jedoch die DTD - auszuwerten, um das Dokument dann entsprechend darzustellen - ein
mehr als unsinniges, in keinster Weise standardisiertes und auch noch mitunter
fehlerhaft umgesetzes Verfahren namens
DOCTYPE-Sniffing),
zum anderen natürlich das, was die unterschiedlichen Browser mit ihren
unterschiedlichen internen DTDs und ihren unterschiedlichen Fehlern daraus machen ...
Wenn also kein gravierender Fehler in der Browser-Software vorliegt, sollte
diese Website mit jedem Browser in jeder Konfiguration (und eben auch
durch Suchmaschinen) sinnvoll genutzt werden können - online vom Server, wie
offline von CD! Egal ob HTML-1- oder gar Text-orientierte Browser ohne
Frames und/oder Tabellen, über die ersten Browser mit JavaScript, bis hin
zu aktuellen Browsern mit CSS 1/2, ECMA-Script und W3C-DOM: Jeder Browser
wird Binary Online (seinen Fähigkeiten entsprechend) darstellen,
unabhängig auch von der Auflösung des benutzten Bildschirms
Viel Spaß also beim Studieren der Quelltexte,
Cybaer@binon.net, Juli 2003
P.S.: CSS 3 steht vor der Tür, während es selbst für CSS 1 (immer noch)
keine vollständige Browser-Unterstützung gibt - von fehlerfreien
XHTML-Browsern (dem designierten HTML-"Nachfolger" auf XML-Basis) ganz
zu schweigen (wobei: Der Irrsinn hat wohl mittlerweile ein Ende).
So gilt wohl immer noch: Niemand ist perfekt, aber man kann danach streben. 8-)
|