屏幕阅读器的局限性

时间:2020-03-05 18:43:01  来源:igfitidea点击:

我是一名Web开发人员,我希望使使用屏幕阅读器的人可以更轻松地访问我开发的网站。屏幕阅读器我应该最了解哪些限制,以及如何避免遇到这些限制。

这个问题是通过阅读另一个有关基于非图像的验证码的问题而引发的。在那里,有评论者说,蜜罐表单字段(用CSS隐藏的表单字段,只有机器人可以填写)是个坏主意,因为屏幕阅读器仍会选择它们。

屏幕阅读器真的是如此原始,以至于他们会阅读甚至不显示在屏幕上的文本吗?理想情况下,我们不能让屏幕阅读器等到页面完成加载,应用所有CSS甚至运行Javascript onload函数,然后才弄清实际显示的内容,然后再将其读取给用户吗?我们甚至可以识别页面的某些部分,这些部分是菜单或者目录,并提供一种简单的方法来使这些部分专门阅读或者跳过。我认为编程社区可以针对此问题提出更好的解决方案。

解决方案

回答

Are screen readers really so primitive that they would read text that isn't even displayed on the screen?

我们要记住的是,任何HTML解析器都不读取屏幕,而是读取源标记。我们在屏幕上看到的是浏览器尝试将CS​​S应用于源代码的尝试。没关系

You could probably even identify parts of the page that are menus or table of contents, and give some sort of easy way for those parts to be read exclusively or skipped over.

如果有这样的事情的标准,则可以。

我对屏幕阅读器的局限性不是很热,但是我已经阅读了很多关于它们不理想的文章。我可以推荐的最好的方法是按照阅读顺序整理资源。

对于屏幕阅读器,我们还应该查看一组CSS属性。

回答

看看ARIA,这是开发可访问的富Web客户端应用程序的标准。

回答

多少个表格仅带有*或者粗体字即可向视觉用户表明正确提交必填字段?屏幕阅读器在做什么?说"星"?

下面是一个示例代码,有助于通过口头而非视觉方式进行表达。

(请注意下面示例中的"必填"字样,但在屏幕上看不到)

在模板中:

<label for="Requestor" accesskey="9"><span class="required"> Requestor * </span><span class="hidden">required.</span></label>

在CSS中:

#hidden {
    position:absolute;
    left:0px;
    top:-500px;
    width:1px;
    height:1px;
    overflow:hidden;
}

或者

.hidden {
    position:absolute;
    left:0px;
    top:-500px;
    width:1px;
    height:1px;
    overflow:hidden;
}

每个X / HTML页面中的" seen"后面都有一个完整的平行视图。

回答

推荐听的:Hanselminutes

这是对盲人程序员的采访。

回答

@robertmyers

CSS包含听觉媒体类型,专门用于在屏幕阅读器执行工作时控制事物的"渲染"。因此,以我们为例,我们只能将其设置为对听觉媒体类型可见。

罗斯

我很清楚屏幕阅读器实际上并没有阅读屏幕,但是我们会认为要正常工作,就必须建立一个有视力的人可以看到的模型,否则,看起来就可以了。向用户传达页面上实际内容的工作真是糟糕。同样,将事物按我们阅读的顺序排列实际上是行不通的,因为有视力的人会快速扫描页面并阅读他们想阅读的部分。我们是将内容放在第一位,以便用户每次都必须收听它们,还是将它们放在最后,以便他们可以首先到达内容?同样,将内容整理好将意味着一些棘手的CSS可以将内容放置在我们希望它们适合有视力的用户的位置。

在我看来,大多数网页都包含非常相似的结构,并且在许多情况下,应该有可能找出重复的标题和侧栏的位置。当在同一站点上以相同的格式查看许多后续页面时,应该很容易弄清楚哪些部分是导航,哪些部分是内容。这样做,屏幕阅读器可以完全跳过导航部分,并像大多数有视力的用户一样,直接移至内容上。

我意识到存在局限性,而且做这些事情并非易事。但是,我觉得就屏幕阅读器而言,我们只做了最低限度而已。