I was recently sent this question:
I tried to use “checked” in an XHTML page. When I validated the page, this showed up as invalid. Why?
Update May 2010: With HTML5, we can now use minimised attributes – called boolean attributes.
Answer:
The use of “checked” in this way is referred to as “attribute minimization”. This means the author has used the attribute’s name but has not specifying a value.
<input name="name" type="checkbox" checked />
For a document to be valid XHTML, attributes cannot be minimized. The W3C XHTML 1.0 spec states:
XML does not support attribute minimization. Attribute-value pairs must be written in full. Attribute names such as compact and checked cannot occur in elements without their value being specified.
So, the correct way to write this code would be:
<input name="name" type="checkbox" checked="checked" />
Other examples include:
checked
compact
– DEPRECATEDdeclare
defer
disabled
ismap
noresize
noshade
– DEPRECATEDnowrap
– DEPRECATEDselected