HTML/Tutorials/Entstehung und Entwicklung

Aus SELFHTML-Wiki
< HTML‎ | Tutorials(Weitergeleitet von XHTML)
Wechseln zu: Navigation, Suche

Dieser Artikel behandelt die Entstehung und Entwicklung von HTML und HTML5.

Unter Grundlagen finden Sie eine allgemeinere Geschichte des Internets.

Auf der Seite HTML/Tutorials/Layoutkonzepte können Sie verfolgen, wie sich die Vorstellungen von Webdesign verändert haben.

HTML als Auszeichnungssprache

HTML (HyperText Markup Language) wurde 1990 vom Web-Gründer Tim Berners-Lee als Auszeichnungssprache (Markup Language) entwickelt, die auf SGML basiert.

Standard-Hierarchie rund um XML
Standard-Hierarchie rund um XML

Eine solche Auszeichnungssprache hat die Aufgabe, die logischen Bestandteile eines textorientierten Dokuments zu beschreiben.

Im Webdesign wird versucht, Seitenstrukturierung und Textstrukturierung nach semantischen Gesichtspunkten zu organisieren.

HTML ermöglicht es typische Elemente eines textorientierten Dokuments wie Überschriften, Textabsätze, Listen, oder Tabellen als solche auszuzeichnen.

In der ursprünglichen Version von HTML gab es 18 Elemente, von denen TITLE und die Textstrukturierungselemente H1-H6, P, A, ADDRESS, UL, OL und LI sowie DL,DT und DD immer noch verwendet werden, während Elemente wie PLAINTEXT, ISINDEX und LISTING heute nicht mehr gültig sind und als obsolet angesehen werden.[1][2]

Siehe auch:

Netscape und der Internet-Boom

Schon früh versuchte man eine gemeinsame, verbindliche Spezifikation für HTML zu schreiben, wurde dabei aber von der schnellen technischen Entwicklung überholt. Noch während an einem HTML+ Standard gearbeitet wurde, schuf das Team um Marc Andreessen mit den Mosaic- und späteren Netscape-Browsern Fakten. Mit ihrem IMG-Element konnten Bilder inline in Webseiten integriert werden. Dazu kamen visuelle Elemente wie BASEFONT, FONT, CENTER oder BLINK.

Microsoft stellte ihnen das MARQUEE-Element dagegen, mit dem Elemente über den Bildschirm scrollen konnten. Auch bei multimedialen Erweiterungen wurden Features einseitig implementiert und gehofft, dass die anderen schon nachziehen würden. Während HTML2 noch verabschiedet werden konnte, scheiterte HTML3 an der schnellen Entwicklung und wurde aufgegeben.

Mit HTML 3.2 wurde diesem Wildwuchs zumindest theoretisch ein Ende bereitet; Netscape verzichte auf BLINK, wenn Microsoft MARQUEE zurückziehen würde, aus EMBED, APP, APPLET, DYNSRC wurde das OBJECT-Element.[3]

Wichtigste Erkenntnis: HTML soll Dokumente strukturieren, nicht formatieren! Dafür setzte sich mit den Cascading Style Sheets (CSS) gegenüber angedachten Alternativen eine Erweiterung durch, die die Präsentation festlegen konnte.[4]

Siehe auch:

HTML4.01

Während HTML4.01 in drei Varianten

  • strict, (in der obsolete Elemente verboten waren)
  • transitional (in der obsolete Elemente noch geduldet waren) und
  • frameset

definiert wurde, versuchte man parallel das SGML-basierte HTML 4.0 mit Hilfe von XML (Extensible Markup Language = erweiterbare Auszeichnungssprache) "nachzubauen".

XHTML

XHTML, Extensible HyperText Markup Language (englisch für erweiterbare Hypertext-Auszeichnungssprache) ist eine Weiterentwicklung von HTML 4.01 auf der Basis von XML. Es sollte durch eine strenge Auslegung der Auszeichnungsregeln absturzsicherer und kompatibel zu anderen Sprachen wie SVG oder XSL werden.

HTML XHTML
HTTP Content-Type text/html appliation/xhtml+xml
Groß-/Kleinschreibung nicht relevant (z. B. <br>, <Br>, <BR>) DOCTYPE und CDATA immer groß, HTML-Tags immer klein: <br />
inhaltsleere Elemente <br> <br /> (war in HTML 4 von der DTD abhängig, in HTML 5 ist beides möglich) schließender Slash <br />
oder Ende-Tag <br></br> zwingend erforderlich
Optionale Tags Weglassen teilweise erlaubt immer beide angeben
Anführungszeichen um Attributwerte optional, solange der Attributwert bestimmte Zeichen nicht enthält. immer
boolesche Attribute <input type="radio" checked> Attributname als Attributwert angeben, z. B. <input type="radio" checked="checked" />

Heute ist XHTML gegenüber HTML5 in den Hintergrund getreten. Es ist aber weiterhin gültig und die erwähnten Tugenden haben die Schreibweise von HTML stark beeinflusst.

Guter HTML-Stil

XHTML wird nicht weiterentwickelt; allerdings kann man HTML(5)-Markup als polyglottes HTML nach XML-Regeln auszeichnen.[5] Darunter versteht man ein Markup, das sowohl mit einem HTML- als auch einem XML-Parser das gleiche DOM erzeugt.

Das Schreiben von polyglottem HTML ist nur dann erforderlich, wenn Sie Ihre HTML Dokumente mit HTML Content-Type ausliefern müssen und die Notwendigkeit besteht, sie als XML-Dokumente verarbeiten können zu müssen.

Polyglottes HTML bedeutet außer dem Befolgen der oben genannten XML Regeln:

  • Keine XML Verarbeitungsanweisungen (<?...?> Elemente)
  • Angabe des DOCTYPE als <!DOCTYPE html> ohne weitere Angaben
  • Im HTML Element muss der XML-Namespace für HTML angegeben werden.
  • Das lang-Attribut muss doppelt angegeben werden:
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
  • Besondere Vorsicht bei Inhalten von <style> und <script> Elementen. HTML interpretiert sie automatisch als CDATA, XML hingegen nicht. Das bedeutet: Entweder müssen Sie alle Zeichen, die von XML interpretiert werden, mit CSS- oder JavaScript-Syntax maskieren (was bei Operatoren oder Kombinatoren nicht geht), oder Sie müssen Inline-Stylesheets und -Scripte als CDATA-Abschnitte markieren. Diese wiederum müssen Sie vor den CSS- und Script-Parsern verstecken, indem Sie sie in /* ... */ Kommentarzeichen einschließen (oder als // Kommentar in JavaScript schreiben).

Die vollständigen Regeln sind weitaus umfangreicher. Folgen Sie bei Bedarf dem Link in der Fußnote zum W3C (englischer Text). Beachten Sie aber auch, dass das W3C die Beschreibung von polyglottem HTML nicht mehr pflegt und Sie deshalb auf Situationen stoßen können, wo Sie sich selbst eine polyglotte Formulierung überlegen müssen.

HTML5

Obwohl einer der Gründe für den Sieg des Internet Explorers über Netscape seine bessere Implementierung von CSS und der HTML-Standards war, stagnierte bei Microsoft die Weiterentwicklung von HTML, während das W3C an XHTML2 weiterarbeitete, ohne die Sprache um neue Features erweitern zu wollen.

Allerdings begannen Browserhersteller unter dem Schlagwort HTML5 multimediale Elemente wie audio, video und canvas unter Verzicht auf Plugins direkt in den Browser zu implementieren und im Rahmen der WHATWG an einem neuen Standard zu arbeiten. Dies beschränkte sich nicht auf HTML - auch JavaScript-APIs wie Web Storage, WebSockets und Drag & drop wurden unter diesem Label eingeführt.

2006 schwenkte das W3C um und beteiligte sich an der Festlegung des neuen Standards. HTML5 liegt seit Oktober 2014 auf den Seiten des W3-Konsortiums als empfohlener Standard vor:[6]

Nach der WHATWG soll HTML5 die letzte Version von HTML sein, zukünftige Änderungen werden in einem Living Standard ohne weitere Versionsnummern weiterentwickelt. Das W3C arbeitete aber weiter an neuen Zwischenversionen wie HTML5.2 und HTML5.3. Mittlerweile sind diese Arbeiten aber eingestellt und auch das W3C beteiligt sich am HTML Living Standard ohne Versionsnummern. Aus diesem Grund wird der Begriff HTML5 im SELFWiki nur noch in Abgrenzung zu älteren HTML-Versionen verwendet.

Mit HTML5 wurde erstmals auch der Algorithmus, mit dem HTML geparsed werden soll, definiert. Bis dato sollte HTML als SGML-Anwendung wie ein SGML-Dokument geparsed werden. In der Praxis jedoch wichen Browser-Hersteller an vielen Stellen davon ab, einerseits um praktisch geschriebenes HTML parsen zu können (etwa <br />) und andererseits, um Fehler besser kompensieren zu können. Dies wurde als Begründung herangezogen, eigene Algorithmen zu definieren, die erstmals auch sowas wie Fehlerkorrektur beinhalteten.

SELFHTML verwendet in seiner Dokumentation HTML5, wie es im Living Standard festgelegt ist.

CSS3

Seit 1998 wurde parallel zu einer neuen Version CSS2.1 auch an CSS3 gearbeitet. Während erstere 2011 als Empfehlung verabschiedet wurde, ist CSS3 zu einer Sammlung von Modulen geworden, die unabhängig weiterentwickelt werden und demnach auch unterschiedliche Versionsstufen (Level genannt) besitzen. Beispielsweise ist Flexbox bei Level 1 geblieben, während andere Module bereits bei Level 3 (z. B. Selektoren und Farben) sind und als Arbeitsstand teils schon bei Level 5. Die Browserhersteller implementieren die Arbeitsstände teilweise sehr schnell.

Berichten, dass es einen CSS3 Nachfolger namens CSS4 geben solle, hat das W3C widersprochen; CSS3 soll das CSS für die Zukunft sein. Aber parallel dazu ist eine CSS 2.2 Spezifikation in Arbeit, die CSS 2.1 dahingehend überarbeitet, dass von den Browserherstellern ignorierte Inhalte gestrichen und Errata korrigiert wurden. Es soll so einen kleinsten gemeinsamen Kompatibilitätsnenner für alle Browser bilden.

Quellen

  1. World Wide Web Consortium: Tags used in HTML" November 3, 1992.(abgerufen am 25.03.2016)
  2. World Wide Web Consortium: "First mention of HTML Tags on the www-talk mailing list" October 29, 1991. (abgerufen 25.03.2016)
  3. Raggett, Dave: Raggett on HTML 4 (1998)
  4. The Languages Which Almost Became CSS von Zack Bloom
  5. W3C: Polyglot Markup: A robust profile of the HTML5 vocabulary W3C Working Group Note 29 September 2015
  6. Peter Körner: HTML5 ist Webstandard – die wichtigsten Fakten am 29.10.2014