Auszug aus dem Buch Apps mit PhoneGap entwickeln

1.1.1 Die Struktur der HTML-Seite

Allgemein sollte man bei der HTML-Datei darauf achten, dass sie fehlerfrei ist. Das ist keine triviale Aussage. Wenn Sie sich bereits mit Webseitenerstellung oder Web-Programmierung länger beschäftigen, dann wissen Sie, dass Webseiten und insbesondere Web-Applikation meist fehlerhaft im Sinn des HTML-Standards erstellt werden. Das ist oft zwingend, weil man bestimmte Workarounds für Browser braucht oder aber nicht schlimm, da Browser nach dem Prinzip der Fehlertoleranz fehlerhafte Strukturen in der Webseite sowieso kompensieren.

CHV_BOX_ID_02

icn002

Prinzip der Fehlertoleranz

Das Prinzip der Fehlertoleranz veranlasst einen Browser tolerant mit Fehlern im HTML-Code umzugehen. Und das nach einem logischen Prinzip. Ein Browser wird ihm unbekannte Befehle in HTML einfach ignorieren. Im ungünstigsten Fall bleibt reiner Text über und damit jedoch die eigentliche Information einer Webseite weitgehend erhalten. Das Prinzip der Fehlertoleranz sorgt ebenso dafür, dass fehlende Elemente und Strukturen in einer HTML-Seite quasi automatisch vom Browser imHintergrund ergänzt werden, wenn die Ergänzung eindeutig möglich ist.

Aber obwohl das Prinzip der Fehlertoleranz die Bereitstellung von Informationen erheblich vereinfacht und in der Anfangszeit ohne Zweifel erst den Erfolg des Webs ermöglicht hat sowie die Funktionalität anspruchsvoller Rich Internet Applications (RIAs) in den unterschiedlichen Browsern erst ermöglicht, können unsauber beschriebene Klartextdokumente nicht zuverlässig (und einfach) von Parsern für die Programmierung[2] aufbereitet werden. Für PhoneGap rate ich daher dringend dazu, dass Sie das Prinzip der Fehlertoleranz nicht ausnutzen und möglichst eine valide HTML-Basis schaffen. Das bedeutet also, dass Sie die klassischen Schlampereien wie nicht abgeschlossene Elemente, Attributwerte, die nicht in Hochkommata gesetzt sind, etc. vermeiden. Dabei können Sie als Grundgerüst durchaus eine HTML5-Struktur verwenden, die verkürzte DOCTYPE- und Meta-Anweisungen verwendet, denn die Engines moderne mobiler Endgeräte kommen sehr gut mit HTML5 zurecht. Dennoch würde ich semantische Tags wie header, footer oder nav nur dann einsetzen, wenn es einen zwingenden Grund gibt[3]. Ein div-Element mit passender Id ist meines Erachtens genauso gut oder besser. Aber wenn Sie bestimmte neue Features, die es in älteren Versionen von HTML nicht gibt, benötigen (etwa die Darstellung von Bildern in canvas-Elementen), dann können Sie diese Elemente recht zuverlässig einsetzen.