Manchmal sollen Formularfelder vom Benutzer nicht geändert werden. Das kann dann sinnvoll sein, wenn per JavaScript ermittelte Werte angezeigt oder aber Felder mit einem Wert vorbelegt werden sollen.
Mit den Standalone-Attributen readonly
und disabled
können Eingabefelder deaktiviert werden. Das Eingabefeld ist dann kein Eingabefeld mehr, sondern eigentlich nur ein Ausgabefeld.
Mit dem Standalone-Attribut readonly
wird das Eingabefeld auf nur lesen gesetzt. Anwendbar ist das Attribut auf ein- und mehrzeilige Eingabefelder. Bei readonly
bleiben alle Funktionen des Eingabefeldes erhalten. Man kann es per Tabulator-Taste ansteuern, es kann ein accesskey
festgelegt werden, der Text kann ausgewählt und kopiert, nur kann der Inhalt nicht verändert werden. Die Daten werden mit dem Formular übertragen. Sinnvoll ist diese Angabe, wenn ein Feldwert zwar übertragen werden soll, und wenn der Anwender den Wert auch sehen, aber nicht ändern können soll.
Mit dem Standalone-Attribut disabled
geht im Gegensatz zu readonly
gar nichts mehr. Kein tabindex
, keine accesskey
und die Daten werden auch nicht mit dem Formular übertragen. Erlaubt ist das Attribut in allen Formularfeldtypen. Das Element wird vom Browser in irgendeiner Form blasser dargestellt, um zu signalisieren, dass es nicht bearbeitet werden kann. Sinnvoll ist diese Angabe, wenn ein Feldwert allein zu Informationszwecken dargestellt, aber nicht per Formular übertragen werden soll.
<input type="text" name="blubb" id="first" value="Bla" disabled="disabled" /> <input type="text" name="blubb" id="second" value="More Bla" readonly="readonly" />
Was das Verhalten der Screenreader angeht, ist das Verhalten ziemlich konfus: Screen Reader Support For Disabled & Read Only Form Fields.
Kommentar schreiben