Ian Hickson schrieb:
[...]
Why is that a problem? Is converting one to the other a common occurance?
I'm not really convinced it's that much work. Assuming that the radio
buttons and/or checkboxes are written in a consistent manner, which they
usually are, a simple regexp search-and-replace on the source is usually
enough to convert them.
[...]
A few seconds with Emacs or any other editor with real search-and-replace
tools and you're done.
[...]
Changing the few lines of code it takes to write a bunch of radio buttons
into the few lines of code it takes to write a <select> is easy.
[...]
I agree entirely that if one is designing the language from scratch it
makes sense to be consistent. I'm not sure it makes sense to retroactively
change the language to impose consistency on it.
Well, as far as I get the various discussions in the WHATWG list, many
of them are about one of the following:
- Making things easier
- Introducing features into HTML that are commonly solved by client-side
(e.g. the extensions to the input element) or server-side scripting
(e.g. solving the login/logout problem in HTML)
- Improving language consistency (e.g. the discussions about elements
such as abbr, dfn, small, b etc.)
So I don't think that your arguments do not necessarily make my thoughts
obsolete. Anyway I see the facts that WF2 is declared feature complete,
that backwards compatibility has a very high priority, and that making
form controls more consistent may not be crucial for WF2.
So let me, as a conclusion, repeat two points out of the suggestions I
made earlier, which I think would be quite helpful, and which do not
cause backwards compatibility problems, as they degrade to the default
behaviour of the elements in older UAs. After that I will not insist in
this topic anymore... :-)
1. Introduce a type attribute to the select element, which can change
the output into a list of radio buttons (in normal mode) resp.
checkboxes (in multiple mode).
2. Introduce a multiline attribute to input type="text", possibly
supplemented by a rows attribute.