Gunnar Bittersmann: Umstellung auf HTML5

Beitrag lesen

@@Franz

  1. Meine alten Dokumente werden noch mit "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">" eingeleitet. Macht es Sinn alle auf "HTML5" zu ändern oder kann es noch Probleme mit Browsern geben?

Ja, das kann es. Aber aus einem anderen Grund als du vielleicht denkst.

Zum Parsen von HTML-Code ist es Browsern völlig egal, ob da ein HTML-3-, -4- oder -5-DOCTYPE oder gar keiner angegeben ist.

Das HTML5 bewusst abwärtskompatibel entworfen wurde, ist es auch in den allermeisten Fällen formal richtig, HTML-4-Dokumente als HTML5 auszuweisen (auch wenn keine der neuen Elemente/Attribute darin verwendet werden).

Es ist aber nicht sinnvoll, bei der Neu- oder Weiterentwicklung auf die neuen HTML5-Elemente/Attribute zu verzichten. Die Verwendung der neuen Elemente/Attribute unter altem HTML-4-DOCTYPE wäre aber formal nicht korrekt. (Ein Browser wird das Dokument aber dennoch richtig parsen.)

Der Verwendung von <!DOCTYPE html> steht also nichts im Wege.

Aber: Zum Rendern der Seite ist Browsern die DOCTYPE-Angabe nicht egal. Sie wird als Umschalter zwwischen verschiedenen Darstellungsmodi missbraucht.

Der von dir bislang verwendete HTML-4-DOCTYPE ohne system identifier (URI) schickt Browser in den Quirks-Modus; <!DOCTYPE html> jedoch in den Standard-Modus. (Déjà-vu) Es könnten also Darstellungsunterschiede auftreten.

Generell dürfte es ratsam sein, die Browser in den Standard-Modus zu schicken und ggfs. das Stylesheet dahingehend anzupassen. Wenn du das gerade nicht schaffen solltest, aber die neuen HTML5-Elemente/Attribute verwenden willst, kannst du die DOCTYPE-Angabe auch ganz weglassen (dann auch Quirks-Modus).

  1. Alle Umlaute wurden noch mit "&uuml;" angeführt. Nun gibt es die Möglichkeit "<meta charset="utf-8" />" einzufügen.

Du meinst: Es gibt die Möglichkeit, die tatsächlich verwendete Zeichencodierung anzugeben. (Und ja, das sollte UTF-8 sein.) Die Möglichkeit gab es in HTML 4 auch, nur halt nicht mit charset-Attribut.

Und das Escapen von Umlauten ist auch in ISO 8859-1 o.ä. Codierungen nicht erforderlich gewesen.

Soll man ebenfalls dies ändern

Ob sich das bei bestehenden Dokumenten lohnt zu ändern? Bei neu erstellten auf jeden Fall Umlaute nicht verst&uuml;mmeln.

und verstehen alle Browser das?

Alle relevanten Browser.

Die Lesbarkeit des Dokumentes würde sich bei einer Änderungen wesentlich erleichtern.

So ist es.

  1. In meinem Dokument wird ein Abschnitt mit "<hr align="left"></hr>" abgeschlossen.

Fehler: hr ist ein leeres Element und hat darum kein End-Tag. </hr> ist falsch.

Wie würde man das mit CSS gestalten? […] eben mit dieser Linie abschließt.

Im einfachsten Fall mit border-bottom.

<a name="anfang"></a>

Das wäre kein gültiges HTML5; a-Elemente dürfen keine name-Attribute mehr haben. Für Sprungmarken verwendest du eine ID an einem passenden Element …

<h1><a name="Allgemein">Allgemein</a></h1>

… hier bspw. <h1 id="Allgemein">Allgemein</h1>

 <a href="#anfang">Seitenanfang</a><br>

Zum Sprung an den Seitenanfang eignet sich auch <a href="#">

  1. Macht es Sinn Ein Aufklappt-Menü zu gestalten, wie zum Beispiel

Ganz klares Njein.

Bei mehreren Rezepten würde es allerdings riesig lange.

Warum nicht für jedes Rezept eine eigene Seite?

LLAP 🖖

--
Ist diese Antwort anstößig? Dann könnte sie nützlich sein.