在我目前的项目中,企业主正在敲打AJAX,jQuery等。对于不同的策略类型,需要4个单独的表单。
他们希望用户能够在没有可见页面刷新的情况下在这些页面之间切换,并且当按下某些提交按钮时也能生成更多表单内容,例如当父母将一个孩子添加到表单时。
我有这个问题,因为我不认为它是可访问的,即如果切换是通过AJAX完成而没有页面刷新,那么屏幕阅读器用户如何知道它们所在的选项卡/表单。有没有办法让这个可以访问?
我也不认为它是安全的,因为会有数据库连接,因此客户端的用户可能会改变javascript并试图恶意破坏数据库/页面。
我正在尝试编译为什么不应该这样做的一些原因,但是想知道除了可访问性和安全性之外还有什么。
此外,作为备份,这一切都将在服务器端完成,所以我不会;我真的觉得javascript在这里增加了很多,而不是更快。
答案 0 :(得分:2)
辅助功能 - 很多工作都涉及到这一点。您可以使用的工具之一是ARIA。对于某些基础知识,您可以在AJAX Accessibility上看到这篇文章。您可能还想查看Google的AXSJax项目
安全性 - AJAX实际上与服务器的安全性无关。无论哪种方式,您的服务器都必须对请求进行身份验证,并确保他们只能访问或修改他们授权的内容。
我觉得很奇怪,你说,“我真的觉得javascript在这里增加了很多,而不是更快。”速度始终是一个重要的目标 - 不是唯一的目标,但肯定是一个重要目标。
总而言之,诸如“我正在努力编写一些不应该做的原因”的陈述使得听起来像是在寻找借口而不是解决方案。
答案 1 :(得分:1)
虽然我赞赏你对可访问性的前期思考,但你的帖子的语气似乎让你对他们的要求有所支持。我建议不要对“正确的方法”采取一切措辞,而只是从业务需求的角度来看待它。
关于jQuery的好处是你可以让网站很容易让非javascript用户降级。您可以以静态方式创建站点,然后使用jQuery更改所有链接以使用花哨的ajax函数而不是默认值。也许这将是一个很好的妥协。
答案 2 :(得分:1)
关于安全性,这种方案不一定是个问题。是的,用户可以搞乱页面,但只要服务器没有假设POST总是“正确”,那么没有问题。在一个写得很好的网站中,攻击者应该做的最糟糕的事情就是以某种方式搞砸他们自己的会话。
我认为可访问性问题很好。例如,Stackoverflow本身不会让某些人看到“添加评论”设施,我认为这很不幸,但我理解这些挑战。