Note: This article was written before boolean arttributes were allowed - especially when writing XHTML.

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?


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" />