..:: PSD 2 xHTML FAQ:

Häufig gestellte Fragen - frequently asked questions

Auf dieser Seite möchten wir Ihnen einen Überblick über aktuelle Web-Standards verschaffen. Dabei konzentrieren wir uns auf die Standards XHTML 1.0 Transitional, XHTML 1.0 Strict und XHTML 1.1 ohne tief auf die Entstehungsgeschichte einzugehen. In den Vordergrund stellen wir Änderungen und Besonderheiten je Version, die Autoren von Webseiten bei der Auswahl des geeigneten XHTML-Standards besonders beachten müssen.

Vorgehensweise

Als Einstieg beschäftigen wir uns mit den Unterschieden von HTML 4.01 (Hypertext Markup Language) und XHTML 1.0 Transitional (Extensible Hypertext Markup Language).

Nach diesem Einstieg in XHTML erläutern wir die Unterschiede von XHTML 1.0 Transitional und XHTML 1.0 Strict.

Im letzten Teil stellen wir die Unterschiede zwischen XHTML 1.0 Strict und XHTML 1.1 dar.

Am Ende wartet das Schlußwort auf Sie.

Die Unterschiede von HTML 4.01 und XHTML 1.0 Transitional

HTML wurde 1989 von Tim Berners-Lee ohne Versionsbezeichnung in Genf festgelegt. HTML 4.01 ersetzt HTML 4.0 seit dem 24. Dezember 1999 mit vielen, kleineren Korrekturen. HTML 3.2 entstand im Januar 1997 und HTML 4.0 im Dezember desselben Jahres.

Die Spezifikationen zu XHTML 1.0 wurden im Januar 2000 vom W3 Consortium erstmalig veröffentlicht und im August 2002 in einer revidierten Fassung neu aufgelegt.

Die Neuformulierung von HTML in XML-Syntax bringt die folgenden, wichtigen Vorteile mit sich:

Unterschiede zu HTML

Die XHTML-Syntax unterscheidet sich in wenigen, aber grundlegenden Punkten vom Vorgänger HTML.

MIME-Typ (Multi-Purpose Internet Mail Extension)

Im Gegensatz zu HTML-Dokumente werden XHTML-Dokumente nicht grundsätzlich als MIME-Typ text/html ausgegeben. Dies trifft zwar nicht auf XHTML 1.0 Transitional zu, jedoch soll für Dokumente ab XHTML 1.0 Strict der MIME-Typ application/xhtml+xml verwendet werden, auch wenn application/xml und text/xml erlaubt sind.

Der MIME-Typ kann auf drei unterschiedliche Weisen definiert werden (mit absteigender Priorität)

Encoding

HTML-/XHTML- und XML- Dokumente basieren alle auf dem UCS (Universal Character Set), können jedoch unterschiedliche Kodierungen (Encodings) verwenden. Das Encoding kann auf vier verschiedene Arten festgelegt werden (ebenfalls mit absteigender Priorität):

Das W3C erkennt alle Methoden an, empfiehlt jedoch die serverseitigen Versionen für den reinen Einsatz im Web. Um Dokumente weiter distribuieren zu können (auf CDs, DVDs oder andere Medien) empfiehlt sich zusätzlich zur serverseitigen Definition die Angabe als meta-Element, damit das Encoding übernommen werden kann.

XHTML 1.0: Unterschiede zwischen Strict & Transitional

Im Folgenden sollen die wichtigsten Änderungen ab XHTML 1.0 Strict aufgeführt werden. Während XHTML 1.0 Transitional noch viele aus HTML 4.01 bekannte Tags und Methoden erlaubt, zwingt XHTML 1.0 Strict nicht nur zur konsequenteren Trennung von Form und Inhalt über CSS, sondern verbietet teilweise auch schlichtweg Altbekanntes.

Viele Autoren von Webseiten vermissen in XHTML ab 1.0 Strict beispielsweise die Möglichkeit der Angabe des Targets. Im neuen Browserfenster öffnende Links gehören damit der Vergangenheit an. Das W3C möchte Webseitenbesuchern im Zeitalter des Tabbed Browsing selber überlassen, wie sie Links öffnen. Entscheidet man sich als Autor einer Webseite mit Hilfe von Java Script Links dennoch im neuen Fenster öffnen zu lassen, so sollte man diese Links aus Usability-Gründen besonders kennzeichnen. So sieht der Webseitenbesucher bereits vor dem Klick, wie sich ein Link öffnet und hat die Möglichkeit, selber zu entscheiden, ob er einen solchen Link lieber in einem Tab öffnen möchte.

Farb-Legende

Die folgenden Elemente wurden in XHTML Strict entfernt

Die folgenden Elemente wurden in XHTML Strict geändert

head

Element isindex entfernt in Strict

base

Attribut href geändert von implementiert zu benötigt in Strict
Attribut target entfernt in Strict

link

Attribut target entfernt in Strict

script

Attribut language entfernt in Strict

noscript

Elemente center, noframes, isindex, menu, dir, a, br, span, bdo, object, applet, img, map, iframe, sub, sup, em, strong, dfn, code, q, samp, kbd, var, cite, abbr, acronym, big, small, font, basefont, tt, i, b, u, s, strike, input, select, textarea, label, button nicht erlaubt in Strict

body

Attribute bgcolor, text, link, vlink, alink entfernt in Strict
Elemente center, noframes, isindex, menu, dir, a, br, span, bdo, object, applet, img, map, iframe, sub, sup, em, strong, dfn, code, q, samp, kbd, var, cite, abbr, acronym, big, small, font, basefont, tt, i, b, u, s, strike, input, select, textarea, label, button nicht erlaubt in Strict

div

Elemente center, noframes, isindex, menu, dir, applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict
Attribut align entfernt in Strict

p

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict
Attribut align entfernt in Strict

h#

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict
Attribut align entfernt in Strict

ul

Attribute type, compact entfernt in Strict

ol

Attribute type, compact, start entfernt in Strict

li

Elemente center, noframes, isindex, menu, dir, applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict
Attribute type, value entfernt in Strict

dl

Attribut compact entfernt in Strict

dt

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

dd

Elemente center, noframes, isindex, menu, dir, applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

address

Element p entfernt in Strict

hr

Attribute align, noshade, size, width entfernt in Strict

pre

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict
Elemente sup, sub added in Strict.

Entgegen der Syntax-Regeln für Strict erlaubt pre nicht sub und sup. In Transitional waren diese schon immer verboten.

Attribut width entfernt in Strict

blockquote

Elemente center, noframes, isindex, menu, dir, a, br, span, bdo, object, applet, img, map, iframe, sub, sup, em, strong, dfn, code, q, samp, kbd, var, cite, abbr, acronym, big, small, font, basefont, tt, i, b, u, s, strike, input, select, textarea, label, button nicht erlaubt in Strict

ins

Elemente center, noframes, isindex, menu, dir, applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

del

Elemente center, noframes, isindex, menu, dir, applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

a

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict
Attribut target entfernt in Strict

a Elemente dürfen nicht verschachtelt werden.

span

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

bdo

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

br

Attribut clear entfernt in Strict

em

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

strong

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

dfn

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

code

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

samp

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

kbd

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

var

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

cite

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

abbr

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

acronym

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

q

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

sub

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

sup

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

tt

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

i

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

b

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

big

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

small

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

object

Elemente center, noframes, isindex, menu, dir, applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict
Attribute align, border, hspace, vspace entfernt in Strict

param

Attribut name geändert von benötigt in implementiert in Strict.

img

Attribute name, align, border, hspace, vspace entfernt in Strict

map

Elemente center, noframes, isindex, menu, dir nicht erlaubt in Strict
Attribut name entfernt in Strict

area

Attribut target entfernt in Strict

form

Elemente a, br, span, bdo, object, applet, img, map, iframe, sub, sup, em, strong, dfn, code, q, samp, kbd, var, cite, abbr, acronym, big, small, font, basefont, tt, i, b, u, s, strike, input, select, textarea, label, button nicht erlaubt in Strict
Attribute name, target entfernt in Strict

form Elemente dürfen nicht verschachtelt werden.

label

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

input

Attribut align entfernt in Strict

Das name Attribut ist für alle input Elemente benötigt mit der Ausnahme des type submit oder reset.

fieldset

Elemente center, noframes, isindex, menu, dir, applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

Nur das legend Element sollte innerhalb des fieldset platziert sein (mit whitespace).

legend

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict

button

Elemente center, noframes, isindex, menu, dir, iframe, font, basefont, u, s, strike nicht erlaubt in Strict

Das Element button darf a, form, input, button, textarea, select nicht beinhalten.

table

Attribute bgcolor, align entfernt in Strict

caption

Elemente applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict
Attribut align entfernt in Strict

tr

Attribut bgcolor entfernt in Strict

th

Elemente center, noframes, isindex, menu, dir, applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict
Attribut nowrap, bgcolor, width , height entfernt in Strict

td

Elemente center, noframes, isindex, menu, dir, applet, iframe, big, small, font, basefont, u, s, strike nicht erlaubt in Strict
Attribut nowrap, bgcolor, width , height entfernt in Strict

XHTML 1.0 Strict und die Unterschiede zu XHTML 1.1

Die aktuelle Version XHTML 1.1 trennt sich von den missbilligten Elementen und Attributen der Transitional- und der Frameset-Variante, die direkt die Präsentation des Dokuments beeinflussen. Der Sprachumfang entspricht somit weitestgehend XHTML 1.0 Strict, hinzu kommen Elemente für Ruby-Erläuterungen. XHTML 1.1 ist nicht für die Kompatibilität zu HTML-Browsern ausgelegt.

Ruby ist ein Begriff für einen Textbereich, der mit einem anderen Text, der sogenannten Textbasis, verbunden ist. Ruby-Text wird gebraucht, um eine kurze Erläuterung zum verknüpften Basistext zu liefern, meistens jedoch, um gewissermaßen als Ausspracheanleitung die entsprechende Lesart zu definieren. Ruby-Annotationen werden häufig in Japan als Bestandteil vieler Arten von Publikationen (wie Büchern und Zeitschriften) verwendet (Furigana, z. B. in Manga), aber sie finden ihre Anwendung auch in Taiwan, wo sie insbesondere in Schulbüchern herangezogen werden.

Beispiel Ruby-Markup

<ruby>
   <rb>WWW</rb>
   <rt>World Wide Web</rt>
</ruby>

Beispiel Gepartes Ruby-Markup

Beispiel Ruby_Markup
Quelle: http://de.wikipedia.org

Schlußwort

Die Abkehr von klassischem HTML bringt viele Vorteile. XHTML-Webseiten sind nicht nur für Menschen mit Behinderung leichter zugänglich, sondern bieten zusätzlich folgende Vorteile:

Wer eine Webseite Usability-gerecht erstellen möchte, kann diesem Vorhaben mit dem Standard XHTML 1.0 Transitional vollends gerecht werden. Wichtig hierbei ist nicht nur das konsequente Verwenden von alt-Texten für Bilder, sondern auch der korrekte Einsatz von Elementen. Werden Elemente zweckentfremdet, ist es teilweise kaum noch möglich, eine logische Struktur aus einer Webseite auszulesen. Demnach ist tableless nicht immer gleichzusetzen mit benutzerfreundlich. Im Folgenden sollen einige Beispiele veranschaulichen, welche Fehler die Usability einer Webseite schnell zerstören.

Überschriften sollten auch als solche gekennzeichnet werden:

Nicht empfehlenswert:
<span class=“ueberschrift“>Eine Überschrift</span>

Empfehlenswert:
<h1>Eine Überschrift</h1>

Listenartige Informationen sollten auch als Listen dargestellt werden:

Nicht empfehlenswert:
<blockquote>
  <p>1. Beispiel</p>
  <p>2. Beispiel</p>
  <p>3. Beispiel</p>
</blockquote>

Empfehlenswert:
<ul>
  <li>Beispiel </li>
  <li>Beispiel</li>
  <li>Beispiel</li>
</ul>

Adressinformationen sollten als solche gekennzeichnet werden:

Nicht empfehlenswert:
<div id="footer">Teststrasse 1 | 54321 Stadt | Tel. 0987 65432</div>

Empfehlenswert:
<address>Teststrasse 1 | 54321 Stadt | Tel. 0987 65432</address>

Wer das Layout einer Webseite zu einem späteren Zeitpunkt ohne Eingriffe am Quellcode ändern möchte, dem bringt der Verzicht auf Elemente wie center, dir, font und andere viele Vorteile. Nur wer beim Erstellen einer Webseite auf diese und andere Elemente vollständig verzichtet, kann später durch den Austausch oder durch einfache Ergänzung des Stylesheets das Layout der Webseite völlig verändern.

Ein Verzicht auf klassische Style-Elemente innerhalb eines XHTML-Dokumentes muss nicht zwangsläufig die Verwendung des Standards XHTML 1.0 Strict oder XHTML 1.1 bedeuten. Sollten Sie auf den Einsatz bestimmter Elemente wie iframe oder auf das Attribut target (für Links) nicht verzichten wollen, so spricht nichts gegen den sinnvollen Aufbau einer Webseite im Standard XHTML 1.0 Transitional. Wer sich durch den Standard XHTML 1.0 Strict nicht eingeschränkt fühlt, sollte selbstverständlich nicht zögern, diesen Dokumententyp zu wählen. Je nach Zielgruppe kann auch der Einsatz von XHTML 1.1 in Betracht gezogen werden, jedoch sollte man dabei bedenken, dass XHTML 1.1 von älteren Browsern einiger Webseitenbenutzer noch nicht unterstützt wird.