Seiten über gutes Webdesign, Usability (Benutzbarkeit) und Accessibility (Zugänglichkeit) mit HTML und CSS.
Navigation überspringen

Häufige Probleme

Dieser Text ist eine Übersetzung von "Common HTML Validation Problems" der WDG. Er beschreibt die häufigsten Fehler, die bei der Validierung von HTML auftreten, und deren Lösung.

Auf dieser Seite:

– — – — – — – — –

HTML innerhalb eines SCRIPTs

Ein häufiger Fehler (und die häufigste Ursache für Fehlermeldungen des WDG HTML Validators) tritt auf, wenn HTML-Tags in einem SCRIPT-Element verwendet werden:

<script type="text/javascript">
<!--
  // Dies ist ein Fehler!
  document.write("</P>");
// -->
</script>

Gemäß dem Standard ist das erste Auftreten von "</" gefolgt von irgendeinem Buchstaben das Ende-Tag für das SCRIPT-Element. Obwohl einige Browser diesen Fehler vergeben, sollte es doch vermieden werden, Dinge wie "</p>" im SCRIPT zu verwenden. JavaScript bietet dafür die Möglichkeit, einen linksseitigen Schrägstrich (Backslash) "\" zu verwenden:

<script type="text/javascript">
<!--
  document.write("<\/P>");
// -->
</script>
– — – — – — – — –

Kaufmannsund (&) in URLs

Ein weiteres häufiges Problem tritt auf, wenn man URLs verwendet, die Kaufmannsund-Zeichen "&" (englisch: Ampersand) enthalten:

<!-- Dies ist ungültig! -->
<a href="foo.cgi?chapter=1&section=2">...</a>

Dieses Beispiel führt zu der Fehlermeldung "unknown entity section" (deutsch: "Unbekanntes benanntes Zeichen section") weil das Kaufmannsund ein benanntes Zeichen (englisch: entity) einleitet. In vielen Fällen werden die Browser dies trotzdem korrekt ausführen. Obwohl es genauso gut auch als "&sect;ion", was "§ion" bedeuted, verstanden werden könnte.

Um dieses Problem zu vermeiden, sollte einfach immer "&amp;" statt nur "&" verwendet werden:

<a href="foo.cgi?chapter=1&amp;section=2">...</a>

– — – — – — – — –

Falsche Verschachtelung von Elementen

HTML-Elemente können sich nicht überlappen. Das folgende ist kein gültiges HTML:

<B><I>Falsche Verschachtelung</B></I>

In diesem Beispiel soll das B-Element ein I-Element enthalten. Damit das I-Element wirklich (vollständig) im B-Element enthalten ist, muss das /I-Tag vor dem /B-Tag stehen. Das folgende ist gültiges HTML:

<B><I>Richtige Verschachtelung</I></B>
– — – — – — – — –

NAME-Attribute bei Bildern (IMG) oder Formularen (FORM)

Die HTML 4.0 Spezifikation kannte kein Attribut NAME bei den Elementen IMG und FORM.

Dies wurde bei der Version 4.01 in die Spezifikation aufgenommen. Entsprechend sollte auch die DOCTYPE Angabe angepaßt werden, wenn dieses Attribut Verwendung finden soll.

– — – — – — – — –

Kleinschreibung bei der DOCTYPE-Angabe

Bei dem formalen öffentlichen Bezeichner (englisch: formal public identifier) in der DOCTYPE Angabe (die Zeichenkette nach dem Schlüsselwort public) ist die Groß- bzw. Kleinschreibung wichtig! Ein häufiger Fehler ist folgendes Beispiel:

<!doctype html public 
  "-//w3c//dtd html 4.0 transitional//en">

In diesem Beispiel ist der FPI kleingeschrieben. Der Validator sowie die meisten Browser werden das Format daher nicht als HTML 4.0 Transitional (an)erkennen, da sie folgende Schreibweise erwarten:

<!doctype html public 
  "-//W3C//DTD HTML 4.0 Transitional//EN">
– — – — – — – — –

Dieser Text ist eine Übersetzung von "Common HTML Validation Problems" der WDG.

Open Content Copyright © 2002 Dr. Joachim Wiesemann.

Letzte Aktualisierung: 25.5.2006