molily: Ungewünschte überlappung

Beitrag lesen

spec 3.2.3.2

Danke. Das ist also offensichtlich etwas großzügiger geworden, aber nicht wirklich einfacher.

Ich finde, es ist einfacher und logischer geworden.

HTML5 ist fehlertolerant, schluckt also alles nach attr= alles bis zum nächsten Zeichen, das nicht ein Begrenzer sein könnte. Das ist die einzig sinnvolle Definition, wenn man denn Attributwerte ohne Begrenzer erlauben möchte und nicht wie HTML 4.01 Internationalisierung verleugnen will.

Jetzt muss man eine ganze Reihe von Sonderzeichen im Kopf haben, wenn man beurteilen will, ob man die Anführungszeichen weglassen darf (wobei das genau die Zeichen sind, die auch im HTML-Kontext maskiert werden müssen).

Ja, eben. Es sind nicht irgendwelchen Sonderzeichen, sondern die mit einer speziellen Bedeutung in diesem Kontext. Lediglich den grave accent () hätte ich hier nicht erwartet. Das wird wohl praktisch-historische Gründe haben. Vermutlich haben zuviele Leute ' mit verwechselt.

Siehe auch den entsprechenden State in der Parser-State-Machine, in welchem ` genauso wie ' verarbeitet wird, nämlich als Parse-Error. Das Zeichen wird dennoch an den Attributwert gehängt (definierte Fehlerbehandlung).

Dann doch erst recht *immer* Anführungszeichen setzen. Sauber, klar und einfach.

Das sehe ich auch so, aber ich halte es für keine große kognitive Leistung, darauf zu verzichten.

Mathias