Gunnar Bittersmann: Textareas

Beitrag lesen

@@dedlfix:

nuqneH

Das Leerlassen dürfte keine Option sein. HTML 4.01 definiert rows und cols als NUMBER und das bedeutet at least one digit.

Nun, dann ist @cols="" kein valides HTML. Leerlassen (und damit Verzicht auf das grüne Licht des Validators) könnte dennoch eine Option sein, s.u.

XHTML 1.0 hat den Typ von rows und cols auf CDATA geändert und im Kommentar stehen, dass das "one or more digits" sein sollen. Nach meinem Wissen liegt das daran, dass NUMBER kein offizieller Wert für eine DTD ist.

Nicht in XML.

Die HTML4.01er DTD ist um nicht standardisierte Syntax und Elemente erweitert worden.

?? Vermutlich bietet SGML diesen Datentypen.

Bei der XHTML1.0-DTD hält man sich an den Standard, weswegen nach dessen strenger Auslegung auch ein Leerstring erlaubt ist. Normalerweise müsste nun ein Validator eine zusätzliche Regel haben, der den Kommentar berücksichtigt.

Nein. Ein Validator soll gegen die Grammatik prüfen, ob ein Dokument deren Regel entspricht (i.e. valide ist) oder nicht.

Die Gramatik liegt mit der DTD in maschinenlesbarer Form vor, wobei die Kommentare für Menschen sind! Ein Validator sollte nicht noch Verstöße gegen irgendwelche Sonderregeln, die nicht in der DTD stehen, als Fehler melden. (Er tut es dennoch und meldet die Verstöße als Warnungen.)

Soviel zu den Formularien. Widmen wir uns der Frage, warum @cols und @rows überhaupt REQUIRED ist.

Die Breite von Eingabefeldern ist Darstelung ist CSS. Und width hat beim Rendern Vorrang vor @cols.

Ein UA sollte für Breite und Höhe von textareas sinnvolle Vorgabewerte haben, damit trotz Fehlens von Angaben von @cols und @rows oder width und height das Eingabefeld dargestellt wird. Und das haben die Browser auch. Die Pflichtangabe von @cols und @rows ist damit unsinnig.

Qapla'

--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)