以下是 Adam Silver 关于他创建尽可能无障碍的自动完成字段的旅程的精彩深度文章。 需要考虑很多边缘情况! 有旧浏览器及其独特的怪癖,有屏幕阅读器的无障碍最佳实践,更不用说在没有 JavaScript 等情况下处理组件设计了。
Adam 在开始之前发出警告
[…] 我一直在寻找让用户输入目的地国家/地区的方法。 不幸的是,本机 HTML 表单控件对于此类交互来说不够好。 因此,我们需要从头开始构建自定义自动完成控件。 不过,需要提醒您:这是我做过的最难的 UI 组件之一——它们看起来比实际难得多。
我刚买了 Adam 的书,《表单设计模式》,这篇文章让我更加期待阅读它。