(X)HTML 5 und XHTML 2 im Vergleich (xhtml.com)
Übersetzung eines Artikels von xhtml.com vom 12. März 2007 (↻ 25. November 2007). Schwerpunkt: Webentwicklung (RSS-Feed für alle Themen).
Das Rennen um die nächste Markup-Sprache im Internet ist in vollem Gange. Dieser Artikel stellt die Eigenschaften der konkurrierenden Technologien gegenüber und benennt die Stärken und Schwächen beider Ansätze.
Anmerkung des Übersetzers: Während der Artikel inhaltlich vor allem bei den »Stärken« glänzt, sind die unter »Schwächen« aufgeführten Punkte mitunter mit Vorsicht zu genießen; sie entsprechen nicht unbedingt der Einschätzung des Übersetzers. Es darf nicht vergessen werden, dass sich beide Spezifikationen noch in der Entwicklung befinden.
Inhalt
Hintergrund
HTML 4 und XHTML 1 haben uns bisher gute Dienste erwiesen, aber beide Spezifikationen haben Ihre Schwächen. Um den Forderungen der Benutzer nach besseren Webapplikationen gerecht zu werden, um mehr Menschen die Möglichkeit zu geben, auf Webinhalte zuzugreifen, unabhängig davon, welches Gerät sie verwenden, und um bessere Suchergebnisse zu erzielen, müssen diese Spezifikationen aktualisiert oder ersetzt werden.
Zwei Spezifikationen schicken sich an, Nachfolger von HTML 4 und XHTML 1 zu werden. Es handelt sich dabei um XHTML 2.0 und »Web Applications 1.0«, gemeinhin unter der Bezeichnung (X)HTML 5 bekannt. Diese Spezifikationen verfolgen unterschiedliche Ansätze, um sich zur nächsten Markup-Sprache im Internet zu mausern.
XHTML 2 ist ein großer Schritt nach vorn bei der Absicht, eine Architektur zu schaffen, die die Basissprache für zahlreiche andere W3C-Technologien darstellen kann. XHTML 2 basiert auf XML, eine Technologie, von der die meisten meinen, dass sie die Nutzung des »vollen Potentials des Internets« ermöglicht. XHTML 2 wurde so definiert, wie eine Markup-Sprache sein sollte – nicht, wie Markup-Sprachen heutzutage verwendet werden.
(X)HTML 5 entspricht einer Erweiterung von HTML 4 und XHTML 1. Es ist ein kleiner Schritt vorwärts, kein großer Schritt in der Art von XHTML 2. Obwohl es sich in den engen Grenzen von HTML 4 und XHTML 1 bewegt, hat (X)HTML 5 clevere Lösungen zur Umgehung einiger Probleme dieser beiden Spezifikationen parat. (X)HTML 5 kann ebenfalls als HTML oder XML ausgeliefert werden. Anders als XHTML 2 wird (X)HTML 5 stark vom aktuellen Stand der Technik (Browser-Technologie &c.) sowie dem gegenwärtigen Gebrauch von Markup beeinflusst.
Sowohl (X)HTML 5 als auch XHTML 2 befinden sich im Zustand eines Arbeitsentwurfs. Beide Spezifikationen werden sich höchstwahrscheinlich noch ändern und Jahre vergehen, bevor sie zu empfohlenen und gebräuchlichen Technologien werden. Dieser Artikel basiert auf den »Working Drafts« der Spezifikationen mit Stand vom Februar 2007.
XHTMLÂ 2
Stärken von XHTML 2
Navigationslisten
Navigationslisten definieren NavigationsmenĂĽs. Sie werden durch das nl
-Element definiert, das ein label
-Element mit dem Titel der Liste enthalten muss. Zum Beispiel:
<nl>
<label>Sie sind hier:</label>
<li href="/">Startseite</li>
<li href="/produkte/">Produkte</li>
<li href="/produkte/widgets/">Widgets</li>
<li>Funktionen</li>
</nl>
Navigationslisten sind cool!
Erweiterung von Definitionslisten
Definitionslisten (dl
-Element) definieren einen Term (dt
-Element) und eine Definition (dd
-Element). Ein Term kann mehrere Definitionen beinhalten, und eine Definition kann zu mehreren Termen gehören. XHTML 2 bietet die Möglichkeit, Begriffe und Definitionen mithilfe des di
-Elements zu gruppieren. Dadurch wird die Beziehung zwischen einem Term und seinen Definitionen deutlicher und resultiert in besser lesbarem Code. Ein Beispiel:
<dl>
<di>
<dt>Zentrum</dt>
<dt>Mittelpunkt</dt>
<dd>Der Hauptgeschäftsbereich einer Stadt.</dd>
<dd>Ein Punkt auf einer Linie mit gleichen Abständen zu den Endpunkten.</dd>
</di>
<di>
<dt>SchlĂĽssel</dt>
<dd>Metallgegenstand, mit dem ein Schloss geöffnet werden kann.</dd>
<dd>Tätigkeit, die zur Erlangung eines Ziels führt.</dd>
</di>
</dl>
Diese Verbesserung von Definitionslisten ist cool!
Jedes Element kann ein Hyperlink sein
Zu jedem Element kann ein href
-Attribut hinzugefĂĽgt werden, um es zu einem Link zu machen. Zum Beispiel:
<q href="https://de.wikipedia.org/wiki/Neil_Armstrong">Dies ist ein kleiner Schritt fĂĽr einen Mann, ein riesiger Sprung fĂĽr die Menschheit.</q>
Das ist sehr cool!
acronym
gibt es nicht mehr
Viele Autoren wissen nicht, wie sie das Element acronym
korrekt einsetzen sollen. XHTMLÂ 2 verwendet das Element abbr
fĂĽr jede Art von AbkĂĽrzung, einschlieĂźlich Akronymen.
Cool!
b
, i
, small
, big
, tt
, font
und basefont
gibt es nicht mehr
XHTMLÂ 2 verabschiedet sich von diesen Elementen, die strikt zur Formatierung verwendet wurden. Besonders das font
-Element wurde in der Vergangenheit falsch verwendet und hat Autoren davon abgehalten, gutes Markup zu schreiben.
Extrem cool!
iframe
gibt es nicht mehr
Das iframe
-Element hat schon immer Probleme fĂĽr Benutzer verursacht, die unterschiedliche Technologien einsetzen. Dieses Element wird sicher nicht vermisst.
Cool!
Neues Konstrukt fĂĽr Ăśberschriften
Ăśberschriften sind die wichtigsten Hilfsmittel zur Strukturierung von Webseiten. Dennoch werden Ăśberschriften fast nie korrekt verwendet, da die nummerierten Konstrukte fĂĽr Ăśberschriften (die Elemente h1
bis h6
) schwer zu visualisieren sind und es für Autoren nahezu unmöglich ist, sie effektiv mit WYSIWYG-Editoren einzusetzen. Nummerierte Überschriften sind lineare Konstrukte (sichtbare Elemente), die zur hierarchischen Strukturierung von Daten dienen. Im nachfolgenden Beispiel muss viel Aufwand betrieben werden, um die hierarchische Struktur des Inhalts darzustellen.
<h1>…</h1>
<p>…</p>
<h2>…</h2>
<p>…</p>
<h2>…</h2>
<p>…</p>
<h3>…</h3>
<p>…</p>
<h4>…</h4>
<p>…</p>
<h3>…</h3>
<p>…</p>
<h2>…</h2>
<p>…</p>
Im Gegensatz dazu ermöglicht das neue Überschriftenkonstrukt, das aus h
- und den gruppierenden section
-Elementen besteht, die hierarchische Struktur viel einfacher zu modellieren:
<h>…</h>
<p>…</p>
<section>
<h>…</h>
<p>…</p>
<h>…</h>
<p>…</p>
<section>
<h>…</h>
<p>…</p>
<section>
<h>…</h>
<p>…</p>
</section>
<h>…</h>
<p>…</p>
</section>
<h>…</h>
<p>…</p>
</section>
Das h
-Element ist sehr cool!
Verbesserungen fĂĽr Code-Beispiele
Anstatt pre
und code
kann das Element blockcode
verwendet werden, um Code-Blöcke darzustellen. Zum Beispiel:
<blockcode>
function get_random_name() {
$rand_name = '';
for ($i = 1; $i <= 8; $i++) {
$rand_name .= chr(rand(97, 122));
}
return $rand_name;
}
</blockcode>
Das ist cool!
hr
wird durch separator
ersetzt
Die Bezeichnung des Elements hr
als »Horizontal Rule« hat Autoren und Entwicklern stets Probleme bereitet. Der Name indiziert, dass es sich dabei um eine horizontale Linie handelt. Das Element ist jedoch dazu gedacht, einen Teil eines Dokuments von einem anderen Teil zu trennen. Die Verwendung des Namens separator
verhindert dieses Missverständnis.
Das ist cool!
del
und ins
werden durch das edit
-Attribut ersetzt
Das edit
-Attribut ist besser als del
und ins
geeignet, um veränderte Inhalte anzuzeigen. Es kann wie folgt verwendet werden:
<p>Das ist <span edit="deleted">cool</span><span edit="inserted">besonders cool</span>!</p>
Möglichkeit zur Erweiterung der Semantik bestehender Elemente
Mit Hilfe des role
-Attributs kann die Bedeutung eines bestehenden Elements erweitert werden. Dies kann Suchmaschinen dabei helfen, Internetseiten besser zu indizieren. Das folgende Beispiel zeigt, wie zu einer Navigationsliste die Information hinzugefĂĽgt werden kann, dass sie wie eine Breadcrumb-Navigation verwendet wird.
<nl role="breadcrumbs">
<label>Sie sind hier:</label>
<li href="/">Startseite</li>
<li href="/produkte/">Produkte</li>
<li href="/produkte/widgets/">Widgets</li>
<li>Funktionen</li>
</nl>
Die technische Grundlage fĂĽr die Verwendung des role
-Attributs wird in Embedding RDF in XHTML beschrieben. Dadurch wird XHTML 2 in hohem Maße erweiterbar und kann zum wichtigsten Werkzeug heranwachsen, durch das das Internet sein »volles Potential« ausschöpfen kann.
Das role
-Attribut ist extrem cool!
Schwächen von XHTML 2
Das a
-Element existiert weiterhin
Da man das href
-Attribut bei jedem Element verwenden kann, ist das a
-Element eigentlich ĂĽberflĂĽssig. FĂĽr Autoren ist es eher verwirrend, dass es weiterhin in der Spezifikation enthalten ist. Beispielsweise kann in HTMLÂ 4 und XHTMLÂ 1 das id
-Attribut verwendet werden, um jedes Element zum Ziel eines Ankers zu machen. Zum Beispiel:
<h2 id="einleitung">Einleitung</h2>
So werden jedoch die meisten Autoren das a
-Element fĂĽr solche Referenzen verwenden. Zum Beispiel:
<h2><a name="einleitung">Einleitung</a></h2>
Am a
-Element festzuhalten ist uncool!
Das img
-Element existiert weiterhin
In XHTMLÂ 2 kann das Element object
alles, was das img
-Element kann. Die Spezifikation sagt, dass das img
-Element weiterhin verwendet werden kann, um den Ăśbergang zu XHTMLÂ 2 zu erleichtern. In der Praxis wird es Autoren eher verunsichern. Das weiterhin unterstĂĽtzte img
-Element ist kein leeres Element mehr, sondern kann Inhalt enthalten. Zum Beispiel:
<img src="w3c.png">W3C</img>
Wenn ein Element in XHTML 2 denselben Namen wie ein Element in HTML 4 oder XHTML 1 hat, seine Bedeutung aber unterschiedlich ist, dann wird dies wahrscheinlich Verwirrung und Diskussionen auslösen.
Am img
-Element festzuhalten ist uncool!
UnterstĂĽtzung von nummerierten Ăśberschriften
Da das h
-Element der bessere Ansatz ist, um Überschriften zu erzeugen, sind nummerierte Überschriften überflüssig. Die Unterstützung beider Ansätze – sowohl des h
-Elements als auch nummerierter Überschriften – wird Autoren verunsichern.
Nummerierte Ăśberschriften sind sehr uncool!
XHTMLÂ 2 wird hinter verschlossenen TĂĽren entwickelt
Es ist nur wenig über die Gruppe bekannt, die XHTML 2 – möglicherweise die nächste Markup-Sprache des Internets – entwickelt. Leute, das ist keine »Stinktierarbeit« für eine geheime Waffe. Lasst die Sonne herein!
(X)HTMLÂ 5
Stärken von (X)HTML 5
Die Idee strukturierender Elemente
(X)HTML 5 führt neue Elemente ein, die den Inhalt einer Internetseite strukturieren. Dadurch soll es Suchmaschinen und ähnlichen Technologien leichter gemacht werden, den Inhalt einer Seite zu verarbeiten. Die Verwendung dieser neuen Elemente kann dazu führen, dass der Quelltext der Seite besser lesbar wird.
Die Idee strukturierender Elemente ist cool! Allerdings ist die Technik zur Umsetzung strukturierender Elemente eher uncool.
dialog
-Element
Das dialog
-Element repräsentiert eine Unterhaltung. Es enthält dt
-Elemente, um den Sprecher zu identifizieren, und dd
-Elemente, um die Zitate des Sprechers zu zeigen. Zum Beispiel:
<dialog>
<dt>Costello</dt>
<dd>Look, you gotta first baseman?</dd>
<dt>Abbott</dt>
<dd>Certainly.</dd>
<dt>Costello</dt>
<dd>Who’s playing first?</dd>
<dt>Abbott</dt>
<dd>That’s right.</dd>
<dt>Costello</dt>
<dd>When you pay off the first baseman every month, who gets the money?</dd>
<dt>Abbott</dt>
<dd>Every dollar of it.</dd>
</dialog>
Das ist cool!
figure
-Element
In gedruckten Publikationen (Bücher, Zeitschriften, Magazine &c.) werden Medienobjekte (Fotos, Illustrationen, Graphiken &c.) meist mit einer Über- oder Unterschrift versehen. Die im Internet verwendeten Markup-Sprachen besaßen dafür bisher keine Modellierungsmöglichkeit. Das figure
-Element mit dem legend
-Unterelement kann jetzt verwendet werden, um Bilder zu beschriften. Zum Beispiel:
<figure>
<legend>Quelle: Agentur, 2007</legend>
<img src="mustermann.jpg" alt="Foto: Max Mustermann" />
</figure>
Das ist sehr cool!
mark
-Element
Das mark
-Element repräsentiert markierten oder hervorgehobenen Text. Dies ist eine nützliche Funktion, wenn Webseiten dynamisch als Ergebnis einer Schlüsselwort-Suche erzeugt werden. Wenn das Schlüsselwort in einer Seite enthalten ist, dann kann es mit dem mark
-Element hervorgehoben werden. Als Beispiel dient eine Antwort auf die Suchanfrage »Schnee«. Die daraufhin generierte Webseite kann folgendes Snippet beinhalten:
<p>Ein <m>Schnee</m>mann ist eine menschenähnliche Skulptur, die aus <m>Schnee</m> besteht.</p>
Das ist cool!
Erweiterung des input
-Elements
Das input
-Element wurde erweitert, um Datentypen wie E-Mail, URL, Datum, Zeit sowie numerische Werte zu unterstützen. Das bedeutet, dass mehr Gültigkeitsprüfungen auf dem Client statt auf dem Server durchgeführt werden können. (Anmerkung des Übersetzers: Siehe auch Web Forms 2.0.)
Cool!
Offener Prozess
Der Entwicklungsprozess von (X)HTMLÂ 5 ist offener als der von XHTMLÂ 2. Jeder ist willkommen, sich auf der (X)HTML-5-Mailingliste zu beteiligen.
Offene Prozesse sind cool!
Schwächen von (X)HTML 5
Umsetzung strukturierender Elemente
Die Idee hinter »strukturierenden Elementen« ist fantastisch, allerdings ist die Umsetzung in (X)HTML 5 schrecklich. Einige der Definitionen sind zudem verwirrend. Zum Beispiel:
Das
aside
-Element repräsentiert einen Abschnitt einer Seite, der inhaltlich ähnlich dem Text ist, der dasaside
-Element umschließt, aber vom Rest des Inhalts getrennt werden kann. In Print-Medien werden solche Abschnitte oft durch sogenannte »Sidebars« repräsentiert.
Wäre ein div
-Element mit einem role
-Attribut nicht besser dazu geeignet und zudem noch einfacher zu implementieren?
Ein weiteres strukturierendes Element ist nav
, das einen Abschnitt repräsentieren soll, der Links zu anderen Seiten enthält. Benötigt man ein Element wie nav
? Das nl
-Konstrukt aus XHTMLÂ 2 ist dazu besser geeignet.
Die Umsetzung strukturierender Elemente ist uncool und sollte verbessert werden.
Probleme aus HTMLÂ 4 und XHTMLÂ 1 wurden ĂĽbernommen
Da (X)HTML 5 versucht, abwärtskompatibel zu sein, werden viele Probleme von HTML 4 und XHTML 1 in (X)HTML 5 übernommen. Die Spezifikation sollte nicht abwärtskompatibel sein. Die bessere Lösung wäre, wenn die verarbeitenden Programme abwärtskompatibel sind, indem sie mehrere Spezifikationen unterstützen. (Anmerkung des Übersetzers: Diese Kompatibilität ist erklärtes Ziel der Spezifikation.)
Die Fortsetzung der Ungereimtheiten von HTMLÂ 4 und XHTMLÂ 1, wie beispielsweise nummerierte Ăśberschriften und die Elemente i
, b
, small
, iframe
und font
ist ĂĽberhaupt nicht cool!
(X)HTML 5 hält sich nicht an die (X)HTML-5-Vorgaben
(X)HTML 5 versucht zu HTML 4 und XHTML 1 abwärtskompatibel zu sein. Elemente wie big
, acronym
, u
und tt
sind jedoch offenbar nicht Teil der Spezifikation und die Elemente i
und small
haben eine veränderte Bedeutung. So zum Beispiel definiert die HTML-4.01-Spezifikation i
und small
wie folgt:
i
: Gibt Text kursiv aus.
small
: Gibt Text mit kleinerer Schriftgröße aus.
In (X)HTMLÂ 5 haben i
und small
eine neue Bedeutung:
Das
i
-Element stellt einen Textteil mit einer anderen Stimme, in einer anderen Stimmung oder in einer anderen Art abweichend vom restlichen Text dar, wie beispielsweise eine taxonomische Bezeichnung, einen technischen Ausdruck oder einen idiomatischen Ausdruck in einer anderen Sprache, einen Gedanken oder ein Ausdruck, der typischerweise typographisch hervorgehoben wird.Das
small
-Element stellt Kleingedrucktes (der Teil eines Dokuments, der oft rechtliche Hinweise wie Kopierrechte oder andere Einschränkungen enthält) oder Fußnoten anderer Art dar.
Indem die Bedeutung der Elemente i
und small
verändert wird, besteht (Anmerkung des Übersetzers: theoretisch) keine Abwärtskompatibilität zu HTML 4 und XHTML 1 mehr. Abwärtskompatibel bedeutet nämlich, dass ein Programm, das HTML 5 verarbeitet, ein HTML-4-Dokument genauso handhaben kann, wie dies ein Programm, das HTML 4 verarbeitet, tun würde. Wenn HTML 5 den Anspruch der Abwärtskompatibilität erhebt, dann sollte ein Element ohne Bedeutung in HTML 4 auch in HTML 5 keine Bedeutung haben.
Sich nicht an die eigenen Vorgaben zu halten ist uncool!
Wie jetzt? Das font
-Element wird weiterhin unterstĂĽtzt?
Ja, (X)HTMLÂ 5 unterstĂĽtzt des font
-Element, wenn ein Dokument mit Hilfe eines WYSIWYG-Editors erstellt wird. Was ist der Grund dafĂĽr? Warum stellen WYSIWYG-Editoren eine Ausnahme dar?
Das ist besonders uncool!
WYSIWYG-Signatur
Dokumente, die mit Hilfe eines WYSIWYG-Editors erstellt wurden, mĂĽssen folgende WYSIWYG-Signatur im head
-Element enthalten:
<meta name="generator" content="(WYSIWYG editor)" />
oder
<meta name="generator" content="Sample Editor 1.0 (WYSIWYG editor)" />
Was ist der Grund dafĂĽr? Soll dies eine Rechtfertigung fĂĽr schlechten Code sein? Soll man dadurch darauf hingewiesen werden, dass die Seite schlecht umgesetzt ist, weil sie mit einem WYSIWYG-Editor erstellt wurde? Und was ist, wenn nur ein Teil der Seite mit Hilfe eines WYSIWYG-Editors erstellt wurde?
Das ist unverständlich und absolut uncool!
Vordefinierte Klassennamen
Anmerkung des Ăśbersetzers: HTMLÂ 5 sieht keine vordefinierten Klassen mehr vor.
Vordefinierte Klassennamen entsprechen reservierten CSS-Klassennamen, die für (X)HTML-5-User-Agents eine bestimmte Bedeutung haben können. Im folgenden Beispiel ist der Klassenname copyright
ein vordefinierter Name:
<p class="copyright">…</p>
Weitere vordefinierte Klassennamen sind error
, example
, issue
, note
, search
und warning
. Um die Sache noch komplizierter zu machen, dĂĽrfen einige vordefinierte Klassennamen nur bei bestimmten Elementen verwendet werden. Beispielsweise darf copyright
nur in Verbindung mit p
und span
eingesetzt werden. Der Klassenname error
darf nur bei p
, section
, span
und strong
Verwendung finden.
Ein Problem von vordefinierten Klassennamen ist, dass folgendes Beispiel nichts ausdrĂĽckt:
<p class="important">
… während das nächste Beispiel jedoch sehr wohl eine Bedeutung hat:
<p class="copyright">
Durch Ăśberladung von Klassenattributen ist es schwer, die Bedeutung eines Konstrukts zu interpretieren. Was soll beispielsweise folgendes bedeuten?
<p class="important copyright issue">
Vordefinierte Klassennamen hindern Autoren zudem daran, Klassennamen frei zu vergeben. Außerdem: Was passiert, wenn ein Autor einen aktuell nicht vordefinierten Klassennamen verwendet, der später zu einem vordefinierten Namen wird? Wird dadurch die Bedeutung des Inhalts verändert?
XHTMLÂ 2 hat dafĂĽr mit dem role
-Attribut eine wesentlich bessere Lösung gefunden. Die vordefinierten Klassennamen in (X)HTML 5 sind sehr uncool!
HTMLÂ 5 im Vergleich mit XHTMLÂ 5
Der Versuch, die Debatte HTML gegen XHTML zu beenden, führt in der (X)HTML-Spezifikation dazu, dass das Thema noch komplexer wird. Die (X)HTML-5-Spezifikation sagt »Autoren werden dazu aufgefordert, XML nicht im Web zu verwenden«, während das W3C daran festhält, dass XML die Zukunft des Internets darstellt? Das ist verwirrend und außerordentlich uncool!
Ein ĂĽberstĂĽrzter Prozess
(X)HTML 5 ist eine Reaktion auf die zögerlichen Fortschritte, die das W3C in der Bereitstellung eines Ersatzes von HTML 4 und XHTML 1 machte. Allerdings erscheint der Entwicklungsprozess von (X)HTML 5 übereilt und man hat das Gefühl, dass die Spezifikation aus dem Nichts erschienen und »mit der heißen Nadel gestrickt« ist. Einige der direkt in den Prozess involvierten Parteien meinen, dass die Zeitpläne und Meilensteine in der Entwicklung der Spezifikation vollkommen unrealistisch sind.
Die nächste Markup-Sprache im Internet
Sowohl (X)HTML 5 als auch XHTML 2 versuchen, HTML 4 und XHTML 1 zu ersetzen. Zu diesem frühen Zeitpunkt des Entwicklungsprozesses haben einige Browser-Hersteller bereits Ihre Präferenzen zugunsten der einen oder der anderen Spezifikation geteilt. Das Ergebnis dieser hastigen und nicht öffentlichen Beratungen ist, dass die Gemeinschaft, die die Standards im Internet setzt, polarisiert wird. Während die beiden Spezifikationen konkreter werden, werden viele Marketing-Ausgaben zugunsten der einen oder anderen Spezifikation getätigt, und alles deutet auf einen »Krieg der Standards« hin.
Wir sind alle Teilhaber dieses Prozesses, da das Internet der Allgemeinheit gehört. Nur eine ehrliche und offene Debatte kann sicherstellen, dass die beste Spezifikation als Sieger hervorgeht. (Anmerkung des Übersetzers: … wenn keine Koexistenz bevorzugt wird.)
Anmerkungen
- Bei diesem Dokument handelt es sich um die ĂĽberarbeitete deutsche Ăśbersetzung des englischen Originaldokuments von xhtml.com. Mit freundlicher Genehmigung von xhtml.com / XHTML Reference.
- Zur besseren Lesbarkeit wurde »HTML 4.x« durch »HTML 4«, »XHTML 1.x« durch »XHTML 1« und »XHTML 2.0« durch »XHTML 2« abgekürzt.
Ähnliche Beiträge
Das könnte dich ebenfalls interessieren:
- XHTML kompakt: Von Besonderheiten ĂĽber Semantik zu Validierung
- Das kleine Buch der HTML-/CSS-Frameworks
- HTML: Hinweise zu Ăśberschriften und Hierarchien (Outlines)
Freund von optimiertem HTML? Probier Upgrade Your HTML (2019–2024). Gutes HTML ist nicht einfach. Minimales HTML wird unterschätzt. HTML aus dem Alltag kann man oft verbessern. Diese Buchserie macht das. Erhältlich bei Amazon, Apple Books, Kobo, Google Play Books und Leanpub.