Michael Jendryschik: Wäre es nicht Zeit für HTML 4.1...

Beitrag lesen

Ich glaube sagen zu können, dass folgende Aussagen in etwa den Trend der vorherrschenden Meinung hier im Forum wieder geben:

  • man sollte seine Webseiten dem W3C Standard konform aufsetzen

Ist Voraussetzung für:

  • Webseiten sollten so weit wie möglich browser- und plattformunabhängig sein

Ist Voraussetzung für:

  • Webseiten sollten barrierefrei sein

Hast du gemerkt, dass deine Aussagen aufeinander aufbauen und sich gegenseitig bedingen?

Validen Code zu schreiben erscheint mir hierbei noch die geringste Schwierigkeit zu sein (u.a. dank SelfHTML), nur was nutzt mir der letztendlich, wenn die Anzeige nachher doch in jedem Browser (sofern überhaupt etwas angezeigt wird) anders aussieht?

Ich möchte Michael Nahrath sprechen lassen (aus 1emu8vw.fwsvxc135g2pxN@news.bk30.de):

"Stell Dir vor, Du kaufst eine Zeitung.
   Beim Lesen in der U-Bahn ist es eng, da hat sie A5-Format.
   Auf dem Fussweg zur Arbeit lässt Du dir einen Artikel vom Walkman vorlesen.
   Im Büro liest Du sie auf dem Schreibtisch, da hat sie A2.
   Abends gibst Du sie Deiner Oma zu lesen und machst dafür die Schrift grösser.
   Und das alles mit ein und derselben Zeitung!

Geht leider nicht mit Papier, mit einer Website geht sowas."

Dass Webseiten je nach Ausgabemedium, Benutzeragent und Vorlieben des Benutzers anders aussehen können, ist kein Nachteil, sondern die größte und wichtigste Qualtität von HTML! Gute Webautoren versuchen ihre Webseiten daher so zu entwerfen, dass dieser Vorteil sich frei entfalten kann.

Ein Standard ist ja sicher auch sinnvoll & notwendig, aber inwieweit kann man denn überhaupt von Standard sprechen, wenn es AFAIK keinen einzigen Browser gibt, der den kompletten Standard auch standardgemäß beherrscht? Wäre da eine Bezeichnung wie Schnittmenge von W3C-Standard und Browser nicht viel eher zutreffend?

Was sollte es bringen, eine solche Schnittmenge zu definieren und nur damit zu arbeiten? Und wie überhaupt sollte es möglich sein, eine Schnittmenge zu ermitteln? Über welche Browser reden wir? Über alle auf dem Markt befindlichen? Über die Browser der oberen Zehntausend? Über Browser, die nach 1998 erschienen sind? Oder nach 2000?

Wie schwierig es zu sein scheint, einen solchen Browser zu entwickeln, würde ich alleine mal daraus ableiten, dass es ja selbst dem W3C nicht gelingt (Stichwort: Amaya).

Amaye ist Open Source. Du kannst dich an der Entwicklung beteiligen, wenn du magst: http://www.w3.org/Amaya/Actors.html#contribute

Da fangen die Probleme dann schon an. Wie stelle ich denn fest, welche Methoden und Objekte der vom User verwendete Browser unterstützt bzw. kennt?

Du bringst hier einiges durcheinander. Du willst über HTML nachdenken und sprichst von Browsern, Methoden und Objekten. Das sind andere Begriffe. Im folgenden sprichst du über DOM un JavaScript. Vor allem letzteres verwende ich abgesehen von optischen Spielereien nur dann, wenn die Umgebung des Benutzeres bekannt ist oder im Rahmen eines konkreten Projektes zumindest eingeschränkt werden darf. Ansonsten ist JavaScript im Web nicht zu gebrauchen, aber das ist nur meine persönliche Meinung.

Kommen wir jetzt mal zu den gestalterischen Möglichkeiten (Stichwort CSS). Eine wunderbare & mächtige Erweiterung zu HTML leider aber auch wieder mit denselben Problemen behaftet. Es gibt zwar wiederum einen Standard, aber die Browser interpretieren diesen ebenfalls in anderer Art & anderem Umfang, womit wir wieder bei dem (Javascript-)Problem der effizienten Browserunterscheidung wären.

Ich sehe das alles weniger aufgeregt als du. Wenn ich mein Dokument strukturiert und die darin enhaltenen Informationen adäquat ausgezeichnet habe, habe ich das Wichtigste getan. Ich will nicht behaupten, dass die Gestaltung nun vollkommen unwichtig ist, ganz im Gegenteil, aber ich unterscheide hier. Wer mit NN4 und ähnlich missglückten und veralteten Browsern Webseiten besucht, nimmt dies entweder bewusst in Kauf, vielleicht auch, weil es ihm nicht wichtig ist, oder hat keine andere Wahl, weil der Benutzeragent vorgeschrieben ist, wie z.B. in Firmennetzwerken, Universitäten oder Bibliotheken. In letzteren Einrichtungen wird das Web zumeist ohnehin nicht dazu besucht, sich unterhalten zu lassen, sondern konkret um Informationen zu erhalten oder Hilfestellungen zu bemühen.
In meinem Artikel "Rücksicht auf Netscape 4?" http://www.mywebresource.de/html/guides/nn4.html) formuliere ich meine Gedanken ausführlicher und halte vor allem zwei Thesen fest, die sich vom NN4 hin zu vergleichbar veralteten Browsern verallgemeinern lassen:

"Eine Webseite sollte so geschrieben werden, dass alle Besucher Ihrer Seite
   Zugang zu den gebotenen Informationen erhalten!

Verschwenden Sie nicht zuviel Ihrer Zeit, die optische Darstellung für den
   NN4 zu verfeinern!"

Der einfachste Weg, dies zu erreichen, ist es, problematische CSS-Regeln vor den diversen Browsern zu verstecken. Eine Sammlung von Tipps findest du unter http://www.w3development.de/css/hide_css_from_browsers/. Aber diese Möglichkeit ist dir anscheinend bekannt, denn du schreibst weiter:

Vielfach trifft man heutzutage die Variante an, dass man Code verwendet, der von bestimmten Browsern dann ignoriert (da ihnen unbekannt) wird, um damit vorhergehende Anweisungen (für die anderen Browser) zu überschreiben. Was mache ich aber dann, wenn der Nachfolger die Anweisungen dann plötzlich versteht?

Es ist das Ziel fast aller CSS-Hacks, bestimmte veraltete Implementationen auszuschließen und aktuelle zuzulassen. Welches Problem siehst du daran?

Und plötzlich (ich formuliere das bewusst etwas provokant) fällt allen Beteiligten auf, dass man (mal wieder) eine Minderheit vergessen hat, nämlich die behinderten Menschen (Stichwort Barrierefreiheit). So gerne wie ich meine Webseite auch an die Bedürfnisse dieser Menschen anpassen möchte, muss ich sagen, dass hier der Punkt erreicht ist, an dem ich endgültig nicht mehr weiß, wie ich meine Webseite noch gestalten soll, um die notwendigen Inhalte zu transportieren.

http://www.w3.org/Consortium/Offices/Germany/Trans/WAI/webinhalt.html gibt dir entscheidende Hinweise. Auch http://bobby.watchfire.com/bobby/html/en/index.jsp wird in diesem Zusammenhang oft genannt, allerdings kenne ich diese Website nicht wirklich.

Meiner Ansicht nach muss z.B. eine Navigationsstruktur für sehende und nicht sehende Menschen fast zwangsläufig anders aufgebaut sein.

Woraus leitest du diese Meinung ab?

Jetzt komme ich mal auf den eigentlichen Titel des Threads zurück. Meiner Meinung nach ergeben sich aus der Praxis der letzten Jahre, der Browserentwicklung und den veränderten Anforderungen an Webseiten (um jetzt nur mal drei der wichtigsten Punkte zu nennen) doch nun langsam aber sicher mal die Notwendigkeiten, den HTML-Standard auch diesbezüglich mal zu erweitern. Ich empfinde die Empfehlungen des W3C nämlich langsam so, dass ich (als Webseitenersteller) mit HTML etwas umsetzen soll, was HTML IMHO nicht mehr in der Lage ist zu leisten.

Das liegt vor allem daran, dass du HTML, Javascript, DOM, CSS und Begriffe wie Gestaltung oder Zugänglich, also einen Großteil der von dir zur Erstellung von Webseiten verwendeten Techniken und Konzepte, in einen Topf wirfst und dich dann auf HTML fokussierst. Dabei ist HTML nicht mehr als eine Textauszeichnungssprache, die deine Erwartungen überhaupt nicht erfüllen kann! Du übersiehst, dass HTML seine Aufgaben sehr wohl ausreichend und auch befriedigend erfüllt.

Deine Missverständnisse machst du auch durch dein angeführtest Beispiel deutlich.

Als Beispiel möchte ich hierzu nur mal den Fall Redirect nennen. Das W3C empfiehlt auf die Verwendung von <META HTTP-EQUIV=REFRESH CONTENT="1; URL=http://machine/doc3.html"> zu verzichten (siehe http://www.w3.org/2001/06tips/reback). Stattdessen empfiehlt man auf serverseitige Techniken auszuweichen (wenn ich das aus den angegebenen Links richtig interpretiert habe) also nix mehr mit HTML, wobei doch gerade das noch mein Rettungsanker gewesen wäre für den Fall, dass ein User Javascript deaktiviert hat.

Eine Weiterleitung ("Redirect") mit 'META HTTP-EQUIV=REFRESH' ist keine solche, sondern eben nur ein *Refresh*. Es wird damit versucht, einen HTTP-Header nachzureichen (daher auch "HTTP-EQUIV"), dessen Verhalten allerdings undefiniert ist, da "Refresh" undefiniert ist. Aus diesen Gründen ist die Verwendung dieses Meta-Elementes äußerst unsinnig, und das W3C rät zurecht davon ab. Wie es besser, nämlich serverseitig geht, erklärt dir http://www.modulepool.com/web-pool/System/htaccess_weiterleitung.php4.

Wo bleibt denn da eine sinnvolle HTML-Alternative?

Dinge wie Weiterleitungen oder andere serverseitigen (wie auch clientseitigen) Aktionen sind *nicht* Aufgabe von HTML. Ich empfehle dir die Lektüre von http://jendryschik.de/wsdev/einfuehrung/websprachen.html und http://jendryschik.de/wsdev/einfuehrung/webapplikationen.html, um ein Gefühl dafür zu bekommen, was mit welcher Sprache möglich ist.

Warum führt man keine neuen Elemente/ Attribute ein?

Mit XHTML 2.0 wird genau dies geschehen, jedoch mit einem anderen Ziel als das, das du verfolgst.

Ursprünglich war ich mal der Meinung, dass das Internet seinen sprunghaften Aufstieg u.a. der Einfachheit der zugrunde liegenden Auszeichnungssprache verdankt.

Genau dies ist der Fall.

Gruß, MI

--
: Michael Jendryschik : michael@jendryschik.de : http://jendryschik.de/ :
: Einführung in XHTML, CSS und Webdesign   http://jendryschik.de/wsdev/ :
: Monatlich das Beste aus de.alt.netdigest http://best-of-netdigest.de/ :