讓radio box 或checkbox 好按

URL Link //n.sfs.tw/10257

2016-11-19 11:39:38 By 張○○

form元件中的radio box及checkbox 一直被人忽略,反正也很少用到。

radio box

checkbox

但是到了行動時代,設計師又多了一項挑戰:在行動裝置下,radio box及checkbox變得很難按得到。

為什麼呢?因為:
1. 這兩個元件本來就小,電腦上有滑鼠指標,怎樣說指標前面都尖尖的,除非身體有障礙,不然對準那個按下去不是啥困難事。到了行動裝置上只有粗粗肥肥的「甜不辣手指」該按的都按不到,如果遇到無良設計師把那個區塊設計的很小小小小小時,按到會摔機器。

2. 在電腦上有滑鼠事件"onmouseover", "onmouseout", "onmouseup", "dblclick"...,到了行動裝置上,這些事件都不見了,呃~~應該說,無法再觸發這些事件,所以該表現的效果無法表現。

3. 新的browser支援了許多touch event (無論是單點或是多點),原來單純的「按下彈起」的動作,在行動裝置的browser上可能會誤以為「壓住滑動」,好的你一定了我在說什麼,我不太會形容啦。反正就是觸控螢幕誤會我的行為這樣。

無論如何要解決「很難按」的問題,只需要一個簡單的標籤<label>

<input type="radio" value="1" name="demo" id="demoradio_1"  />
<label for="demoradio_1">這是radio 的文字,點選文字等同於點選radio box本身</label>

DEMO (請點選文字)

這是radio 的文字,未加label,所以點選文字沒任何改變

上例用簡單的 for 屬性,值設定為 radio 項目的id。這樣點選此 label包起來的文字時,就等於點選這個radio box。

這樣就解決行動裝置上的設計問題了

參考資料

[1] http://uxmovement.com/forms/ways-to-make-checkboxes-radio-buttons-easier-to-click/
[2] 網頁多點觸控設計 http://www.html5rocks.com/en/mobile/touch/


原文 2014-01-09 02:01:46