[whatwg] Select elements and radio button/checkbox groups [Was: Form Control Group Labels]

Markus Ernst derernst at gmx.ch
Thu Dec 4 03:45:17 PST 2008

Eduard Pascual schrieb am 29.10.2008 18:37:
> On Wed, Oct 29, 2008 at 9:49 AM, Markus Ernst <derernst at gmx.ch> wrote:
>> Consider a form with some quite big radio button groups, and now you have do
>> add some more options. After you are done, your boss says: "Ok, great
>> work... but this looks too ugly now, just change it into those dropdown kind
>> of things."
> Honestly, this seems like a presentational issue to me. Isn't CSS3's
> Basic UI module (http://www.w3.org/TR/css3-ui/) enough to handle that?
> Correct me if I'm wrong, but it seems that the properties there would
> allow you to present a radiobutton group as a dropdown menu, and
> vice-versa.

This CSS3 module is indeed an interesting approach, anyway I don't see 
in this spec how possible conflicts between the form structure and it's 
presentation can be avoided or handled. Start with:

<select name="gender">
   <option value="f">Female</option>
   <option value="m">Male</option>

Now you can easily change the presentation into a radio button group, 
which is fine:

<select name="gender" style="appearance:radio-group">

But then an author does this:

<select name="gender" style="appearance:checkbox-group">

Now there is a conflict, as the form structure allows only a single 
selection, while the presentation allows a multiple one. This does not 
only affect the rendering of the element and the reaction to user 
actions, but is even likely to break the handling of the submitted 
value, as server-side handlers often expect either a single value or an 
array of values and are not configured to cope with both of them.

Now consider some elements written by an even more stupid author:

<select name="gender" style="appearance:password">

<input name="field10" type="text" style="appearance:radio-group">

<fieldset style="appearance:field">
   [some checkboxes...]


More information about the whatwg mailing list