A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.
To request an account, ask an autoconfirmed user on Chat (such as one of these permanent autoconfirmed members).
Text input keyboard mode control: Difference between revisions
No edit summary |
(add geck proposal) |
||
Line 46: | Line 46: | ||
[[Category:Proposals]] | [[Category:Proposals]] | ||
== Proposed API == | |||
=== Gecko === | |||
* 'numeric': 0-9, +, -, comma, dot;<br> | |||
Use case: to have a vkb similar to <input type='number'> without the UI and other stuff that come with <input type='number'>. That could be used for other stuff than numbers for example. | |||
* 'digit': 0-9 only;<br> | |||
Use case: to write digits without being numbers like social security number or credit card number. | |||
* 'uppercase': A-Z only;<br> | |||
Use case: obvious, could even be used on desktop. | |||
* 'lowercase': a-z only;<br> | |||
Use case: obvious, could even be used on desktop. | |||
* 'titlecase': uppercase character for each new word;<br> | |||
Use case: obvious, could even be used on desktop. | |||
* 'autocapitalized': first letter is uppercased;<br> | |||
Use case: obvious, could even be used on desktop. Also, that would be a parity feature for iOS autocapitalized attribute. | |||
Except 'number' it's not obvious that we should have input modes similar to input types (like email, tel, url). Actually, we could even discuss the use case of 'number'.<br> | |||
This is intended to be a small set of quite obvious input modes. Some other might be useful. |
Revision as of 22:21, 18 July 2012
See also http://www.w3.org/Bugs/Public/show_bug.cgi?id=12885 and http://www.w3.org/Bugs/Public/show_bug.cgi?id=12409 and yet another CSS proposal — 'input-mode'. Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=746142
Existing kinds of keyboards
English
iOS
- Telephone number input
- Numeric input
- E-mail address input
- Text input
<img src="http://img.skitch.com/20091107-eu5sgymf9wp6ibdu72hqawthci.jpg"> <img src="http://img.skitch.com/20091107-m9y8cnuiwe7sh34dtm5u1mcrt2.jpg"> <img src="http://img.skitch.com/20091107-jqccu6wsgks8t3w4x3k22f4apr.jpg"> <img src="http://img.skitch.com/20091107-r3p2ejjwb861pwetp1tkq2ccjr.jpg">
(Images hotlinked from this StackOverflow post: http://stackoverflow.com/questions/773843/iphone-uiwebview-how-to-force-a-numeric-keyboard-is-it-possible )
Android
- Text input with leading capitalisation
- Username / password input? (no capitalisation)
- Text input without capitalisation in a search context (search submission button)
- Numeric input (big 0-9 keys, +, -)
- Telephone number input (big 0-9 keys, *, #)
- URL input (keys for /, "www.", ".com")
- Email input (keys for @, '-', ".com")
<img src="https://lh5.googleusercontent.com/-tlhqZnBenFU/UAXmYIbPbfI/AAAAAAAASsQ/OkUKYDIINFc/s512/Screenshot_2012-07-17-15-21-21.png"> <img src="https://lh4.googleusercontent.com/-6ysWEJvC0SM/UAXmXh00VXI/AAAAAAAASsE/5ck8u77pokE/s512/Screenshot_2012-07-17-15-22-26.png"> <img src="https://lh4.googleusercontent.com/-Kfw79CKG9Hk/UAXmbQW1r9I/AAAAAAAASsw/Nmqgxy4baNo/s512/Screenshot_2012-07-17-15-11-32.png"> <img src="https://lh4.googleusercontent.com/-e7wbvjJxupI/UAXmaipMmTI/AAAAAAAASso/TkJt6aF2j8w/s512/Screenshot_2012-07-17-15-13-44.png"> <img src="https://lh3.googleusercontent.com/-Dta3wPbGuos/UAXmZ3b60yI/AAAAAAAASsg/DMIlzBtRPUI/s512/Screenshot_2012-07-17-15-15-01.png"> <img src="https://lh6.googleusercontent.com/--tbavGIBX30/UAXmZMrQFTI/AAAAAAAASsY/LPuXhDp-VG0/s512/Screenshot_2012-07-17-15-16-47.png"> <img src="https://lh6.googleusercontent.com/--lhwXP8Qt5s/UAXmXK0oUVI/AAAAAAAASsA/ozve-EtDonE/s512/Screenshot_2012-07-17-15-23-40.png">
Existing APIs
XForms
XForms uses a model of modifiers ("startUpper", "predictOff", "digits", etc) and script block names ("simplifiedHanzi", "tagalog", "canadianAboriginal", etc).
Example: http://www.w3.org/TR/xforms/#mode-examples
Proposed API
Gecko
- 'numeric': 0-9, +, -, comma, dot;
Use case: to have a vkb similar to <input type='number'> without the UI and other stuff that come with <input type='number'>. That could be used for other stuff than numbers for example.
- 'digit': 0-9 only;
Use case: to write digits without being numbers like social security number or credit card number.
- 'uppercase': A-Z only;
Use case: obvious, could even be used on desktop.
- 'lowercase': a-z only;
Use case: obvious, could even be used on desktop.
- 'titlecase': uppercase character for each new word;
Use case: obvious, could even be used on desktop.
- 'autocapitalized': first letter is uppercased;
Use case: obvious, could even be used on desktop. Also, that would be a parity feature for iOS autocapitalized attribute.
Except 'number' it's not obvious that we should have input modes similar to input types (like email, tel, url). Actually, we could even discuss the use case of 'number'.
This is intended to be a small set of quite obvious input modes. Some other might be useful.