[whatwg] Re: Web Forms 2: Altenative to <select editable>
Jonny Axelsson
jax at opera.com
Thu Jun 24 02:06:51 PDT 2004
On Wed, 23 Jun 2004 17:50:15 +0100, Malcolm Rowe
<malcolm-what at farside.org.uk> wrote:
> Just for the record, what I eventually ended up suggesting was something
> you didn't mention. It worked out to something like this: <input
> type="email" name="test" data="...">
> <option>foo</option>
> <option>bar</option>
> </input>
Ideally we would want something that is an combo box for WF2 browsers,
functionally a combo box for JS-capable browsers, and a text input box for
the rest. At Hiveminds [1] I saw an intriguing solution using an 'input'
plus an 'ul' unordered list for the options. Without JS you got an 'input'
box, with JS you should get something that behaves much like a combo box.
If you haven't got either JS or CSS you would see a spurious 'ul' list of
options, which would be annoying but not destructive. It wouldn't be
forward compatible to the WF2 draft as it uses 'input', not 'select'.
Adding options to 'input' is not such an outrageous idea. To take a detour
to VoiceXML (a speech markup language) [2]. VoiceXML has 'field' elements
that are analogous to 'input', or maybe rather 'select', with behaviours
attached to it. Since voice has to contend with natural language, it uses
grammars that be anything from a list of options to something like
"$action $object" to extensive DWIM style grammars. You would like to
reuse grammars, but sometimes they are missing options that you would want
to use.
Say you have a grammar of known fruits with relative URL <fruits.grammar>,
but that grammar doesn't have "slime mold" among its options. All you need
to do is add it into the 'field' itself:
<field name="example">
<grammar src="fruits.grammar"/>
<option>Slime mold</option>
<prompt>What is your favourite fruit?</prompt>
<nomatch>That's not a fruit!</nomatch>
</field>
Equivalently, we could have additive options in 'input',
<input type="email" name="private.mail.address">
<option>None of your business</option>
</input>
This 'input' would either return a valid email address or the string "None
of your business". Of course the server would have to handle the latter
case as well as email addresses, but if it couldn't the author shouldn't
had added the 'option' in the first place.
[1] <http://hiveminds.info/phpBB/viewtopic.php?p=36242#36242>
[2] <http://www.w3.org/TR/voicexml20/>
--
Jonny Axelsson,
Web standards,
Opera Software
More information about the whatwg
mailing list