- From: Jukka K. Korpela <jkorpela@cs.tut.fi>
- Date: Thu, 24 Apr 2008 08:58:51 +0300
- To: <www-html@w3.org>
Frank Ellermann wrote:
> Jukka K. Korpela wrote:
>
>> a small monstrosity, requiring pointless invention
>> and use of identifiers.
>
> IIRC it doesn't work as expected for legacy browsers.
That depends on your expectations and your value for "legacy". The use
of id="..." attributes and <label> elements does not affect the basic
functionality of a form, and it is currently the most effective way of
specifying, in markup, the association between fields and their labels,
but such association is not need for the basic functionality. Rather, it
is something that accessibility enhancements and possibly automated
processing of forms could build upon.
>> The logical structure would be to put the input field
>> and its label inside a container, roughly as you can say
>> <label><input type="radio" name="x" value="1">option1</label>
>> at present, but the element namel "label" is quite
>> illogical. (E.g. "field" would be better.)
>
> Related radio buttons in a <fieldset> work, example:
That's a different issue. The <fieldset> element is supposed to group
fields, not to specify the association inside a field, i.e. the
association of a label and an input element.
> <fieldset><legend><!-- intentionally void --></legend>
Making <legend> required was a bad decision, and it results in nonsense
like the above as well as rendering problems (browsers may differ in
their rendering of empty <legend> elements).
> <label title="world wide web">
> <input type="radio" name="meta"
> value="lr=lang_en|lang_de" checked="checked" />
> <small> WWW </small>  
> </label>
Here the association is based on nesting, which is itself logical, as I
wrote, but the element name is misleading. Here the <label> element
contains the label _and_ the <input> element. Making it <field> would
have been more appropriate.
On the pragmatic side, _this_ method of association does not work on all
currently used browsers as widely as the id="..." and for="..."
mechanism does.
> That worked with Lynx and a Netscape 2.02 "mozilla 3", the
> titles had of course no effect,
The title attribute is defined as an advisory title, so it could of
course be displayed or otherwise presented. Browsers don't currently do
that (but users could set up user style sheets for the purpose), but
graphic browsers generally display the title attribute value on
mouseover.
> and the <legend> needed to
> be empty, otherwise Lynx would try to do something "smart".
Huh? I don't see any problem with nonempty <legend> on Lynx. It presents
the content of <legend> in a heading-like manner. That's how it's
supposed to be presented, right?
Jukka K. Korpela ("Yucca")
http://www.cs.tut.fi/~jkorpela/
Received on Thursday, 24 April 2008 05:59:33 UTC