See if this is in the HTML 4.01 spec. It's stoopid:
A checkbox with an attribute checked=false, will actually get checked by the browser. This means that the attribute does not map well to the property, as the property only checks if the attribute is present, not what its value is.
Go ahead. Try this:
<input type="checkbox" checked="false" />