Der Puma auf dem Sprung

Web-Standard HTML 4.0

Unter dem Codenamen "Cougar" (Puma) entwickelt das World-Wide-Web-Konsortium die nächste HTML-Version 4.0. Sie erweitert das Programmieren im Web deutlich: Autoren erhalten verbesserte Formatierungsmöglichkeiten, Anwendern macht der "Puma" einfacheres Navigieren möglich.

 

"Bei HTML funktionieren die Dinge etwas anders", bemerkte Tim Berners-Lee im Kommentar zur Version 4.0 der Hypertext Markup Language (HTML), die derzeit noch als Entwurf zur Diskussion vorliegt. Berners-Lee ist der Erfinder des World-Wide Web (WWW) und Direktor des World-Wide-Web-Konsortiums (W3C), das auf eine offene und herstellerunabhängige Entwicklung des Web achtet. Die wesentlichen Punkte von HTML 4.0 sind:
  • Internationalisierung durch einen erweiterten Zeichensatz;
  • Verbesserte Darstellungs- und Zugriffsmöglichkeiten der einzelnen HTML-Elemente zur besseren Navigation;
  • Scripts, die innerhalb einer Web-Seite direkt auf Anwendereingaben reagieren können;
  • Stilvorlagen ("style sheets");
  • Die Einbindung beliebiger Dateitypen in eine Web-Seite als "Objekte".

Die Verbesserungen sollen sowohl Endanwendern als auch dem Web-Programmierer zugute kommen. Das W3C reagiert mit HTML 4.0 besonders auf die Bedürfnisse der Anbieter von Web-Seiten und stellt ihnen mehr Möglichkeiten zur Gestaltung zur Verfügung. Dazu gehören unter anderem flexiblere Formulare, Tabellen und Rahmen.

Noch ist HTML 4.0 kein Standard. Das W3C hat es am 8. Juli erstmals als öffentlichen Entwurf für die neue Hypertext Markup Language der Öffentlichkeit vorgestellt. Zur Zeit erlebt HTML noch ein zähes Ringen, welche Tags denn nun einfließen sollen. Zu den Ringern gehören auch Microsoft und Netscape, die Hersteller der am weitesten verbreiteten Web-Browser. Es dürfte kaum einen Softwarebereich geben, in dem sich zwei Anbieter so verbissen streiten. Es gehört schon zum Alltag, in das jeweils eigene Programm HTML-Erweiterungen einzubauen, die keinem Standard entsprechen und mit denen der Browser des Konkurrenten garantiert nichts anzufangen weiß.

Die beiden Konkurrenten hoffen darauf, daß gerade ihre proprietären Erweiterungen beim nächsten HTML-Standard übernommen werden. Im Moment hat Microsoft bei diesem Rennen die Nase vorn. Vieles vom neuen HTML 4.0 fußt auf Vorschlägen des Systemhauses. Konkurrent Netscape verspricht, die neue Dokumentsprache sofort in seinem Navigator zur Verfügung zu stellen, sobald sie offiziell als neuer Standard vom W3C verabschiedet ist. Das werde wohl gegen Ende des Jahres der Fall sein, versichert Firmensprecherin Simone Droll, denn Netscape gehe davon aus, daß sich am jetzt vorliegenden Entwurf nicht mehr allzuviel ändern wird.

[Zur Übersicht]

 

Stilvorlagen

Der neue HTML-Entwurf ist ein echter Fortschritt. Zentraler Angelpunkt sind, ohne zu übertreiben, die Stilvorlagen ("style sheets"), eine Art Formatvorlage für Web-Elemente. Sie geben Programmierern endlich die Möglichkeit, das Web-Design entscheidend zu verbessern. Bisher mußten sie sich bei der Gestaltung mit Tricks behelfen, um ein ansprechendes Layout zu erzeugen: proprietäre HTML-Erweiterungen, die nicht jeder Browser versteht, Text als Grafik darstellen, mit unsichtbaren Grafikdateien oder mit unsichtbaren Tabellen ein bestimmtes Layout erzwingen.

Hier setzen die Stilvorlagen an. Sie sollen mit der Zeit eine Reihe der bisher gültigen Attribute ablösen, so zum Beispiel align oder die Textattribute tt, i, b, big, small, strike, s und u. Bei der Sprache für Stilvorlagen legt sich das W3C nicht fest. Die Beispiele, die der HTML-Entwurf nennt, stützen sich allerdings auf die Cascading Style Sheets (CSS1). Dementsprechend kann man davon ausgehen, daß CSS1 auch der übliche Weg sein wird, Stilvorlagen einzurichten.

Stilvorlagen können mit den verschiedensten Tags gemischt werden. Im Prinzip kann man jedem Formatelement einen Stil zuweisen: dem Absatz-Tag <P>, dem erzwungenen Zeilenumbruch <BR>, den Überschriften-Tags <H1> bis <H6>, dem <BODY>-Tag oder den Elementen einer Tabelle: <TABLE>, <TR>, <TD> und so weiter. Tauchen auf der Web-Seite die entsprechenden Tags auf, wird der Inhalt, den sie formatieren, mit den ihnen zuvor zugewiesenen Textattributen versehen.

Stilvorlagen, die global im <HEAD> einer Web-Seite oder für einen bestimmten Tag definiert wurden, können bei Bedarf aber auch "überpinselt" werden. Hat man im Header für <P> einen bestimmten Stil vereinbart, benötigt aber in nur einem Absatz eine andere Formatierung, so fügt man deren Definition einfach am entsprechenden <P>-Tag ein:

<P style="font-size: 18pt; color=red">
... Text ...

Das style-Attribut erzeugt in diesem Absatz eine rote 18-Punkt-Schrift. Die dritte Möglichkeit, Stilvorlagen zu verwenden, ist die Auslagerung in externe Dateien. Dabei gibt das Attribut src den Speicherort der Stildatei an:

<STYLE src="formate.htm">

So können Stilvorlagen zentral bereitgestellt werden, ohne daß sie in jeder Seite neu definiert werden müssen - eine immense Arbeitserleichterung bei großen Web-Sites. Außerdem ermöglicht diese Technik eine sinnvolle Arbeitsteilung, beispielsweise zwischen Textern, die Informationsseiten erzeugen, und Programmierern oder Web-Designern, die sich um das Layout der Seiten kümmern. Im Kasten "Inline-Rahmen ermöglichen eine neue Gestaltung" auf Seite 260 sehen Sie, wie Stilvorlagen mit Hilfe des <STYLE>-Tags angewendet werden.

Eine neue Rahmenart, die der "inline frames", gehört sicherlich zu den auffälligsten Neuerungen der neuen Hypertext Markup Language. Tatsächlich sind bei HTML 4.0 Rahmen überhaupt erstmalig als offizielle HTML-Elemente definiert. Doch Rahmen gehören schon heute zum alltäglichen Erscheinungsbild des Web, und das W3C erteilt mit HTML 4.0 diesem De-facto-Standard nun offiziell seinen Segen.

Den Inline-Rahmen hat Microsoft hoffähig gemacht. Darunter versteht man einen Rahmen, der mitten auf einer Web-Seite steht. Dazu gibt es nun den neuen Tag <IFRAME>:

<IFRAME src="beispiel.html" width ="400" height="500">

Das Attribut src verweist auf die HTML-Datei, die in dem Inline-Rahmen angezeigt werden soll. Width und height geben die Größe in Bildpunkten an, frameborder definiert die Rahmenbreite.

[Zur Übersicht]

 

Tabellen

Auch in Sachen Tabellen hat sich einiges getan. Beispielsweise lassen sich nun die Ränder von Tabellen mannigfaltiger gestalten. Dazu schlägt das W3C für den Tag <TABLE> das Attribut frame vor. Es kann die folgenden Werte annehmen:

  • void: kein Rahmen
  • above: Begrenzungslinie oben
  • below: Begrenzungslinie unten
  • hsides: Begrenzungslinien oben und unten
  • vsides: Begrenzungslinien an beiden Seiten
  • lhs: Begrenzungslinie links
  • rhs: Begrenzungslinie rechts
  • box: alle Seiten begrenzt
  • border: ebenfalls alle Seiten begrenzt

Ein weiteres Highlight: Tabellenspalten können zu Gruppen zusammengefaßt werden. Dazu definiert man am Beginn der Tabelle mit Hilfe des neuen Tags <COLGROUP> die Anzahl der Spalten, die zu einer Gruppe gehören:

<TABLE>
   <COLGROUP span=1>
   <COLGROUP span=2 bgcolor=red>
   <COLGROUP span=1>
   ... die Tabelle ...
</TABLE>

In diesem Beispiel soll eine vierspaltige Tabelle die beiden mittleren Spalten zu einer Gruppe bündeln. Die Gruppen werden einfach in aufeinanderfolgender Reihenfolge, wie sie von links nach rechts folgen, mit Hilfe des Tags <COLGROUP> eingerichtet. Das Attribut span gibt an, wie viele Spalten die betreffende Gruppe umfaßt. Einzelne Spalten sollte man dabei ebenfalls als Gruppe berücksichtigen. Dazu definiert man die erste Spalte als

erste Gruppe, die zweite und dritte Spalte als zweite Gruppe und die letzte Spalte als dritte Gruppe. Dabei läßt sich eine Gruppe beispielsweise auch gleich mit einer Hintergrundfarbe versehen. Sie gilt dann für alle Zellen, die zu den Spalten der betreffenden Gruppe gehören.

Ein zweites Attribut, rules, definiert die Umrahmung einzelner Zellen. Mögliche Werte sind:

  • none: keine Linien zwischen den Zellen
  • rows: Linien nur zwischen Tabellenzeilen
  • cols: Linien nur zwischen Tabellenspalten
  • all: Linien zwischen allen Zellen. Das entspricht dem Default-Wert, wenn dieses Attribut weggelassen
  • wird.

Tabellen lassen sich nun auch in einen Kopf- und einen Hauptbereich unterteilen, ähnlich wie in einem HTML-Dokument. Dazu kommt noch ein Fuß(noten)bereich. Die jeweiligen Elemente sind <THEAD> (Kopfbereich),

<TBODY> (Hauptbereich) und <TFOOT> (Fußbereich). Die Angabe von <TFOOT> muß dabei allerdings vor <TBODY> definiert werden, damit der Browser weiß, wie er die Gesamttabelle zu berechnen hat:

<TABLE>
  <THEAD>
    <TR> ... Tabellenkopf ... </TR>
  </THEAD>
  <TFOOT>
    <TR> ... Tabellenfuß ... </TR>
  </TFOOT>
  <TBODY>
    <TR> ... erste Tabellenreihe ... </TR>
    <TR> ... zweite Tabellenreihe ... </TR>
  </TBODY>
  <TBODY>
    <TR> ... erste Tabellenreihe ... </TR>
    <TR> ... zweite Tabellenreihe ... </TR>
    <TR> ... dritte Tabellenreihe ... </TR>
  </TBODY>
</TABLE>

[Zur Übersicht]

 

Navigieren im virtuellen Raum

Zu den auffälligsten Neuheiten gehört die Möglichkeit, Elemente einer Web-Seite per Tastaturbefehl zugänglich zu machen. Dazu hat das W3C das Attribut accesskey eingeführt. Es gilt unter anderem für den Anchor-Tag <A>, der ein Link auf ein anderes Web-Element definiert und so das Web Hypertext-fähig macht:

<A accesskey="h" HREF="hilfe.htm">Hilfefunktion </A>

Das Wort "Hilfefunktion" wird als Link auf die Web-Seite hilfe.htm definiert. Das Attribut accesskey bestimmt den Buchstaben h als Tastaturkürzel. Befindet sich ein User auf dieser Web-Seite, muß er nicht unbedingt "Hilfefunktion" mit der Maus anklicken, sondern kann auch die Tasten [alt][h] drücken und dadurch ebenso zur Web-Seite wechseln.

Shortcuts werden in der Regel mit einer kaum benötigten Taste kombiniert. Welche das ist, hängt vom jeweiligen Betriebssystem ab. Bei Windows-Systemen verlangt HTML 4.0 die [alt]-Taste.

Wichtig für anwenderfreundliche Web-Seiten: Der Autor muß auch darauf achten, daß angezeigt wird, welche Taste denn nun als Shortcut eingesetzt wird. Im Text ist der betreffende Buchstabe hervorzuheben. Windows stellt sauber definierte Shortcuts als unterstrichene Buchstaben dar. Bei einer Web-Seite muß sich der Programmierer selbst darum kümmern. Um beim genannten Beispiel das H gemäß Windows-Konvention zu unterstreichen, muß das Listing folgendermaßen erweitert werden:

<A accesskey="h" HREF="hilfe.html">
<u>H</u>ilfefunktion</A>

Das H von "Hilfefunktion" wird nun unterstrichen angezeigt. Doch noch gibt es ein kleines Problem: Da es sich bei Textlinks durchgesetzt hat, sie als unterstrichenen Text anzeigen zu lassen, würde man von dem unterstrichenen H nicht viel bemerken - denn das Wort "Hilfetext" ist sowieso schon unterstrichen. Man darf gespannt sein, welche Konvention sich hier im Lauf der Zeit ergibt.

[Zur Übersicht]

 

Objekte binden beliebige Dateiformate ein Web-Seiten können neben Text auch Bilder, Java-Programme, Sounddateien oder sonstige Objekte enthalten. Das Einbetten von Bildern mit Hilfe des <IMG>-Tags ist mittlerweile schon lange gebräuchlich. Auch der <APPLET>-Tag, mit dessen Hilfe Java-Programme in einem HTML-Dokument verankert werden, ist keine Seltenheit mehr.

Um nicht für jeden Datentyp einen eigenen Tag schaffen zu müssen, bietet HTML 4.0 den neuen Tag <OBJECT>. Mit seiner Hilfe lassen sich beliebige Datentypen inklusive ihrer Viewer in eine Web-Seite einbinden. Auch ein GIF-Bild ließe sich - statt mit Hilfe des üblichen <IMG>-Tags - mit Hilfe von <OBJECT> realisieren. Das folgende Beispiel demonstriert, wie der <OBJECT>-Tag eine Grafik einbinden kann. Der konventionellen Lösung

<IMG src="logo.gif" alt="Hier steht das Logo.">

steht jetzt die folgende Lösung gegenüber:

<OBJECT data="logo.gif"
  type="image/gif">
  Hier steht das Logo.
</OBJECT>

Der neue Tag <OBJECT> ermöglicht es, externe Darstellungsmechanismen und Daten mit der Web-Seite zu verbinden. Das heißt, <OBJECT> könnte ein Programm aufrufen, das ebenfalls auf dem Server des Informationsanbieters zur Verfügung steht, und ihm die Daten, die dargestellt werden sollen, übergeben - im Prinzip eine Art Tele-Plug-in für den Web-Browser. Auf die Frage, welche Sprachen für ein derartiges Programm verwendet werden könnten, schweigt sich das W3C bisher allerdings aus. Hier sind vermutlich die Browser-Hersteller gefragt, entsprechende Interpretationsmechanismen in ihre Programme einzubauen, ähnlich wie dies zur Zeit schon mit Java-Interpretern geschieht. In der Praxis wird dies vermutlich vorläufig keine große Rolle spielen. Wenn nämlich zusätzlich zu den Daten erst noch die Darstellungssoftware übertragen würde, bedeutete das eine weitere Belastungsprobe für das Internet.

[Zur Übersicht]

 

Scripting

Näher beleuchtet wird in HTML 4.0 auch das Scripting. Der Tag <SCRIPT> ist im aktuellen HTML 3.2 zwar schon erwähnt, allerdings noch nicht näher definiert. Das World-Wide-Web-Konsortium hatte damals den Tag lediglich reserviert "für den künftigen Gebrauch mit Scriptsprachen". Netscape und Microsofts Web-Browser hatten allerdings schon regen Gebrauch von diesem Tag gemacht und versucht, jeweils Quasi-Standards zu setzen. Netscapes Javascript hat sich dabei als Vorlage für das W3C erwiesen. Ein Script in dieser Sprache beginnt demnach so:

<SCRIPT language="JavaScript">

HTML 4.0 sieht nun für <SCRIPT> die Attribute type, language und src vor. type und language spezifizieren die Scriptsprache, wobei language vermutlich nur als Netscape'sches Auslaufmodell beibehalten wird. Script-Angaben mit type demonstriert das W3C so:

<SCRIPT type="text/javascript" 
src="http://www.mydomain.com/ascript.html"> ... </SCRIPT>

Das Attribut src verweist auf eine weitere HTML-Datei mit dem eigentlichen Script. Denn ein Script muß nicht unbedingt in der aufrufenden Web-Seite enthalten sein. Mit Hilfe von src lassen sich Web-Seiten und Script-Listings sauber trennen - bei umfangreichen und komplizierten Web-Seiten oder Scripts ein hervorragendes Ordnungselement.

Die Werte, die type annehmen kann, sollen den Werten nach der Konvention der "Internet Media Types", also der Multimedia-Typen für das Internet, entsprechen. Das heißt, es wird ein Mime-Typ angegeben, etwa text, gefolgt von einem Schrägstrich und einer Untergruppe. Die Untergruppe bezeichnet die Scriptsprache. Diese Art der Notierung weist schon darauf hin, daß künftig auch andere Mime-Typen als reine Textdateien in Frage kommen könnten, beispielsweise kompilierte Binärdateien oder Bytecode-Dateien à la Java.

Das Web-Konsortium spricht im Entwurf von HTML 4.0 explizit von drei type-Typen und schlägt auch jeweils die type-Werte dazu vor: TCL (text/tcl), Javascript (text/javascript) und Visual Basic Script (text/vbscript); type sollte nach dem aktuellen Stand der Dinge die entsprechenden Werte annehmen können.

Neben den Scriptmöglichkeiten sieht HTML 4.0 nun auch eine Reihe von Ereignissen vor, die einen Browser dazu veranlassen können, ein bestimmtes Script auszuführen. Diese Ereignisse decken unter anderem Mausoperationen, Tastaturereignisse, das Laden und Schließen von Web-Seiten oder das Fokussieren bestimmter Seitenelemente ab. Sie betreffen die Elemente <INPUT>, <SELECT>, <BUTTON>, <TEXTAREA> und den neuen Tag <LABEL>.

[Zur Übersicht]

 

Unicode und Internationalisierung

Ein Problem, das das W3C mit HTML 4.0 endlich angeht, ist die Internationalisierung von Web-Seiten. Zwar wird das Internet von unbedachten Zeitgenossen gern und schnell als "global" gepriesen, doch das ist es nur bedingt. Es ist technisch heute möglich, an jedem Punkt der Erde eine Netzverbindung aufzubauen oder zur Verfügung zu stellen - doch noch gibt es keine Technologie, um Web-Seite von jedem beliebigen Browser in jeder Sprache darstellen zu lassen.

Bis jetzt beschränkt sich die Zeichen-übertragung im Web auf ASCII-Zeichen. ASCII steht für American Standard Code of Information Interchange und ist der Norm-Code zur Darstellung von Zeichen in der EDV. Jedem Zeichen, das man beispielsweise per Tastatur auf die Seite einer Textverarbeitung oder einer Web-Seite schreibt, ist eine bestimmte Zahl zugeordnet, eine Art Erkennungscode.

ASCII kann aber nur bis zu 128 Zeichen darstellen. Nimmt man alle Buchstaben, Ziffern und sonstige in ASCII enthaltenen EDV-Steuerzeichen zusammen, ist damit zwar dem angelsächsischen Sprachraum voll und ganz gedient, aber schon bei europäischen Zeichen wie deutsche Umlauten, ß, französischen Akzenten oder skandinavischen Zeichen wie Ø oder Å wird es kompliziert. Deshalb haben sich heute 8-Bit-Darstellungen, die eine Zeichenmenge von bis zu 256 Zeichen erlauben, durchgesetzt. Von diesen 256 Zeichen sind allerdings nur die ersten 128 nach ASCII genormt, alle Werte, die darüber liegen, sind systemspezifisch. Dummerweise liegen genau da alle europäischen Sonderzeichen. Ein Zeichen mit dem Wert 200 wird also auf einem Mac anders dargestellt als unter Windows, denn für diesen Bereich gibt es noch keine Norm.

Das Internet hält sich derzeit jedoch noch eisern an die ASCII-Norm und kennt nur die ersten 128 Zeichen. Doch HTML bietet eine Lösung. Die Sonderzeichen werden in einer sauber programmierten Web-Seite mit ASCII-Zeichen codiert. Ein ä wird dann beispielsweise zu "&auml;" und ein Ø zu "&Oslash;". Das Wort Gerät zeigt sich im originalen HTML-Code dann als "Ger&auml;t".

Trotz HTML-Codierung bleibt eine ganze Reihe von Zeichensätzen außen vor, in erster Linie die des gesamten eurasischen Kulturraums. HTML 4.0 räumt mit diesem Mißstand auf. Zur Spezifikation gehört die Zeichendarstellung auf der Grundlage der ISO-Norm 10646.

Nach dieser Norm werden Zeichen mit 31 Bit repräsentiert, was zu einem Umfang von über 2 Millionen (213, also 2 147 483 648) Zeichen führt. Dazu gehört auch die Definition der Laufrichtung des Textes, daß also etwa ein hebräischer oder arabischer Text von rechts nach links läuft.Um die primäre Sprache eines Seitenelements zu definieren, steht das Attribut lang zur Verfügung, das einen Zwei-Zeichen-Code aufnimmt. Um für ein Web-Dokument Französisch als Grundsprache anzugeben, kann man das lang-Attribut im HTML-Tag einfügen:

<HTML lang="fr">
    <BODY> ... französischer Text ...
    <P lang="es"> ... spanischer Text ...
    <P lang="fr"> ... französischer Text ...
  </BODY>
</HTML>

Daneben kann das lang-Attribut bei fast allen Textelementen der Hypertext Markup Language verwendet werden. Fügt man es etwa dem P-Tag hinzu, kann man auch absatzweise die Sprache innerhalb der Web-Seite ändern.

Die Zwei-Zeichen-Codes lassen sich noch verfeinern. Getrennt durch einen Bindestrich lassen sich sogar noch Dialekte angeben. Die Sprachcodes selbst werden bei der IANA, der Internet Assigned Numbers Authority, registriert - der Organisation, die auch über die Internet-Adressen und die Domänen-Namen wacht. Die Ausrichtung des Textes von links nach rechts oder rechts nach links kann ebenfalls mit Hilfe des dir-Attributs beeinflußt werden - nicht zu verwechseln mit dem DIR-Element, das einer bestimmten Listendarstellung diente, jedoch kaum von Browsern unterstützt wurde.

Das dir-Attribut

Es kann die Werte rtl ("right to left") oder ltr ("left to right") annehmen und läßt sich ebenfalls fast jedem beliebigen Tag beifügen. Sprachen wie Arabisch oder Hebräisch lassen sich somit einfacher verwenden.

Soll auf einer deutschen Web-Seite im nächsten Absatz der Text von rechts nach links laufen, kann man dies folgendermaßen definieren:

<P dir="rtl">

Im nächsten Absatz wird dann die Laufrichtung wieder zurückgesetzt:

<P dir="ltr">

[Zur Übersicht]

 
Fazit

Zentraler Punkt des HTML-Entwurfs 4.0 sind eindeutig die Stilvorlagen. Daneben sind Rahmen nun endlich offiziell in HTML festgeschrieben, ergänzt durch Inline-Rahmen, die frei auf einer Web-Seite liegen können. Zusammengenommen ermöglichen sie nun ein besseres Layout von Web-Seiten. Eingebettete Objekte, Scriptsprachen und erweiterter Zeichencode ergänzen den Entwurf.

Brian Kelly vom UK Office for Library and Information Networking in Großbritannien sieht den wesentlichen Fortschritt in der Annäherung der Software-Hersteller: "In den letzten Jahren hat die Konkurrenz zwischen den Softwareherstellern die Weiterentwicklung des Web behindert. Nun, da sich die Spezifikationen zu stabilisieren scheinen, könnten wir den Traum von Tim Berners-Lee erreichen: universale Erreichbarkeit von Netzwerkinhalten auf plattform- und anwendungsunabhängige Weise."

Man kann getrost davon ausgehen, daß die neue Hypertext Markup Language sofort in einer Reihe von Web-Sites eingesetzt wird, sobald sie sich vollends als Standard etabliert hat. Das wird vermutlich Ende des Jahres der Fall sein. Dem Anwender - zumindest denen, die Browser besitzen, die HTML 4.0 auch unterstützen - gereicht es zum Vorteil. Denn dank HTML 4.0 werden (typo-) graphische Spielereien künftig deutlich einfacher und mit deutlich weniger Datenvolumen zu bewerkstelligen sein.

Joachim Pich

[ back to top ]