如何确定屏幕阅读器读取HTML元素的顺序



是否可以确定屏幕阅读器(如TalkBack或VoiceOver)读取的HTML元素的顺序,而不管它们在DOM中的位置如何?我想知道是否有一个id、一个像"voiceindex"(类似于tabindex)这样的HTML属性或另一个控制序列的选项。相应的网页作为webview嵌入到应用程序中。因此,我无法访问本机Android或iOS代码。

不,没有任何属性或类似您所描述的东西来控制网页的阅读顺序。像这样的东西存在于PDF中,它一团糟;当然,这是一个非常糟糕的想法,使PDF的可访问性变得相当复杂。

网页的读取顺序与元素在DOM中的显示顺序相同,无论您的CSS如何,都是如此。与手动指定订单相比,这是一个很大的优势:它很简单,你只需要适当地使用结构元素来构建你的网页;然后,为了验证它对屏幕阅读器用户是否有意义,只需从上到下阅读HTML代码,完全忘记视觉放置。这种后来的练习被广泛称为线性化;这就是屏幕阅读器的基本功能以及屏幕阅读器用户如何感知网页

如果这个练习还不够好,想象一下你已经把你的页面录制在了一张音频CD上。你可以一个接一个地听每个标题,或者直接跳到一首歌的开头,但不容易直接跳到歌曲的中间。跳到曲目的开头是跳到屏幕阅读器的下一个标题或下一部分的隐喻。屏幕阅读器也可以从曲目列表中选择曲目,因为大多数阅读器都提供了要跳转到的章节或标题列表。

希望这张图片能帮助你为屏幕阅读器用户构建好你的页面,以及为什么你应该仔细考虑它。事实上,当你发布问题时,这无疑是你的根本问题。

最新更新