在一个符合508标准的应用中使用Securimage的PHP验证码脚本

3
我正在设置一个联系我们页面,选择了Securimage的PHP验证码脚本来阻止机器人。Securimage使用Flash对象为可能视力受损的人播放验证码代码。在Securimage的演示页面上,当我使用Fangs屏幕阅读器模拟器查看页面时,Flash对象不会显示出来。似乎访问网站的用户将知道需要验证码,但无法听到验证码以便输入。我们希望页面能够访问。
有没有办法使Flash对象在屏幕阅读器中显示,并且有没有办法添加标题,说明点击此链接即可听到验证码?
如果无法让Flash对象与屏幕阅读器一起工作,我的备选方案是使用可点击链接,并使用JavaScript播放音频。
3个回答

1

可以让屏幕阅读器识别Flash。您可以使用flash.accessibility.AccessibilityProperties方法来实现。

如果您查看Securimage GitHub Repo,最新更新已将securimage_play.swf替换为一个版本,它会暴露一些可访问性信息,因此当检测到Flash文件时,屏幕阅读器将会朗读播放音频验证码。现在还可以通过表单将其定位到焦点。

我没有找到太多有关这方面的信息,但我认为Fangs无法显示嵌入网页中的Flash电影中的信息,但我确认JAWS能够检测到Securimage音频图标并读取附加的消息。

Securimage Flash Source Code现在也可以在GitHub存储库中获得,因此您可以根据自己的需要进行修改。


嗨Drew,感谢您的更新。我已经加载了文件,虽然我没有屏幕阅读器程序JAWS,但我会假设一切都可以正常工作。感谢您的帮助。 - Rich DeBourke

1

你可能想选择一个明确符合508标准的解决方案。我通常推荐使用reCaptcha:http://www.google.com/recaptcha

然而请记住,各种验证码都因真正的508兼容性而臭名昭著,并且可能会极大地让所有用户感到烦恼。虽然它们不太有效,但蜜罐可以减缓机器人攻击,同时使更少的用户感到烦恼。就我个人而言,我宁愿自己感到烦恼,也不想让我的用户感到烦恼。


0

我认为屏幕阅读器无法读取Flash。恐怕你别无选择,只能使用备用方案...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接