我是一名网络开发人员,我想让那些使用屏幕阅读器的人更容易访问我开发的网站。屏幕阅读器有哪些限制我应该最了解,我该怎么做才能避免遇到这些限制。
通过阅读关于non-image based captchas的另一个问题引发了这个问题。在那里,一位评论者说蜂蜜罐形式字段(用CSS隐藏的表单字段只有机器人会填写)是一个坏主意,因为屏幕阅读器仍然会接收它们。
屏幕阅读器是否真的如此原始,以至于他们会阅读甚至不在屏幕上显示的文字?理想情况下,你不能制作一个屏幕阅读器,等待页面完成加载,应用所有的CSS,甚至运行Javascript onload函数,然后才能找出实际显示的内容,然后将其读取给用户?您甚至可以识别页面中作为菜单或目录的部分,并为这些部分提供一些简单的方法来单独读取或跳过。我认为编程社区可以为这个问题找到更好的解决方案。
答案 0 :(得分:3)
屏幕阅读器是否真的如此原始,以至于他们会阅读屏幕上甚至没有显示的文字?
你必须记住的是,任何HTML解析器都不会读取屏幕 - 它会读取源标记。您在屏幕上看到的是浏览器尝试将CSS应用于源代码。这是无关紧要的。
您甚至可以识别页面中作为菜单或目录的部分,并为这些部分提供一些简单的方法来单独读取或跳过。
如果有这样的标准,你可以。
我对屏幕阅读器的限制不是很热,但是我已经阅读了很多关于它们不理想的内容。我能推荐的最好的事情就是把你的来源整理好 - 你怎么读它。
屏幕阅读器还应该有一个set of CSS properties。
答案 1 :(得分:2)
建议听取:Hanselminutes
这是对盲人程序员的采访。
答案 2 :(得分:1)
有多少表单只有*或粗体表示瞄准用户正确提交需要字段?屏幕阅读器在做什么?说“明星”?
下面是一个代码示例,通过口头表达而非视觉表达有用。
(请注意 - 在下面的示例中,会说“必需。”一词,但在屏幕上看不到)
在模板中:
<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页面中,“看到”后面可以有一个完整的平行视图。
答案 3 :(得分:0)
查看ARIA,它是开发可访问的富Web客户端应用程序的标准。
答案 4 :(得分:0)
@robertmyers
CSS包含听觉媒体类型,专门用于控制屏幕阅读器工作时“渲染”事物。因此,对于您的示例,您只能将其设置为可见的媒体类型。
@Ross
我非常清楚屏幕阅读器实际上并没有读取屏幕,但是你会认为要运行良好,它必须建立一个有视力的人会看到的模型,否则,它看起来像在向用户传达页面上的实际内容时,它会做得很糟糕。此外,按照您阅读它们的顺序放置内容并不真正有效,因为有视力的人会快速扫描页面并阅读他们想要阅读的部分。您是否先将内容放在首位,以便用户每次都必须收听它们,或者您是否将它们放在最后以便他们可以先获取内容?此外,按顺序放置内容意味着一些棘手的CSS可以将内容放置在您希望它们用于有视力的用户的位置。
在我看来,大多数网页都包含非常相似的结构,并且在许多情况下,应该可以选择重复的标题和侧栏的位置。当使用相同的格式在同一站点上查看许多后续页面时,应该很容易确定哪些部分是导航,哪些部分是内容。这样做,屏幕阅读器可以完全跳过导航部分,并直接移动到内容上,就像大多数有视力的用户一样。
我意识到存在局限性,做这些事情并不容易。但是,我觉得就屏幕阅读器而言,我们只做了最低限度,并将其留在那里。
答案 5 :(得分:0)
以下是Karl Groves编制的CAPTCHA替代方案列表: CAPTCHA-less Security
答案 6 :(得分:0)
@Kibbee,
您所描述的“原始”,实际上是屏幕阅读器的一个功能,它可以用于使网站更易于访问。例如,如果您有一个选项卡式界面,使用无序列表和列表项实现,那么有视力的用户通常会看到所选选项卡突出显示的背景颜色不同(或其他一些视觉处理)。盲人用户看不到这一点。因此,在页面中添加一些额外的文本并将其隐藏在屏幕之外是用于向盲人用户传达哪些标签处于活动状态的技术。
在辅助功能术语中,此信息称为角色,名称,值和状态。
还有许多其他场景可以使用此技术添加对盲人用户有用的信息。
最近,添加了WAI-ARIA以允许此状态,角色,名称和值信息,因此您现在可以使用HTML属性实现有限数量的小部件(如选项卡)。然而,更普遍的“屏幕外”技术仍然有用。