2021年使用<input type="date" />是否会造成不良用户体验?
2021年使用
<input type="date" />的体验评估 先说核心结论:绝大多数场景下不会带来糟糕体验,甚至比自定义日期组件体验更好,具体可以结合你的业务适配要求判断:
主流环境兼容性已经完全达标
2021年全球市占率超过95%的浏览器环境都已经原生支持该标签:桌面端Chrome、Edge、Firefox全稳定版本均适配,Safari从14.1版本开始完善了原生日期选择器的交互;移动端安卓各品牌内置浏览器、iOS Safari 13+版本都做了系统级适配,早年间大家吐槽的样式错乱、交互失效问题仅会出现在占比极低的老旧设备上。原生控件的体验优势反而更明显
原生日期选择器不需要额外加载JS、CSS资源,首屏加载速度远快于第三方日期组件,而且自带和用户系统一致的交互逻辑:比如移动端的滚轮日期选择、桌面端的键盘导航、无障碍读屏支持,都是大部分自定义组件很难做到完美适配的,普通日期选择场景下用原生控件的用户接受度更高。两类特殊场景不建议直接使用
- 如果你需要兼容IE11、iOS 12及以下这类老旧设备,原生标签会直接降级为普通文本输入框,用户需要手动输入日期,体验确实很差,这种情况可以加一层兼容判断:检测到浏览器不支持原生日期控件时,自动降级加载自定义日期组件即可,不需要完全放弃原生标签。
- 如果你有强定制化需求:比如要选择日期范围、标记不可选的特殊日期、自定义日历的展示样式,原生控件的可配置性非常有限,硬改样式反而容易出现不同浏览器的兼容问题,这种场景更适合用自定义组件。
如果你没有上面两类特殊需求,完全可以放心用
<input type="date" />,没必要为了极个别老旧场景牺牲绝大多数用户的体验。
内容的提问来源于stack exchange,提问作者Texad95
相关产品推荐
相关产品推荐

