user-scalable=no 直接违反 wcag 2.1 1.4.4 条,禁用双指缩放、系统字体放大及 voiceover 可访问性,导致视障用户无法阅读内容或操作页面。

user-scalable=no 直接违反 WCAG 无障碍标准
WCAG 2.1 第 1.4.4 条明确要求:用户必须能将文本放大至 200%,且不丢失内容或功能。写 user-scalable=no 或 maximum-scale=1.0 后,iOS Safari 和 Chrome Android 会直接禁用双指缩放、长按放大、系统“更大字体”设置联动——这不是体验降级,是合规风险。
视力障碍用户根本打不开你的页面
很多视障用户依赖系统级缩放(如 iOS 的「显示与文字大小」设为最大),一旦 user-scalable=no 生效,页面文字会被强制压小,按钮无法点击,表单字段不可见。更糟的是,VoiceOver 等读屏器在缩放受限时可能跳过部分 DOM 节点,导致关键操作(如提交按钮、错误提示)完全不可达。
minimum-scale=1.0 + maximum-scale=1.0 也不能绕过可访问性问题
即使你不用 user-scalable=no,只写 minimum-scale=1.0, maximum-scale=1.0,iOS Safari 15.4+ 仍会阻止用户手动放大。实测中,这类配置会让「设置 > 辅助功能 > 显示与文字大小」的调节完全失效——用户调大字体后,页面反而因 viewport 锁死而出现横向滚动或文字裁切。
真机测试时容易漏掉的盲区
DevTools 模拟器看不出问题,因为无障碍缩放依赖系统级渲染路径:
- 用 iPhone 实测:打开「设置 > 辅助功能 > 显示与文字大小」,把字体调到最大,再访问页面
- 检查是否出现横向滚动条、文字被截断、按钮无法点击
- 用 VoiceOver 手势滑动,确认所有交互元素都被朗读且可聚焦
真正麻烦的不是代码写不写,而是写了之后,它在真实辅助场景里彻底失效——而且这种失效不会报错,只会静默拒绝用户。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











