2024-11-12 · CSS

只用 CSS 做出无障碍的提示框

鼠标悬停、键盘聚焦与触摸都能正常工作,一行 JavaScript 都不需要。

前言

提示框(Tooltip)比想象中难做:悬停延迟、键盘聚焦和小屏幕都会让最朴素的实现翻车。本文逐一处理这些边界情况,并说明何时改用 popover 属性更合适。

核心心智模型

  • 从最小可运行的版本开始,并让它可观测。
  • 把你正在承担的取舍写下来,而不只是写下交付了什么功能。
  • 团队规模变化时重新审视决策;CSS 里的多数选择都有保质期。

动手起点

  1. 在实验分支重现问题,放在你信得过的度量指标旁边。
  2. 一次只改变一个变量,让 diff 小到能用一句话解释清楚。
  3. 保留成果,丢掉脚手架。
Terminal window
git switch -c experiment/one-thing

写在最后

这里没有教条。把它当作一份你有权不同意的检查清单——最好附上你自己的实验结论。