Say I have a set of radio s. I\'m not a caveman, so I know I need to associate
with those
s. I
By the specifications, you don’t need the for
attribute when the control element is wrapped inside a label
element. This principle also applies to all modern browsers, though some very old versions of IE supported only the explicit association with for
attributes.
People may still prefer to use the for
attribute on logical grounds: a control is logically not part of a label, so it should be placed outside it. And then you need the for
attribute in order to benefit from label
markup at all.
The for
attribute is necessarily when the control cannot be a descendant of a label
element, e.g. when you have labels in one column of a table
element, controls in another column.