Ian Hickson schrieb:
[...]
I would recommend not using <label> and <fieldset> for rows 2 and 3.
As in:
Placeholder outputs of 2nd row:
{label}: What is favourite pet?
{input-html}:
<p><label><input type="radio" name="Pet" value="Cat">Cat</label></p>
<p><label><input type="radio" name="Pet" value="Dog">Dog</label></p>
<p><label><input type="radio" name="Pet" value="Ant">Ant</label></p>
Placeholder outputs of 3rd row:
{label}: When are you born?
{input-html}:
<label>Month:
<select name="Month">
<option value="01">January</option>
...
</select>
</label>
<label>Year: <input type="text" name="Year" size="4"></label>
Why isn't that satisfactory?
It is, if omitting <fieldset> does not do any harm, such as lower the
accessibility of the form. If this is the case, and I read paragraph
4.10.2 of the spec correctly, <fieldset> serves exactly 2 purposes:
- Adds possibility to group-disable it's descendants
- Can assign it's descendants to a form, when they are placed outside
the form element in the code
Is this correct? Then it might be nice to clarify this with a few words
in the spec, as "The fieldset element represents a set of form controls
optionally grouped under a common name" can be read as implying
structuring and thus accessibility matters.