HTML Checking for Large Sites
Rocket Validator automatically checks your pages on the W3C Validator.
The first child “option” element of a “select” element with a “required” attribute, and without a “multiple” attribute, and without a “size” attribute whose value is greater than “1”, must have either an empty “value” attribute, or must have no text content. Consider either adding a placeholder option label, or adding a “size” attribute with a value equal to the number of “option” elements.
<select>
elements that are required
and are not multiple
need a placeholder option that has no value
, for example:
<select required>
<option value="">choose size</option>
<option value="s">small</option>
<option value="l">large</option>
</select>
Related W3C validator issues
When nesting a select
element inside a label
that has a for
attribute, the id
attribute of the select
is required to match it.
The label
element represents a caption in a user interface. The caption can be associated with a specific form control, known as the label element’s labeled control, either using the for
attribute, or by putting the form control inside the label
element itself.
When the select is inside the label
, there’s no need to specify a for
attribute as there can only be one select
, as in this example:
<label>
Age
<select>
<option>young</option>
<option>old</option>
</select>
</label>
However, if the for
attribute is specified, then it must match the id
of the select
like this:
<label for="age">
Age
<select id="age">
<option>young</option>
<option>old</option>
</select>
</label>
Learn more:
HTML Living Standard: the label element HTML Living Standard: the select element
Drop-down lists can be defined in HTML by using the <select>
tag, containing the different <option>
s. Each <option>
must have a name, which can be either contained between <option>
and </option>
, or alternatively using the label
attribute.
Example:
<select name="size">
<option value="s">small</option>
<option value="m" label="medium"></option>
</select>
The <option>
element no longer accepts a name
attribute, which is now obsolete.
Example:
<select id="pet-select">
<option value="">--Please choose an option--</option>
<option value="dog">Dog</option>
<option value="cat">Cat</option>
<option value="hamster">Hamster</option>
</select>
Learn more:
25,000 HTML checks per month. Is that enough for your site?
Save time using our automated web checker. Let our crawler check your web pages on the W3C Validator.