我是一名网络开发人员,我想让那些使用屏幕阅读器的人更容易访问我开发的网站。 屏幕阅读器有哪些限制,我应该最了解,以及我可以做些什么来避免遇到这些限制。

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

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

===============>>#1 票数:3

屏幕阅读器是否真的如此原始,以至于他们会阅读甚至不在屏幕上显示的文字?

您必须记住的是,任何HTML解析器都不会读取屏幕 - 它会读取源标记。 您在屏幕上看到的是浏览器尝试将CS​​S应用于源代码。 这是无关紧要的。

您甚至可以识别页面中作为菜单或目录的部分,并为这些部分提供一些简单的方法来单独读取或跳过。

如果有这样的标准,你可以。

我对屏幕阅读器的局限性并不是很热,但我已经阅读了很多关于它们不理想的内容。 我能推荐的最好的事情就是把你的来源整理好 - 你怎么读它。

您还应该为屏幕阅读器查看一组CSS属性

===============>>#2 票数:2

推荐听力: Hanselminutes

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

===============>>#3 票数:1

有多少表单只有*或粗体来向视觉用户表明正确提交需要字段? 屏幕阅读器在做什么? 说“明星”?

下面是一个代码示例,通过口头表达而非视觉表达有用。

(注意 - 在下面的示例中,单词“required。”被说出但在屏幕上看不到)

在模板中:

<label for="Requestor" accesskey="9"><span class="required">&nbsp;Requestor&nbsp;*&nbsp;</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页面中,“看到”后面可以有一个完整的并行视图。

===============>>#4 票数:0

以下是Karl Groves编制的CAPTCHA替代品清单: CAPTCHA-less Security

===============>>#5 票数:0

@Kibbee,

你所描述的“原始”,实际上是屏幕阅读器的一个特征,它可以用来使网站更容易访问。 例如,如果您有一个选项卡式界面,使用无序列表和列表项实现,那么有视力的用户通常会看到所选选项卡突出显示的背景颜色不同(或其他一些视觉处理)。 盲人用户看不到这一点。 因此,在页面中添加一些附加文本并将其隐藏在屏幕外是用于向盲用户传达哪些选项卡处于活动状态的技术。

在辅助功能术语中,此信息称为角色,名称,值和状态。

在许多其他场景中,此技术可用于添加对盲人用户有用的信息。

最近,添加了WAI-ARIA以允许此状态,角色,名称和值信息,因此您现在可以使用HTML属性实现有限数量的小部件(如选项卡)。 然而,更一般的“屏幕外”技术仍然有用。

===============>>#6 票数:0

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

===============>>#7 票数:0

@robertmyers

CSS包含听觉媒体类型,专门用于控制屏幕阅读器工作时的“渲染”。 因此,对于您的示例,您只能将其设置为可见的媒体类型。


@Ross

我很清楚屏幕阅读器实际上并没有读取屏幕,但是你会认为要运行良好,它必须建立一个有视力的人会看到的模型,否则,它似乎会做一个非常糟糕的工作,让用户了解页面上的实际内容。 此外,按照您阅读它们的顺序放置内容并不真正有效,因为有视力的人会快速扫描页面并阅读他们想要阅读的部分。 您是否先将内容放在首位,以便用户每次都必须收听它们,或者您是否将它们放在最后以便他们可以先获取内容? 此外,按顺序放置内容意味着一些棘手的CSS可以将内容定位到您希望它们用于有视力的用户的位置。


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

我意识到存在局限性,做这些类型的事情并不容易。 但是,我觉得就屏幕阅读器而言,我们只做了最低限度,并将其留在那里。

  ask by Kibbee translate from so

未解决问题?本站智能推荐:

1回复

为什么浏览器“编辑” HTML代码并使其不符合W3C规则?

大家早上好。 根据《 意大利可访问性法》,我必须使用W3C验证器来验证网页的HTML代码。 如果使用浏览器功能“ 查看源代码 ”,然后验证代码...我没问题:我只得到开发人员真正的HTML错误! 但是有时,我必须从DOM中 “获取” HTML代码,例如在由脚本JavaScrip
2回复

如何从浏览器的搜索功能中排除HTML文本节点?

是否存在一些ARIA或其他方式来标记给定的HTML节点,以便当用户在页面上搜索文本时将其跳过(Ctrl + F / Cmd + F)? 用例 :从搜索中隐藏可访问/后备文本 示例 :在此页面上搜索单词down 。 您应该只找到前一句的实例,但Chrome浏览器将显示出尽可能多的搜索
4回复

浏览器需要什么来支持HTML5文档大纲?

简而言之,HTML5规范允许我们使用多个h1元素。 然而,关于这一特征存在相当大的争议,有2个主要声明为什么不使用它。 1.搜索引擎优化:主要是可疑的声称,搜索机器人不支持它,未经证实的声称它将“混淆”他们。 但是,让我们将这种推测推迟到其他帖子。 2.用户代理不支持它:不幸的是
1回复

当您使用转义键退出Web浏览器中的内容时,如模式对话框,焦点在哪里?

在大多数情况下,似乎没有任何视觉指示对于依赖键盘的用户来说必须是困难的。 这似乎是一个非常简单的问题,但我已经在互联网上搜索,无法找到答案。 我的第一个想法是使用Firefox的开发人员工具使用*some element*:focus {outline: 2px solid red;}来
1回复

为什么Chrome出现JAWS屏幕阅读器问题?

通常,我观察到Chrome和JAWS不能很好地协同工作,而Firefox与JAWS无缝协作。
1回复

屏幕阅读器在Google的Chrome浏览器中读取Flash,但在Internet Explorer 8中无法读取Flash

屏幕阅读器(JAWS)能够在Google Chrome上的Flash中读取文本字段,但在Internet Explorer 8中却无法读取。我使用的是最新版本的SWFobject 。
1回复

屏幕阅读器在按下按钮或链接时会使用什么浏览器事件?

我尚未设置屏幕阅读器进行自我测试,但我想知道屏幕阅读器在单击按钮或链接时会使用哪个特定的浏览器事件? 这等效于鼠标单击或制表到元素并按Enter或空格键?
1回复

屏幕阅读器和访问键

HTML访问键能否仅将焦点放在链接或按钮上而不触发元素? 用户可以将网页上的现有访问密钥值更改为他们的首选值吗?
1回复

桌子和屏幕阅读器

我似乎很难让屏幕阅读器读取简单的表格。 我有以下HTML: 当屏幕阅读器点击此表时,它会显示“表。0列。0行”。 我在网上尝试了许多示例,并尝试使用WCAG2.0标准作为指导方针,但是它似乎没有用。 我还尝试了不同的表布局和结构,但仍然得到相同的结果。
1回复

使屏幕阅读器以不同的方式阅读章节

我有一个嵌套的三级导航,在HTML中如下所示: 它的样式为megamenu: 第一级是顶部的链接,它打开一个大型菜单下拉菜单。 第二个级别是超级菜单中的“列”。 第三层是每一列内的“行”,每行包含一个链接列表。 设想布局的一种好方法是考虑Pinterest的“砌体”布置。