如果我有一个验证码,其中显示了一系列英文字符。那么不会说英语的人是否会在解释和/或输入这些字符时遇到麻烦?如果是这种情况,那么国际化验证码的最佳解决方案是什么?
如果我有一个验证码,其中显示了一系列英文字符。那么不会说英语的人是否会在解释和/或输入这些字符时遇到麻烦?如果是这种情况,那么国际化验证码的最佳解决方案是什么?
由于99%的URL都是普通ASCII字符,我认为你不会遇到问题...毕竟如果不能输入URL,他们怎么会访问Google或Yahoo呢。
话虽如此,我有时也会在验证码中遇到使用中文字符的情况。
对于使用本地非拉丁字母键盘布局的用户来说,比如俄罗斯和希腊人,这将是一个问题。他们将被迫切换键盘布局才能回答安全问题。
另一个问题是识别单词的能力 - 不会讲英语的人可能会在正确拼写单词方面遇到巨大的问题。即使对我来说(对于不太常见的单词),有时也会出现疏漏,尽管我相当熟练......
换句话说,不要犯这个错误,你的应用程序应该易于所有用户使用。
这绝对是一个问题。基于字典的验证码应该理想地适应用户的语言偏好,并要求他们识别与其语言偏好相匹配的单词,从而扩展到他们最熟悉的字符集。
但在缺乏这样的国际化支持的情况下,我认为数字和数学表达式是最普遍的解决方案,对于基于单词的验证码,随机的ASCII字符序列(由于是随机的,因此是文化中立的)将是最易于访问的,因为几乎世界上任何用户都可以输入这些字符,即使有些人必须切换输入法。
现在真正棘手的是为视力受损的用户提供可访问性替代方案。制作一个通用的音频验证码似乎几乎不可能(您可以考虑一组被广泛认可的声音,而不是口头单词,但我怀疑这将提供足够的安全性)。而国际化(多语言)口语生成远非易事。
编辑:
有一个解决方案可以让Google的reCaptcha与Flash一起使用!
请查看这里: http://groups.google.com/group/recaptcha/browse_thread/thread/e22d7e3c91bcc9db
是的,这可能会对小部分用户造成问题。但在构建网站UI以改善用户体验时,是否应该考虑到这个问题?这取决于你。如果是我,可能不会。
为了帮助你朝着正确的方向前进,我建议使用Google的reCAPTCHA。它有很好的效果并且易于使用。此外,还有一个很棒的API,可以自定义显示语言。你可以使用PHP来检测用户所在的国家,并编写一些代码来更改设置以显示他们的母语。
以下是更改reCAPTCHA语言的示例。"fr"代表法语!
<script type="text/javascript">
var RecaptchaOptions = {
lang : 'fr',
};
</script>
Google reCAPTCHA的API:
http://code.google.com/apis/recaptcha/docs/customization.html#i18n
当然,它们是一个问题。对于您来说,俄语验证码会是一个问题吗?中文验证码呢?
这些URL确实是ASCII码,但这只与极客有关。普通人会去Google,在自己的语言中输入一些文本,然后单击其中一个答案。他们从来没有输入过URL。
我相信,组成英语字母表的24个字母在大多数世界中都是通用的,我们的用户涵盖了中文、日文、西里尔文和阿拉伯文,不过他们都可以通过操作系统切换到英文键盘。
英语中没有变音符号,这使得所有事情都变得更加容易,我们的系统在全球范围内更易于适应。每个人都打ASCII码,但他们也能够切换到自己特定区域/语言的字符。