如何通过网络浏览器检测 iPad 是否在辅助功能模式下运行



我想使用 JavaScript/PHP/HTML 检测 iPad 上的用户是否在辅助功能模式下运行。它必须在浏览器中检测到这一点。

如果它处于辅助功能模式,我想为 iPad 提供一个不同的 HTML 页面,为屏幕阅读器做好准备。这可能吗?

我自己对HTML5了解不多,但幸运的是,我刚刚浏览了PragPub在线杂志上的一篇文章,该文章讨论了HTML5的可访问性功能。也许那里有一些东西可能会帮助你。

简短的回答是:你没有,因为这是不可能的。没有[可靠的]方法来检测用户是否正在使用屏幕阅读器,无论是通过javascript还是通过用户代理标头。(您可以使用一些技巧来猜测Windows机器上是否存在屏幕阅读器,但我不知道iPad/iOS的任何对应物。

更长的答案是:你没有,因为你无法对用户的能力或残疾做出任何有意义的假设:相反,尝试提供一个已经尽可能可访问的页面,并在必要时,作为最后的手段,将指向后备内容的链接放在页面本身上。HTML5的辅助功能使页面既具有视觉吸引力,又具有交互性和屏幕阅读器友好性成为可能。

举例说明为什么

您无法做出假设,用户使用 VoiceOver 可能不是因为他们是盲人,而是因为他们想使用它来获取键盘导航。或者他们可能视力低下,所以需要屏幕阅读器的一些帮助,但仍然希望看到整体布局、图形、图表等。

就其价值而言,多年前为残障用户提供纯文本回退页面是很常见的。当屏幕阅读器根本无法处理CSS和Javascript时,这可能是有意义的,而在WAI-ARIA属性之前,根本不可能创建既交互式又可访问的页面。这种方法目前非常不受欢迎 - 请参阅WebAIM - Accessiblity In Mind上的这篇文章,了解这种方法的一些问题。虽然本文主要是关于纯文本方法的,但其中大部分可能适用于任何形式的页面"可访问性版本"。

最新更新