在iOS 11.3 Safari上是否有一种防止缩放缩放的非黑客方法?

时间:2018-03-31 16:14:57

标签: ios web accessibility

确实想要禁用缩放以放大我的网页(iframe)并使用手指捏合事件进行其他自定义互动。因此,虽然Safari的documentation表示它支持以下条款:

<meta name="viewport" content="width=device-width, user-scalable=no" />

......在实践中,Safari并不尊重它。

防止视口缩放的能力通常对于网络游戏体验以及围绕按钮,输入框和幻灯片输入/输出类型的界面,甚至视频的更紧密的用户体验非常重要,同时它仍然是低视力的良好默认值读者。 iOS Safari上还有一个精简的reader模式,可以提供具有所需辅助功能的整洁阅读。

恕我直言,在每个网络用例上应用针对低视力读者的可访问性原则是严苛的。可以使用passive事件监听器来修复缩放缩放,但为了卫生,问题是:是否有一种非黑客的方法呢?

在W3C / WCAG团队的recent discussion中,澄清了(强调我的)可访问性指南仅指定...

  

不应该是规范中的作者一致性要求   自2016年以来arronei / html @ 877b59c。这是作者的一致性   仅限要求,不禁止使用但确实要求作者   认真考虑削减用户缩放的能力。什么   苹果在safari中所做的事情超出了这个问题的范围   不需要任何浏览器实现者。

随着iOS Safari的最新变化,Apple似乎已将可访问性指南倾向于CANNOT author conformance要求,而不是出于他们所知的原因。重要的是,在此处突出显示规范和实现之间的差异以供记录。

在与Apple iOS Safari团队讨论后,我们向webkit提交了一个针对此一致性问题的错误here

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

来自How do you disable viewport zooming on Mobile Safari?

尝试在head-tag中添加以下内容:

<meta name="viewport" content="width=device-width, initial-scale=1.0, 
minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">

此外

<meta name="HandheldFriendly" content="true">

最后,无论是作为样式属性还是在css文件中,为基于webkit的浏览器添加以下文本:

html {
    -webkit-text-size-adjust: none
}

答案 2 :(得分:1)

虽然没有一种非黑客方法可以阻止pinchzoom,但仍然存在适用于iOS 11.3 Safari的黑客攻击。至少现在(是。请参阅inobounce,它可以在一次扫描中处理橡皮筋行为和pinchzoom。