Ogni attributo, in (X)HTML, è suddiviso in due parti:
  • il nome e
  • il valore corrispondente.

Tradotto in codice:

codice:
nome = "valore"
Il segno di uguale ('=') serve ad attribuire un certo valore ad un determinato attributo.

In HTML (prima di XHTML, quindi) gli attributi potevano essere di due tipi, che potremmo banalmente chiamare:

  • con valore e
  • privi di valore, cioè vuoti.


Ecco che readonly - ritenuto di tipo vuoto - poteva essere scritto come segue:

codice:
<textarea readonly></textarea>
In XHTML, invece, una regola sintattica basilare prevede che nessun elemento (tag) e nessun attributo può essere vuoto, o per dirla meglio, è necessario che essi vengano chiusi.

In XHTML:

codice:
<textarea readonly="readonly"></textarea>
A livello sintattico, l'ordine di apparizione dell'attributo è ininfluente e, per quanto io ne sappia, non è necessario porlo come ultimo per evitare qualche brutto scherzo di qualche caca-browser (IE ).

In conclusione, la scrittura 'readonly=' è decisamente priva di significato. Sarebbe come dire: 'All'attributo readonly si attribuisca il valore...', ma quale valore?