Web頁面 自訂選擇框Select_HTML/Xhtml_網頁製作

WBOY
發布: 2016-05-16 16:42:33
原創
2344 人瀏覽過

select下拉清單表單可能大家都很熟悉,不過預設的下拉清單表單往往會讓一些網站覺得醜陋,同時用CSS也很難調整select的樣式。因此許多網站位了做出更符合網站風格的select下拉表單,往往會用JS來模擬這種效果。

例如我們很熟悉的馬鈴薯網,淘寶商城和亞馬遜都是用JS做的下拉清單表單。

這樣做的結果很明顯在視覺上與網站整體風格統一,並且下拉列表樣式很漂亮,不過也帶來了一些不良反應,因為用JS來做的,所以會碰到許多預想不到的效果,以下透過測試者三個網站我們一一來分析他們各自的缺陷:

馬鈴薯的搜尋類別選擇框,每次點擊都讓我覺得怪怪的:
Web頁面 自訂選擇框Select_HTML/Xhtml_網頁製作

1. 點選後,彈出清單的位置與預期不同。潛意識裡是下拉列表,結果馬鈴薯給了我一個「中拉列表」。
2. 習慣性地用上/下鍵選擇,結果卻讓整個頁面滾動。
3. 一怒之下,想關閉不用了。按下 ESC 鍵,卻沒有任何回應。
4. 停用 JS 後,完全無法使用。

類似,淘寶商城也是看起來很美:
Web頁面 自訂選擇框Select_HTML/Xhtml_網頁製作

除了第 1 點,其它都和馬鈴薯一樣,可訪問性和可用性都存在問題。

解決方法很簡單,採用原生的選擇框即可,例如 Amazon 的:
Web頁面 自訂選擇框Select_HTML/Xhtml_網頁製作

為什麼不鼓勵在 Web 頁面中使用自訂選擇框?

Select 選擇框是一個非常成熟的互動控制項。成熟意味著用戶很容易接受,但成熟也意味著對各種用戶都考慮很周全,有著非常豐富的互動細節。例如:對 PgUp/PgDn, Home/End 等鍵盤操作的回應,以及在不同位置能自動調整下拉清單的彈出方向等等。

採用 JS 來模擬選擇框,需要大量的工作和細緻的測試。即使公司願意投入,也依舊無法實現原生控制的某些特性。例如:上面 Amazon 的選擇框,我把瀏覽器拉到很矮,這時下拉清單能伸出到瀏覽器外面去。

為了一丁點“視覺小甜點”,讓交互喪失瞭如此多的實用細節,還得耗費前端程式設計師的大量時間,結果卻費力不討好,實在是很糟糕。

PS:要使用自訂選擇框,得符合以下條件:

1. 像 google 一樣瘋狂,願意花費大量時間和資源。
2. 像 google 一樣細緻,要做就做好,要模擬就模擬透。
3. 在 web app 上應用。

可惜,在國內,像 google 或 facebook 一樣瘋狂細緻的公司,還沒出現。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板