iphone - 将 VoiceOver 推进到移动 Safari 中的指定元素

标签 iphone mobile-safari accessibility voiceover

我无法弄清楚如何将 VoiceOver 推进到 Mobile Safari 中的特定元素。

到目前为止,我已经尝试过:

<a href="#target">Skip</a>
...
<a name="target"></a>

如果页面可滚动,但在长页面和短页面上不一致,这将(有时)前进到目标,有时会导致无法读取以下元素!

我也尝试过:

<a href="javascript:someElement.focus()">Skip</a>

不幸的是,这似乎不适用于非输入字段。

更高级的是,我尝试将链接放置在我想跳过的元素之前,并尝试将该元素设置为 aria-hidden="true"但由于某种原因,这不适用于 <header>元素。

有效的一件事实际上是在跳过链接之前物理移动我想要跳过的元素,例如:

<a id="skip" href="javascript:$('header').insertBefore($('#skip'));">Skip</a>

不幸的是,这仍然不会自动前进到下一个元素,并且当您离开时不会触发模糊事件,因此我没有一个好的机制来在用户前进光标后将链接恢复到其原始位置。

看起来这应该是一件容易做的事情,但我已经没有主意了。有没有对大家都有效的解决方案?

最佳答案

这适用于我的 iPhone(移动键盘焦点并使画外音说出内容):

<button onclick="document.getElementById('last').focus();">Move focus to bottom heading</button>

<div tabindex="-1" id="last">
<h2>dzoooong</h2>
<p>Heaps of new content</p>
<p>blablalbalblablabl</p>
</div>

它不适用于所有元素,例如无法将焦点直接移动到 h2。

关于iphone - 将 VoiceOver 推进到移动 Safari 中的指定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9250847/

相关文章:

iphone - 从 NSMutableData 中提取数据

iphone - 访问未知的setter方法

iphone - 在 iPhone 5 上选择后置麦克风

html - iOS 6.1.3 中 HTML 中的 WebApp 上传错误的假路径

ios - Swift Charts - 明确识别特定条目

使用 Firebase 托管部署的 Flutter Web 不尊重 Safari 中的刷新

html - iOS 网络应用程序中的 Facebook/Google+/Twitter 共享功能

iphone - 辅助功能:适用于 iPhone/iOS 的辅助应用程序

iphone - 如何使我的 iOS/Android 应用程序符合美国康复法案第 508 条的规定?

html - 关于 alt 标签的非常乏味的可访问性问题