首页 文章

是否可以检测iPhone上的网页中是否启用了VoiceOver?

提问于
浏览
7

我们目前正在使用touchmaplite JavaScript库测试在我们的移动网络应用上部署“滑动” Map (即,用手指在触摸屏设备上移动的 Map ) . 此 Map 在我们的网页中嵌入为iframe .

当我们在配备VoiceOver的iPhone上测试此设置时,我们发现VoiceOver在 Map 上“卡住”,并且不会读取它(或者确实滚过它) . 这对我们来说是一个很大的绊脚石,我们不希望在我们的网站上提供可访问性支持 .

是否可以将一个元素标记为被VoiceOver“忽略”,或者检测是否以任何其他方式启用VoiceOver(可能是JS),然后隐藏/删除iframe?

谢谢

1 回答

  • 2

    我知道在Windows中,已经讨论过如何检测是否正在使用屏幕阅读器 . 提到了一种可能(但不可靠)的方法,即在Flash中使用actionscript来查看是否正在使用WMicrosoft Active Accessibility层 . (http://www.paciellogroup.com/blog/?p=61)

    显然这没什么用,因为你的目标是用户,他们的设备上没有Flash支持,但我提到它只是让你知道其他平台做了什么 - 我对苹果并不太熟悉,所以不知道是否有类似于你可以使用的Flash .

    在您的情况下,您可以使用隐藏文本,包括链接,这些文本将由屏幕阅读器,而不是视力正常的用户选择,这将指向屏幕阅读器用户的备用页面;这个备用页面可以复制您现有的页面,只是没有嵌入的 Map .

    替代方案,只有一个隐藏的链接,配音\屏幕阅读器用户可以跳过 Map ,可能提醒他们VoiceOver被“卡住”的问题 .

    隐藏文本可以通过使用CSS来定位具有负边距的文本来实现,例如

    .hiddenText {
    position: absolute;
    margin-left: -3000px;
    }
    

    以这种方式使用文本意味着它对于有视力的用户是不可见的(除非他们禁用CSS),但仍然被屏幕阅读器读出 .

    这两种解决方案都不是你真正想要的,但我可能会给你一些想法 .

相关问题