在簡(jiǎn)書群里看到官方新上線了《小細(xì)節(jié) 好產(chǎn)品》專題,想到不久前遇到的一個(gè)功能細(xì)節(jié),也許值得記錄一下。
之前給一個(gè)界面增加縮放功能。在考慮快捷鍵的設(shè)定時(shí),我想當(dāng)然地以為這是一個(gè)約定俗成的通用規(guī)范、沒多想便寫了如下需求:
- 放大一級(jí):Ctrl 和 +
- 縮小一級(jí):Ctrl 和 -
是不是沒毛???人家都是這么做的,比如 Chrome,看看它的快捷鍵列表:

然而,開發(fā)小哥實(shí)現(xiàn)之后,測(cè)試同學(xué)反應(yīng)「放大」的快捷鍵并沒有效果。開發(fā)小哥解釋到「你按的是 = 不是 + 」。
我在一旁聽到他們的對(duì)話后,終于意識(shí)到了這個(gè)之前被我完全忽略的問題:
-旁邊的并不是+,而是=,真正的+是小鍵盤上的那個(gè)按鍵。

好吧,這個(gè)鍋算我的,需求里確實(shí)寫的是 + ,嚴(yán)格按照需求而言,開發(fā)實(shí)現(xiàn)得并沒有錯(cuò)。那么,改需求唄,但這次不能隨便寫了,得好好思考一下。
「放大」的方式
對(duì)于「+」這個(gè)符號(hào),用戶映射到物理鍵盤上,可能存在多種不同的理解;
相應(yīng)的,用戶企圖按下「Ctrl 和 +」這個(gè)「放大」的快捷鍵組合時(shí),實(shí)際上也會(huì)存在多種不同的操作方式。
-
+
- 確切的說,是小鍵盤上的
+,這個(gè)按鍵不會(huì)存在二義性,只要用過小鍵盤就知道這個(gè)按鍵表示的是「+」 - 如果用戶的習(xí)慣就是操作小鍵盤,那「Ctrl 和 +」實(shí)際的按鍵組合就是:
Ctrl和+
-
=
- 雖然這個(gè)按鍵默認(rèn)表示的是「=」,但它同時(shí)也刻有「+」
- 當(dāng)用戶的目標(biāo)是「縮放」時(shí),由于「 + 與 - 」在認(rèn)知常識(shí)中具有強(qiáng)關(guān)聯(lián)性,很容易就會(huì)把「-」旁邊的按鍵當(dāng)成是「+」、下意識(shí)地忽略了「=」的存在
- 在這個(gè)情況下,「Ctrl 和 +」實(shí)際的按鍵組合是:
Ctrl和=
-
Shift+=
- 稍稍學(xué)過打字的都知道,如果想打出「+」這個(gè)符號(hào),可以按
Shift+= - 當(dāng)一個(gè)剛知道 Shift 用法的初學(xué)者用戶,又是第一次看到「Ctrl 和 +」這一快捷鍵的介紹時(shí)
- 正因?yàn)槭浅鯇W(xué)者、沒有先驗(yàn)知識(shí),有更大概率會(huì)相對(duì)仔細(xì)地看鍵盤上的按鍵
- 從而意識(shí)到
-旁邊是=、而不是+
- 此時(shí)如果繼續(xù)沿用 Shift 邏輯、用
Shift和=來(lái)表示「+」,最終按下的實(shí)際的按鍵組合就成了:CtrlShift+=
簡(jiǎn)單整理
基于以上 3 種對(duì)于「+」的不同理解,當(dāng)我們?cè)谠O(shè)定「放大」的快捷鍵為「Ctrl 和 +」時(shí),可能存在的用戶實(shí)際操作行為有:
Ctrl和+Ctrl和=CtrlShift和+
驗(yàn)證「放大」
基于上述思考結(jié)論,我在各種主流瀏覽器和一些個(gè)人常用的、且支持縮放功能的軟件上都測(cè)試了一翻。果然,絕大部分對(duì)這 3 種按鍵組合都支持,不過也有部分并沒有支持全,詳見下表:
| 軟件名稱 |
Ctrl 和 =
|
Ctrl 和 +
|
Ctrl Shift 和 +
|
|---|---|---|---|
| Chrome | ?? | ?? | ?? |
| Firefox | ?? | ?? | ?? |
| Safari | ?? | ?? | ?? |
| Edge | ?? | ?? | ?? |
| IE | ?? | ?? | ?? |
| 360瀏覽器 | ?? | ?? | ?? |
| 搜狗瀏覽器 | ?? | ?? | ? |
| QQ瀏覽器 | ?? | ?? | ? |
| XMind | ?? | ?? | ?? |
| Sublime | ?? | ?? | ?? |
| Sketch | ?? | ?? | ?? |
| Principle | ?? | ?? | ?? |
| OmniGraffle | ?? | ? | ? |
| 微信 | ?? | ? | ?? |
(為了便于閱讀,統(tǒng)一使用的是 Windows 標(biāo)準(zhǔn)的按鍵,對(duì)于 MacOS 的軟件,還請(qǐng)各位看官自行翻譯)
對(duì)了,還有「縮小」
前面一直在介紹「放大」,與之相對(duì)的「縮小」快捷鍵「Ctrl 和 -」也需一并完善:
- 首先得補(bǔ)上包含 Shift 的情況
- 一方面是與「放大」對(duì)稱
- 另一方面,下劃線
_與減號(hào)-,在物理鍵盤上都是一條橫線、只是長(zhǎng)短差異,因此也存在把_當(dāng)成-的可能性
- 其次,小鍵盤上的
-、以及=左側(cè)的-,雖然都是「減號(hào)」,但這兩個(gè)按鍵在程序?qū)崿F(xiàn)上對(duì)應(yīng)的也是不同的 ASCII 碼、程序需要分別支持。
最終的「縮放」快捷鍵
所以,縮放功能更準(zhǔn)確的完整快捷鍵是:
放大一級(jí):
Ctrl和=Ctrl和+(小鍵盤)CtrlShift和+縮小一級(jí):
Ctrl和-Ctrl和-(小鍵盤)CtrlShift和-
最后
最后當(dāng)然是把上述結(jié)論補(bǔ)充到需求中啦...
本文涉及到各種符號(hào),總擔(dān)心格式上顯得凌亂,特此說明一下:
- 所有用「+」這類引號(hào)格式的,表示理解認(rèn)知中的符號(hào)
- 所有用
+這類代碼格式的,表示鍵盤上確切的物理按鍵


