AJAX应用程序的可访问性

什么是AJAX?

AJAX是Web技术的大杂烩,它允许在Web应用程序中进行动态客户端 - 服务器交互,而无需重新加载或刷新页面AJAX代表异步JavaScript和XMLAJAX本身不是一种技术 - 它是以某种方式使用的技术组合AJAX使用以下内容:

  • XHTML(或HTML)和CSS创建一个界面和视觉样式信息可以动态修改XHTML和CSS元素以显示新信息或样式这些更改通常使用文档对象模型完成。
  • JavaScript用于操作界面元素,还用于通过XMLHttpRequest与Web服务器建立通信这允许在客户端和Web服务器之间传输数据(通常为XML或JSON格式),而无需重新加载页面或刷新。

使用AJAX,Web应用程序可以允许高级别的交互和处理,但不需要标准类型的客户端 - 服务器交互,具体来说:

  1. 提供了一个网页界面。
  2. 收集用户信息(通过表格,链接等)。
  3. 用户提交信息(提交表单,激活链接等)。
  4. 服务器处理提交的信息。
  5. 将新的网页界面发送给用户。

使用AJAX,所有这些步骤都可以在一个界面中处理AJAX实现的示例包括映射应用程序,实时搜索,聊天,实时表单验证和处理,实时购物车应用程序,电子邮件应用程序,以及列表继续使用AJAX所允许的Web应用程序和交互类型产生了术语“Web 2.0” - 这肯定表明Web可以使用的方式发生了重大变革虽然构成AJAX的技术都不是新的或突破性的,但AJAX开发的普及和意识的提高使开发人员需要了解这些技术带来的可访问性含义。

为何选择AJAX?

如上所述,AJAX允许使用服务器端处理的功能丰富的动态Web应用程序,而无需传统的“提交数据 - 检索网页”方法使用XMLHttpRequest,数据在Web应用程序的幕后传输,JavaScript用于操作应用程序界面并显示动态信息这允许更简化的应用程序,这些应用程序需要较少的处理和数据传输,因为不需要为发生的每个更改生成整个网页相反,一个Web应用程序反映了发生的所有更改JavaScript也可用于允许更高级别的交互性,而不是通过HTML本身允许的(例如,键盘快捷键,单击和拖动等)上谷歌地图)。

为什么不用AJAX?

内容动态更新时,可能会引入可访问性问题虽然可访问性指南允许您使用JavaScript来创建和更新界面元素,但它们要求这些元素为万维体育网官网Of course a small percentage of site visitors may have JavaScript disabled, so one should consider providing functionality that does not rely on JavaScript - or at a minimum, ensure that the functionality fails gracefully and/or apparently (i.e., the user should not be presented with an interface that appears to function, but does not because JavaScript is not available).

通常,当页面内的内容可以动态更新时,应该控制用户对这些内容更新的控制,例如通过激活链接或按钮如果内容在没有用户交互的情况下自动更新,则可能会发生冲突 - 如果当前具有焦点的元素被删除或显着更改,键盘焦点可能会丢失并且屏幕阅读器可能会混淆这通常会导致焦点和屏幕阅读器读取恢复到网页顶部。

例如,如果页面每10秒显示更新的体育比分,则很可能自动内容更新不会对屏幕阅读器和键盘用户进行屏幕显示更糟糕的是,页面内容的其余部分也可能存在于万网体育网站中,因为如果不遇到动态更新的内容,它们就无法访问它。

WCAG 2.0要求动态更新超过5秒的内容必须能够暂停,停止或隐藏该动态内容如果提供了暂停或隐藏链接,请确保它以万才体育网官方网址方式提供(例如,很难达到暂停按钮)动态元素,如果该动态元素导致键盘焦点不断丢失)。

除了失去焦点的可能性,动态内容更新屏幕阅读器用户可能并不明显激活链接或按钮通常会导致更改上下文(即,用户转到新页面)使用AJAX,内容更新可能出现在同一页面的不同位置在这些情况下,通常需要通知用户此更新(可能通过使用ARIA实时区域或警报)或通过将焦点设置到新更新的内容区域。

虽然在关于AJAX和动态更新的内容中并没有任何内容,但通常需要特殊的关注和测试(包括屏幕阅读器测试)以确保它以万亿体育网络的方式呈现。