2024-11-12 · CSS
只用 CSS 做出無障礙的提示框
滑鼠懸停、鍵盤聚焦與觸控都能正常運作,一行 JavaScript 都不需要。
前言
提示框(Tooltip)比想像中難做:懸停延遲、鍵盤聚焦與小螢幕都會讓土法煉鋼的版本出包。本文一一處理這些邊界情況,並說明何時改用 popover 屬性更合適。
核心智模型
- 從最小、能運作的版本開始,並讓它可觀測。
- 把你正在承擔的取捨寫下來,而不只是寫下你交付了什麼功能。
- 團隊規模改變時重新檢視決策;CSS 的多數選擇都有保存期限。
實作起點
- 在實驗分支重現情境,並放在你信任的量測指標旁邊。
- 一次只改變一個變數,讓 diff 小到能用一句話解釋清楚。
- 保留成果、丟掉腳手架。
git switch -c experiment/one-thing結語
這裡沒有教條。把它當成一份你有權不同意的檢查清單——最好附上你自己的實驗結果。