因最近在做輸入法的重設(shè)碗殷,所以對(duì)輸入法(鍵盤)進(jìn)行了一些探究。
輸入法作為鍵盤的類型子集速缨,不同的廠牌會(huì)有不同的功能特性锌妻,但不論是何種輸入法,都會(huì)有一些基本的屬于鍵盤控件的設(shè)計(jì)準(zhǔn)則旬牲。
從控件的角度來看仿粹,鍵盤作為主要的輸入方式搁吓,很大程度的影響著用戶的寫作體驗(yàn)。若是鍵盤使用不當(dāng)吭历,則很有可能增加失誤率堕仔,進(jìn)而打擊用戶的積極性。輕則喪失寫作欲望晌区,重則放棄對(duì)某個(gè)應(yīng)用的注冊(cè)(不過注冊(cè)的步驟摩骨,往往是決定注冊(cè)流程體驗(yàn)的第一因素)。
從視覺到交互朗若,從功能實(shí)現(xiàn)到類型應(yīng)用都會(huì)影響輸入法(鍵盤)的體驗(yàn)恼五。這一節(jié),從原始的控件角度哭懈,分析鍵盤類型的選擇對(duì)體驗(yàn)的影響灾馒。
之前的一些前輩也分享對(duì)類似的經(jīng)驗(yàn)總結(jié):
崇書慶【交互稿中[鍵盤類型]的標(biāo)注】——
http://mp.weixin.qq.com/s/ii7iTwT7B-SmHkC_7bcUbQ
崇書慶【深度基礎(chǔ) | 交互中的Android鍵盤詳解】
https://mp.weixin.qq.com/s?__biz=MzAwODgyODg5OQ==&mid=2652156877&idx=1&sn=4eb1bcd94632e11b9e194665a80c1b51&mpshare=1&scene=1&srcid=0422kT5aw6oW7aw0QTbDM7ZH#rd
【Android有幾種不同的鍵盤布局?】
https://www.zhihu.com/question/39242957
筆者會(huì)結(jié)合前者的總結(jié)來寫遣总。大家可以結(jié)合來看睬罗。
iOS10中有13種鍵盤
Specifies the default keyboard
for the current input method.
(默認(rèn)鍵盤)
Specifies a keyboard
that displays standard ASCII characters.
(ASCII鍵盤)
Specifies the numbers
and punctuation keyboard.
(數(shù)字、標(biāo)點(diǎn)鍵盤)
Specifies a keyboard optimized for URL entry.
This keyboard type prominently features
the period (“.”) and slash (“/”) characters
and the “.com” string.
(URL鍵盤)
(特設(shè)“.”旭斥、“/”傅物、“.com”)
Specifies a numeric keypad designed for PIN entry.
This keyboard type prominently features
the numbers 0 through 9.
This keyboard type does not support auto-capitalization.
(PIN鍵盤)
(包含0-9數(shù)字,不支持自動(dòng)大寫)
Specifies a keypad designed for entering telephone numbers.
This keyboard type prominently features the numbers 0 through 9
and the “*” and “#” characters.
This keyboard type does not support auto-capitalization.
(電話數(shù)字鍵盤)
(包含0-9數(shù)字及 *琉预、# 鍵,不支持自動(dòng)大寫)
Specifies a keypad designed for
entering a person’s nameor phone number.
This keyboard type does not support auto-capitalization.
(聯(lián)系人鍵盤:用于輸入人名和電話)
(包含0-9數(shù)字及 *蒿褂、# 鍵圆米,不支持自動(dòng)大寫)
(與默認(rèn)鍵盤樣式一樣)
Specifies a keyboard optimized for
entering email addresses.
This keyboard type prominently features
the at (“@”), period (“.”) and space characters.
(郵件鍵盤)
(包含"@"、“.”啄栓、空格鍵)
Specifies a keyboard with numbers
and a decimal point.
(小數(shù)鍵盤)
(包含小數(shù)點(diǎn))
Specifies a keyboard optimized for
Twitter text entry,
with easy access to the at (“@”)
and hash (“#”) characters.
(Twitter鍵盤)
(包含@娄帖、#鍵)
Specifies a keyboard optimized for
web search terms and URL entry.
This keyboard type prominently features
the space and period (“.”) characters.
(網(wǎng)頁搜索鍵盤)
(包含空格鍵、“.”鍵)
Specifies a number pad that outputs
only ASCII digits.
(ASCII數(shù)字鍵盤)
13.UIKeyboardTypeAlphabet
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,
// Deprecated 已廢棄
除了有不同的類型昙楚,部分鍵盤還可以定制不同的“按鍵命令”
Android中的文本框有32種輸入類型(input type)近速,系統(tǒng)會(huì)根據(jù)這個(gè)輸入類型調(diào)取不同的鍵盤。
有人認(rèn)為堪旧,雖然輸入類型有32種削葱,但keyboard type卻遠(yuǎn)大于32種,因?yàn)椤?/p>
input type還可以互相搭配使用淳梦,比如 textEmailAddress 可以和 textNoSuggestions 搭配使用析砸,最終調(diào)出的鍵盤是“郵箱鍵盤”且“不進(jìn)行詞典聯(lián)想”。如果我們?cè)谠O(shè)計(jì)過程中遇到一些比較復(fù)雜的鍵盤交互爆袍,則最好根據(jù)input type來標(biāo)注所需要的鍵盤效果首繁,僅僅使用鍵盤截圖是不夠的作郭。
——崇書慶《深度基礎(chǔ) | 交互中的Android鍵盤詳解》
也有人提出,keyboard type并沒有32種
比如datetime弦疮、date夹攒、time可以用專門picker(選擇器)去做。textCapWords胁塞、textCapWords咏尝、textCapSentences大寫之類的對(duì)鍵盤布局沒有影響,只是鍵盤的狀態(tài)而已闲先。
——龍爪槐守望者 @知乎《Android有幾種不同的鍵盤布局状土?》
綜合兩者觀點(diǎn),筆者認(rèn)為Android的鍵盤可控性較大伺糠,明確所有input type屬性比數(shù)清鍵盤類型更有實(shí)際效益蒙谓,在此前提下,設(shè)計(jì)人員可以根據(jù)需求自行組合選擇鍵盤特性训桶。
(默認(rèn)鍵盤)
(文本)
(電子郵箱)
(URI)
(密碼)
(數(shù)字符號(hào))
(數(shù)字)
(小數(shù)點(diǎn)數(shù)字)
(電話號(hào)碼)
與IOS一樣累驮,Android的鍵盤也可以定制不同的“keyboard actions”
如果我們需要指定keyboard action為其中某一種,可以通過imeOptions語句指定舵揭,在交互稿上則使用文字標(biāo)注即可谤专。如果不指定類型,程序會(huì)判斷當(dāng)前文本框是否為頁面中的最后一項(xiàng)午绳,如果是置侍,則顯示“完成(done)”,如果不是拦焚,則顯示“下一項(xiàng)(next)”蜡坊。
關(guān)于“前往”和“完成”的區(qū)別,筆者比較傾向于@江凌的觀點(diǎn):
用“完成”還是“前往”取決于當(dāng)前文本框的任務(wù)時(shí)中介點(diǎn)還是終結(jié)點(diǎn)赎败。譬如輸入網(wǎng)址秕衙,用戶的任務(wù)是訪問網(wǎng)站,輸入網(wǎng)址是任務(wù)的中介而非終結(jié)僵刮,所以用前往据忘;對(duì)于個(gè)人信息修改,任務(wù)和操作文本框是一致的搞糕,完成文本框也是完成了任務(wù)本身勇吊,是任務(wù)的終結(jié)點(diǎn),所以用完成寞宫。
但是在H5環(huán)境中萧福,“按鍵命令”的類型大部分可以選擇,但“完成”和“下一項(xiàng)”不可以選擇辈赋。這意味著鲫忍,當(dāng)用戶填寫完一個(gè)輸入框想要跳轉(zhuǎn)下一個(gè)輸入框時(shí)膏燕,只能手動(dòng)點(diǎn)擊。如果用戶下意識(shí)地點(diǎn)擊“前往”按鈕悟民,則可能會(huì)出現(xiàn)表單警報(bào)坝辫。
文中若有紕漏,歡迎指正交流
wx:15652131424