[whatwg] LABEL and radio/checkbox onclick

Ian Hickson ian at hixie.ch
Sun Aug 22 04:51:11 PDT 2004

On Mon, 2 Aug 2004, Matthew Raymond wrote:
> >
> > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> > "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>foo</ title><style
> > type="text/css">label {font-family:  sans-serif}</style></head><body><p>Ice
> > cream for everybody!</p><form  action="bar"><label>Flavor:</label> <input
> > id="v" name="flavor"  type="radio" value="v"><label for="v">Vanilla</label>
> > <input id="s"  name="flavor" type="radio" value="s"><label
> > for="s">Strawberry</label>  <input type="submit"
> > value="Order"></form></body></html>
>    From the specification:
>    "The LABEL element is used to specify labels for controls that do
> not have implicit labels"
>    ...AND...
>    "Each LABEL element is associated with exactly one form control."

Neither of those is a conformance requirement, and thus neither can be 
used to argue that the document above is conformant or not. Both are 
either statements of intent or general truisms. The first seems to be a 
statement of intent ("this is what we wanted it to do"). The second seems 
like it was supposed to be a truism. It raises a question, though, which 
is "how do you determine which form control is associated with the 
"Flavor:" label above?".

>    I'm not sure what you mean by the terms "valid" and "conformant".

"Valid" means "syntacticaly correct according to the DTD", which is a 
subset of "conformant".

"Conformant" means "conforming to the spec's conformance requirements".

>    On the other hand, you can easily make <label> behave like it does in 
> most operating systems by simply using text instead of the <label> 
> element. Why try to eliminate a feature of HTML when the web authors are 
> fully capable of dealing with and problems by making trivial changes to 
> markup?

I really don't understand why you _want_ labels to do the wrong thing.

Using text instead of <label> elements is semantically poor (at best) or 
even plain wrong (at worst) and prevents static analysis user agents like 
robots and screen readers from giving their users an optimal experience. 
(That's another way of saying "it breaks accessibility".)

That clicking a label element transfers focus is not a feature of HTML, 
it's a misfeature and almost certainly another example of vague and 
misleading comments in the spec, rather than actual intent from the 
authors of the HTML spec.

One of the best things about strongly semantic markup like HTML's is that 
it can automatically adapt to the environment, rendering appropriately 
whatever the operating system or platform. On some platforms, buttons can 
take focus; on others, they can't. On some platforms, labels can be 
activated and cause focus to be transfered (or even more, e.g. a checkbox 
to get checked); on others, they can't. Some platforms have labels that 
apply to some elements; others, other elements.

The beauty of HTML and semantic markup is that the _same_ source document 
can result in correct, platform-convention-following interfaces whatever 
the actual platform is, without the author having to even know the 
platform exists, let alone what conventions it has.

Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

More information about the whatwg mailing list