Heim > Artikel > Web-Frontend > Der Unterschied zwischen HTML5 und XHTML2
Die meisten Menschen verwenden HTML 4 und XHTML 1, um Webseiten zu schreiben. Relativ wenige HTML-Enthusiasten verstehen die Konzepte von semantischem HTML, der Validierung der HTML-Struktur und der Verbesserung der Zugänglichkeit von Dokumenten. Hochwertige HTML-Dokumente sind das Ergebnis wiederholter Kompromisse, Designoptimierungen und Diskussionen. Trotz aller Kritik hat keine Sprache jemals die Popularität von HTML erreicht. Die meisten Benutzer sind mit dem Status quo der Standards zufrieden, als wären sie so geboren.
Aber wie viele andere Standards hat auch HTML Nachfolger. Auch jetzt denken Experten noch über die nächste HTML-Version nach, die alle bekannten Probleme in der aktuellen Version beheben soll. Wie bei jeder Gruppe sind sich diese Experten nicht einig über die zukünftige Ausrichtung dieser Arbeit.
Der erste Vorschlag für eine neue HTML-Version kam von einer Arbeitsgruppe innerhalb der W3C-Organisation. Die Ideen der Arbeitsgruppe drehen sich um XHTML 2, einen Standard, der die ursprüngliche Entwicklungsrichtung fortsetzt, XHTML weiter zu entschlacken und zu den Designkonzepten der ersten HTML-Version zurückzukehren.
Einige wichtige HTML-Experten außerhalb des W3C – „Browseranbieter, Webentwickler, Autoren und andere“ – „stimmen mit der Richtung von XHTML 2 nicht überein.“ Im Jahr 2004 gründeten sie eine unabhängige Arbeitsgruppe, um eine neue Designrichtung für die neue HTML-Version vorzuschlagen. Unter dem Namen WHATWG (Web Hypertext Application Technology Working Group) brachten sie HTML 5 und Web Forms 2 auf den Markt.
Einige Jahre später wurde in einem Arbeitsentwurf eine alternative Richtung für HTML klar beschrieben. Im April 2007 stimmte das W3C darüber ab, ob HTML 5 in den Standardüberprüfungsprozess aufgenommen werden sollte, ohne es (noch) als offiziellen Standard anzuerkennen. Die meisten Leute stimmen zu. Es entsteht eine interessante Situation: Das W3C arbeitet gleichzeitig an zwei konkurrierenden Nachfolgetechnologien für HTML und XHTML. Theoretisch gibt es für beides gute Gründe. In der Praxis müssen viele Hürden überwunden werden, damit alle gängigen Browser beide Standards unterstützen.
Das ist die grundlegende Tatsache, die zur aktuellen Situation geführt hat. Sinnvoller wäre es, die tatsächlichen Unterschiede zwischen den beiden Vorschlägen zu diskutieren. In diesem Artikel werden die Grundlagen beider Vorschläge dargelegt und anschließend die dahinter stehenden Designkonzepte analysiert.
Häufig verwendete Abkürzungen
CSS: Cascading Style Sheets
HTML: Hypertext Markup Language
W3C: World Wide Web Consortium
XHTML: Extensible Hypertext Markup Language
Eine kurze Geschichte von XHTML
Um die Designphilosophie hinter XHTML 2 zu verstehen, ist ein wenig Geschichte erforderlich. In den frühen 1990er Jahren basierten die ersten HTML-Versionen auf der Standard Generalized Markup Language (SGML). Der Hauptunterschied besteht in der Hyperlink-Eigenschaft – einer wichtigen Grundlage und Erfolgsfaktor des World Wide Web. Wie SGML ermöglicht HTML den Autoren, die Struktur eines Dokuments zu beschreiben und Kopfzeilen von Absätzen, geordneten Listen und ungeordneten Listen zu trennen. Die auf dem Bildschirm angezeigten Ergebnisse hängen vom Browser ab.
Da das Web immer beliebter wird, fordern HTML-Benutzer Kontrolle über das Erscheinungsbild ihrer Seiten. Browser-Anbieter haben in HTML 2 und 3 neue Funktionen eingeführt. Webseiten werden schwer verständlich und komplexe verschachtelte Tabellenstrukturen werden zum Hauptmittel zur Steuerung des Seitenlayouts. Der Rest des Dokuments ist mit Schriftart-Tags und Farbdeklarationen gefüllt. Es ist schwierig geworden, die ursprüngliche Dokumentstruktur zu sortieren.
HTML 4 wurde entwickelt, um dieser Verwirrung ein Ende zu setzen, indem es die Präsentationslogik auf CSS verlagerte und Ebenen (DIVs) für eine erweiterte Inhaltspositionierung einführte. Dies bedeutet eine Änderung des Code-Schreibmodells im Vergleich zu HTML 3. Um den Migrationsprozess zu vereinfachen, werden ältere HTML 3-Strukturen durch die Übergangsversion von HTML 4 unterstützt. Die Strict-Version für fortgeschrittene Benutzer erfordert eine saubere Trennung von Inhalt und Präsentation.
Die ersten HTML 4-Websites verwendeten DIVs wie den neuen Heiligen Gral und verwendeten sie für fast jedes Element auf der Seite, das ein wenig aufpoliert werden musste, einschließlich (aber nicht beschränkt auf) den Header. HTML-Stilattribute werden häufig zur Beschreibung von Präsentationsdetails verwendet. Endlich die überfüllten Tabellen aus dem Internet entfernt. Doch Inhalt und Darstellungslogik sind noch immer vermischt. Die wesentliche CSS-Datei ist nur wenige Zeilen lang.
Kürzlich haben einige bekannte Webentwickler einen clevereren Ansatz für HTML 4-Stylesheets entwickelt. In modernen Browsern sind CSS-Eigenschaften nicht auf DIV-Elemente beschränkt. Sie können bei Bedarf Stile für jedes HTML-Element angeben. In vielen Weblogs wurde über semantisches HTML gesprochen. Es gibt kein völliges Verbot des DIV-Elements, aber Webseitenautoren beginnen, HTML-Elemente zu verwenden, die ihren Inhalt am besten beschreiben. Beispielsweise lassen sich die meisten Website-Navigationsmenüs am besten als ungeordnete Listen beschreiben. Als weiteres Beispiel: Anstatt einen Klassennamen wie bigHeader für Absatzelemente zu verwenden, verwenden Sie stattdessen H1-Elemente und verwenden Sie dann CSS, um die Darstellung nach Bedarf zu ändern.
Mittlerweile hat das W3C XHTML 1 als eine Version von XML vorgeschlagen, die dem wohlgeformten und gültigen HTML 4 entspricht. Für XML-Benutzer vereinfacht dies die Aufgabe, XML-Inhalte in Webseiten zu konvertieren und die Konvertierungsergebnisse mit vorhandenen Validatoren zu vergleichen. XHTML 1.1 versucht, verschiedene Probleme in verschiedene Module zu isolieren. Ein modularer Ansatz macht es einfach, verschiedene Teile des Standards für unterschiedliche Anforderungen wiederzuverwenden und den Standard um neue Funktionalitäten zu erweitern.
XHTML 1.1, das noch mehr Benutzer hat als HTML 4, trennt Inhalt von Präsentation. Doch nach wie vor lassen sich einige praktische Probleme nur mit Tricks in CSS lösen. Beispielsweise enthalten Menüstrukturen, die durch ungeordnete Listen dargestellt werden, oft schöne Bilder. Allerdings sind Bilder für sehbehinderte Menschen über Text-to-Speech-Funktionen nicht einfach vorzulesen. Und Textbrowser wie Lynx können keine Bilder anzeigen. Ein komplexer CSS-Trick kann Text verbergen und ein Bild im Browser anzeigen. Wenn das Menü jedoch auf verschiedenen Seiten unterschiedlich ist, wird es schwierig, diesen Teil mit CSS zu spezifizieren.
Die Designphilosophie hinter XHTML 2
Die wichtigste Designphilosophie hinter XHTML 2 besteht darin, Inhalt und Präsentation weiter zu trennen und die verbleibenden Mängel von HTML 4 und XHTML 1 zu verbessern. Beispielsweise native Unterstützung für die Angabe von Bildern für jedes Element in einer ungeordneten Liste. Das ursprüngliche IMG-SRC-Tag wird durch das optionale SRC-Attribut ersetzt, das für jedes Element verwendet werden kann. Das modifizierte CSS ist vollständig vom Inhalt getrennt und Geräte, die keine Bilder unterstützen, können stattdessen problemlos Text darstellen.
Aber CSS ist nicht die einzige Herausforderung für Webentwickler. Es wird viel Zeit mit der Interaktion mit dem Server und den HTML-Formularen verbracht und es gibt viel JavaScript™ Formulare sind auf eindimensionale Schlüssel-Wert-Paare beschränkt. Es ist eine Menge Arbeit, JavaScript-Code zu entwickeln, aber auf einer Schnittstelle wie einem Text-to-Speech-Gerät ist es nutzlos.
Basierend auf einem modularen Ansatz ersetzt XHTML 2 HTML-Formulare durch XForms-Module und bietet Unterstützung für häufige Probleme mithilfe des entsprechenden Anwendungsmodells. XForms können Interaktionslogik, Validierungsregeln und Berechnungsmethoden ohne eine einzige Skriptzeile angeben. Darüber hinaus verwendet diese Technik eine umfangreiche XML-Struktur anstelle von Schlüssel-Wert-Paaren, was verschachtelte Unterformulare und wiederholte Elemente ermöglicht. Text-to-Speech-Geräte bieten nicht nur eine leistungsstarke Engine, sondern sind auch besser geeignet, die Vielfalt von Anwendungen zu verändern.
Zusätzlich zu XForms gibt es andere XHTML-bezogene Probleme, die in unabhängige Spezifikationen extrahiert werden, um andere Anforderungen zu erfüllen – wie XML Events, XFrames und Ruby (asiatische Sprachen).
Mit der Trennung der Darstellung wird auch die Programmierung vom Standard getrennt. Interaktionseigenschaften wie onClick werden durch das XML-Events-Modul ersetzt. Da die XML-Events-Spezifikation selbst für diesen Zweck entwickelt wurde, bietet sie einen leistungsfähigeren Satz an Tools für die Arbeit mit Benutzeroberflächen.
Zusammenfassend lässt sich sagen, dass die Grundidee der Innovation von XHTML 2 darin besteht, verschiedene Probleme aufzuschlüsseln. Das Problem ist kein sekundäres Merkmal von HTML mehr und wird zum Hauptzweck der neuen Spezifikation. Daher ist die neue Spezifikation am besten für das Problem geeignet, mit dem die Optimierung konfrontiert ist. Allerdings ist es eher eine Frage der Philosophie als der Praxis, verschiedene Probleme unterschiedlich zu behandeln. Intelligente Entwickler, die mit der Verwendung dieser Tools vertraut sind, können die gewünschten Ergebnisse erzielen. Allerdings lässt sich nicht leicht sagen, ob der durchschnittliche Benutzer der aktuellen HTML-Version in der Lage ist, qualitativ hochwertige XHTML-Dokumente zu erstellen.
XHTML 2 richtet sich wahrscheinlich nicht an allgemeine HTML-Benutzer. Aber in den Händen eines guten Entwicklers kann es eine großartige Möglichkeit sein, die Barrierefreiheit zu verbessern.
HTML 5-Designphilosophie
WHATWG hat beim Design von HTML 5 einen realistischeren Ansatz gewählt. Ohne abstrakte Konzepte wie die Problemzerlegung zu berücksichtigen, entwickelte diese Arbeitsgruppe Dokumente, die auf dem Verhalten aktueller Mainstream-Browser basieren und sich völlig von den W3C-Spezifikationen unterscheiden. Basierend auf der obigen Analyse untersuchte diese Arbeitsgruppe den praktischen Einsatz von HTML.
Basierend auf diesen Informationen schlug die Arbeitsgruppe Initiativen vor, die darauf abzielen, die Arbeit des durchschnittlichen Webentwicklers zu vereinfachen. Obwohl HTML 5 behauptet, von der Vorgängerversion von HTML abgeleitet zu sein, besteht sein primäres Ziel nicht in der Reinheit. Das Hauptziel der modularen Dokumentation besteht beispielsweise darin, den Ersatz durch optimierte Webanwendungen zu erleichtern.
Auf diesem Zweck basierende modulare Sprachen vereinfachen die Entwicklung von Webanwendungen erheblich. HTML 5 unterstützt beispielsweise interaktive Komponenten wie Datentabellen, Menüs und Symbolleisten. Durch die Verwendung beschreibender HTML-Elemente mit Standardverhalten muss nicht viel Code geschrieben werden, um das Verhalten eines generischen DIV zu simulieren.
HTML 5-Spezifikationen sind nicht auf HTML-Elemente und -Attribute beschränkt. Es definiert spezielle JavaScript-APIs für die Dokumentbearbeitung und Drag-and-Drop-Interaktionen. Dieser Ansatz unterscheidet sich völlig von der Zerlegung des Problems. Es vereinfacht die Webentwickler-API, erhöht jedoch den Umfang der Spezifikation.
HTML 5 ist HTML 4 viel ähnlicher als XHTML 2 XHTML 1. Der Migrationspfad ist flacher und für erfahrene HTML-4-Entwickler ist es einfacher, sich mit der neuen Version vertraut zu machen. Neue Funktionen folgen einer ähnlichen Logik. Spezielle Ereignisattribute für bestimmte Elemente ermöglichen es HTML-Editoren, geeignetere Funktionen zur Textvervollständigung bereitzustellen.
Aktuelle Webanwendungen basieren auf asynchronem JavaScript XML (Ajax), um mit Servern zu interagieren. HTML 5 erkennt die Bedeutung der Interaktion mit dem Server an und definiert eine Vielzahl von Möglichkeiten zur Interaktion mit dem Netzwerk, zur Verteilung empfangener Serverereignisse und zum Senden von Nachrichten an Dokumente aus anderen Domänen, ohne dass Sicherheitsprobleme entstehen.
Die grundlegende Designphilosophie von HTML 5 besteht darin, HTML 4 um Funktionen zu erweitern, die Webentwickler benötigen. HTML 5 übernimmt die grundlegenden Technologien von HTML 4 und vereinfacht sie gleichzeitig. Um die Mängel von HTML V4 zu beheben, wählt HTML V5 den einfachsten und direktesten Weg zur Neugestaltung.
Praktische Anwendung neuer Standards
XHTML V2 et les modules associés sont officiellement pris en charge par le W3C, et les modules associés deviennent un facteur important dans d'autres spécifications XML prises en charge par le W3C. Malheureusement, l'approbation officielle du W3C ne garantit pas la prise en charge dans les principaux navigateurs Web. La prise en charge de XHTML V2 en général ne pose pas de problème : les navigateurs modernes prennent déjà en charge de nombreuses fonctionnalités. L'utilisation correcte de XHTML V2 dépend de la disponibilité des modules pertinents. Au moment d'écrire ces lignes, il n'est pas clair si Microsoft étendra Windows® Internet Explorer® pour prendre en charge les fonctionnalités d'événements XML et XForms. Un plug-in Mozilla XForms, incluant des événements XML, est en développement depuis plusieurs années. Ce plug-in améliore les fonctionnalités de cette technologie et réduit la difficulté de mise en œuvre.
La rédaction de la spécification HTML V5 a maintenu une communication approfondie avec les fabricants de navigateurs et a toujours pris en compte les problèmes de mise en œuvre. Bien que l’équipe ait exprimé des doutes quant à l’approbation officielle du W3C. La FAQ ne répond même pas officiellement à la question de savoir quand l'approbation officielle sera donnée. Quelle que soit la position du W3C, les fournisseurs de navigateurs semblent avoir décidé d'implémenter la norme non officielle HTML 5. Ce n’est pas la première fois que les fabricants de navigateurs se précipitent avant la publication de normes officielles.
Normes concurrentes
Pour l'instant, ni HTML 5 ni XHTML 2 ne sont des recommandations officielles. Certains détails mineurs peuvent changer à l'avenir. Mais l’orientation de leur développement ne changera pas et tous deux ont résolu certaines lacunes des normes actuelles. Reste à voir comment les futurs navigateurs ajouteront la prise en charge de ces deux nouveaux standards. Les navigateurs actuels prennent en charge HTML 4 et XHTML 1. De même, les futurs navigateurs pourraient prendre en charge à la fois HTML 5 et XHTML 2. Les deux normes ont leurs partisans.
Si vous êtes plus préoccupé par XHTML 1.1 que par HTML 4 et que vous souhaitez créer des documents pouvant prendre en charge différents appareils, vous préférerez peut-être XHTML 2. Si vous utilisez XHTML 1 simplement parce qu'il est conforme au standard XML et que vous préférez les nouvelles fonctionnalités de HTML 5, XHTML 5 (HTML 5 réécrit en XML) peut être votre meilleur choix.
HTML 5 est populaire auprès des développeurs qui utilisent HTML 4 pour créer des applications Web interactives. Cette approche est plus réalisable pour les sites utilisant un éditeur de documents WYSIWYG. Mais au cas par cas, HTML 4 et XHTML 1 risquent de cohabiter longtemps.
Pour plus de didacticiels connexes, veuillez visiter le Tutoriel vidéo HTML5