具有可访问性的浏览器是否支持CSS或JavaScript?

具有可访问性的浏览器是否支持CSS或JavaScript?,javascript,css,browser,accessibility,blind,Javascript,Css,Browser,Accessibility,Blind,我目前正在开发一个蜜罐解决方案,以防止我的站点中出现垃圾邮件,该解决方案包括添加几个带有随机名称的字段,并通过在HTML元素中添加style=“display:none;”“来用CSS隐藏这些字段。提交时,如果这些字段中的任何一个不是空的(应该是空的),则表示spambot只是提交了表单。该用户或恶意用户。无论如何,这篇文章都会被拒绝 现在,这将很好地工作,但我假设所有用户都有支持CSS的浏览器 通过JavaScript删除CSSdisplay属性等于none的每个字段可能会阻止不支持CSS的浏

我目前正在开发一个蜜罐解决方案,以防止我的站点中出现垃圾邮件,该解决方案包括添加几个带有随机名称的字段,并通过在HTML元素中添加
style=“display:none;”“
来用CSS隐藏这些字段。提交时,如果这些字段中的任何一个不是空的(应该是空的),则表示spambot只是提交了表单。该用户或恶意用户。无论如何,这篇文章都会被拒绝

现在,这将很好地工作,但我假设所有用户都有支持CSS的浏览器

通过JavaScript删除CSS
display
属性等于
none
的每个字段可能会阻止不支持CSS的浏览器显示假定隐藏的字段

因此,对于支持以下功能的浏览器来说,这很好:

  • CSS和JavaScript都有
  • 只有CSS
  • 只有JavaScript

那么,我的问题是,盲人浏览器或任何其他针对易访问性的浏览器是否支持CSS和JavaScript,只支持CSS、只支持JavaScript还是不支持?

现代屏幕阅读器通常通过将文本到语音界面“挂接”到普通的web浏览器(如Internet Explorer)上来工作。因此,它们支持浏览器通常支持的所有CSS和Javascript<代码>显示:无是完全洁净的


就其他浏览器而言:自Netscape 4.0以来,所有主流浏览器都支持基本的CSS规则,如
display:none
。如果有人使用的浏览器根本不支持CSS,他们将面临比您的注册表更大的问题。

如果您是因为恶意用户而这样做的话,这是没有用的方式-我的意见。我不是那个些坏蛋,但要禁用CSS样式我只需点击一下。现代浏览器中的简易插件。对web开发和其他方面都有好处。这就像重新发明轮子,以固定的形式处理随机隐藏的输入名称。Catch 1工作组合(读取源代码F4),您可以根据需要多次使用它

为什么不简单地额外命名可见输入并将其名称存储在会话中,然后在提交后进行比较


或者放一个
好吧,有时候当我对这个世界感到失望时,我会使用Lynx,它不支持CSS。在这种情况下,我要做的是在隐藏字段中写入一个默认值,如:
请不要在该字段中填写任何内容

这会照顾到任何看不见的人,但愚蠢的机器人仍然会覆盖它。然后我检查我的代码,如果值与
完全不同,请不要在该字段中填写任何内容
和利润

顺便说一句 这种隐藏字段方法无论如何都无法阻止已确定的攻击者,因此讨论如果攻击者检查页面的源代码会发生什么是一个没有实际意义的问题。我们只是希望停止大规模的机器人程序——而能够识别这样文本的机器人程序(每个开发人员使用自己的文字来传达信息)远非落入脚本小子的手中,即使它们确实存在。最后一部分是猜测

是否有针对盲人的浏览器或任何其他辅助功能的浏览器

现在没有面向残疾人的浏览器。过去有一些项目是这样的,但是主要的辅助技术(AT)制造商们齐心协力,首先让他们的软件与IE一起工作,然后是Firefox。您正在冒险使用Chrome或Opera与AT,支持是命中或未命中

支持CSS和JavaScript,只支持CSS,只支持JavaScript还是不支持

这实际上取决于JS、CSS和AT组合的使用。总的来说,AT可以使用CSS。有四个区域可能会导致问题:颜色/对比度、
显示:表格
显示:无
可见性:隐藏
。由于前两个不是问题的一部分,我们将跳过它们。JAWS仅在
上宣布具有
显示:无
可见性:隐藏
的内容。我将省去对JS的太多评论,但WebAIM有一篇文章提供

包括添加几个具有随机名称的字段,并通过在HTML元素中添加
style=“display:none;”“
来使用CSS隐藏它们

我假设您正确地向所有表单元素添加了
s。请将它们添加到蜜罐字段,以防它们被读取。我还要在
中添加“忽略此字段”

阅读:


除了其他人的答案,我会说像JAWS这样的辅助软件甚至支持显示属性的动态变化(比如,通过按下按钮来显示/隐藏div)。

普通的web浏览器和Internet Explorer在同一句话中?!说得对!我的意思是“正常”,因为它是主流浏览器,而不是一些特殊用途的渲染引擎。谢谢你的回答!(其他人也一样)。我不认为我会遵循的唯一建议是添加“忽略此字段”标签,因为这将使spambot非常容易识别它。根据文章显示:几乎所有情况下都不起作用,JS也起作用,用户很可能甚至看不到该字段,因此,我猜丢失的标签不会成为可访问性问题。我不是垃圾邮件机器人专家,但我认为他们不会解释措辞,尤其是在
标签
标签中。机器人很可能只是抓取一个页面,寻找
input
s并试图将垃圾推进去。因此,忽略这一点将是在。如果你有一篇文章显示,机器人知道用“忽略”、“跳过”等词跳过输入,请分享。大多数垃圾邮件博特愚蠢到会失败,因为他们的愚蠢方法在其他任何地方都有效,而不起作用的站点也是活跃的站长删除和抵制垃圾邮件的站点,因此无需坚持。除非你是谷歌、Hotmail、银行或任何一个网站,如果你是谷歌、Hotmail、银行或任何一个网站,你会得到丰厚的回报