About
A number of attributes are boolean attributes 1).
- The presence of a boolean attribute on an element represents the true value,
- The absence of the attribute represents the false value.
Syntax
The values true and false are not allowed on boolean attributes. To represent a false value, the attribute has to be omitted altogether.
Example with the defer attribute
- For true
<script defer/>
- For false
<script/>
If you use a XML library and that you try to enforce xhtml, you may get an error saying that a value is mandatory
Setting the value to true does not follow the HTML specification but XML one
<!-- not html compliant, only xhtml/xml compliant -->
<script defer="true"/>
You need to set the doctype accordingly
Example
Here is an example of a checkbox that is checked and disabled. The checked and disabled attributes are the boolean attributes.
<label><input type=checkbox checked name=cheese disabled> Cheese</label>
This could be equivalently written as this:
<label><input type=checkbox checked=checked name=cheese disabled=disabled> Cheese</label>
You can also mix styles; the following is still equivalent
<label><input type='checkbox' checked name=cheese disabled=""> Cheese</label>