如何让屏幕阅读器开始读滚动后的网页内容

问题描述 投票:0回答:1

我在做一个访问的Web应用程序。其中一个功能是一个按钮,允许用户滚动到页面的某个部分。我使用window.scrollTo(X,Y)此功能。

现在,使用测试我的应用程序中内置的Mac VoicerOver,我发现,虽然我可以点击按钮,并没有问题滚动,在滚动后,VoiceOver会不读什么。相反,我必须点击鼠标一个,或使用键盘等价物,使其读取后滚动在屏幕上的内容。

恐怕有些用户可能没有意识到,他们需要再点击一下,点击按钮后。我有两个可能的解决方案:

  1. 当屏幕阅读器读取的按钮,它也告诉,如果他们想去的ID登录,他们需要点击按钮后,再次单击用户。我知道如何实现这一个,但它看起来冗长又哑。
  2. 更改我的代码,这样的VoiceOver将滚动后阅读的内容。我不知道如何实现这一点。

内容我想在屏幕阅读器来阅读包装在一个标签。

reactjs react-redux accessibility
1个回答
1
投票

如果只滚动页面,那么大多数屏幕阅读器的用户不会在意你滚动。有限或没有眼光,无论是屏幕滚动与否并不重要,因为屏幕不能被看到。

但是,如果你是滚动页面才能把某一元素进入视野,那么,将有利于屏幕阅读器的用户了。

这听起来像你正在试图做的后者:

允许用户滚动到页面的某个片段

在这种情况下,你还需要通过focus() JavaScript调用把键盘焦点元素上。移动焦点将导致VoiceOver会读的内容。但将焦点移动到一个本地不可聚焦元件(例如,<h2><section><p>),所述接收元件将需要tabindex="-1"

<h2 tabindex="-1" id="myh2">some heading</h2>

然后某处你有这样的javascript:

var element = document.getElementById("myh2");
element.focus();
© www.soinside.com 2019 - 2024. All rights reserved.