Checked inputs and attribute minimization

Date: 18 June 2008
Author: Russ Weakley

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?

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.

http://www.w3.org/TR/xhtml1/#h-4.5

So, the correct way to write this code would be:

<input name="name" type="checkbox" checked="checked" />

Other examples include:

  • selected="selected"
  • compact="compact"
  • wrap="wrap"
  • nowrap="nowrap"

Comments so far

  1. Rainer says:

    disabled=”disabled”

  2. Stuart says:

    or even ‘compact=”compact”‘ – I know I’m feeling rather ‘complact’ this morning… :)

  3. Russ says:

    @Stuart: ahhhhhhh! thanks for picking that up :)