The accessibility of AJAX applications
| |
Print |
Send |
Share |
Warning: The original version of this document Accessibility of AJAX Applications: Accessibility Issues . This French translation was done by Ideose as part of an agreement between WebAIM and Ideose .
Note: See page documents on web accessibility for a list of all translated documents. Other resources on web accessibility are also listed in the portal accessible digital .
What is AJAX?
AJAX is a mix of Web technologies enabling dynamic client-server interactions to occur in web applications without having to reload or refresh pages. AJAX stands for Asynchronous JavaScript And XML. AJAX is not a technology - c is a mix of technologies in a way. AJAX uses the following technologies:
- XHTML (or HTML) and CSS to create interfaces and visual information layout. XHTML elements and CSS can be modified dynamically to display new information or modify the style. These changes are typically made using the DOM.
- JavaScript is used to manipulate interface elements and is also used to establish communication with a Web server via XMLHttpRequest. This allows data (typically in XML format) to be exchanged between the client and the Web server without reloading the page or refresh.
To use AJAX, Web applications may require high levels of interactivity and processing but avoids the standard client-server interaction:
- The interface of the web page appears.
- The user information is collected (via forms, links, etc..).
- The user sends the information (form validation, enabling links, etc..).
- The server processes the information sent.
- The new interface of the Web page is sent to the user.
With AJAX, all of these actions can be processed in a single interface. Examples of implementation of AJAX mapping applications , real-time searches, chats , form validation and real-time processing , e-commerce applications in real time, e-mail applications , etc.. The types of Web applications and the interactions allowed by the use of AJAX led to the term "Web 2.0" - which certainly indicates a great revolution in how the Web can be used. If none of the technologies that compose AJAX are new, the increasing popularity of AJAX requires developers to be aware of the consequences of web accessibility of these technologies.
Why use AJAX?
As mentioned above, AJAX lets you create feature rich, dynamic Web applications using server-side processing without requiring the traditional methodology "submit data - retrieve the web page." Using XMLHttpRequest, data is transmitted in a background process on your Web application and the JavaScript is used to manipulate the application interface and display dynamic information. This helps to further streamline and applications that require less processing and data transmission because the web pages should not be generated at each change that occurs. Instead, a client-side Web application reflects all changes that occur. JavaScript can also be used to allow higher levels of interactivity than HTML (eg, keyboard shortcuts, drag, etc.. On Google Maps ).
Why not use AJAX?
AJAX does not work in all browsers. As its name suggests, AJAX requires JavaScript. This means that AJAX applications do not work in Web browsers and devices that do not support JavaScript. For this reason, it is not accessible to many typical Web users. The accessibility guidelines ( Web Content Accessibility Guidelines ) requires that Web applications will also work when JavaScript is disabled or when it is not supported. AJAX also requires that XMLHttpRequest be supported, what are not many browsers .
The current solution to these problems is to provide an alternative non-AJAX application or allow the application to continue operating AJAX if JavaScript and XMLHttpRequest are not supported. Such a requirement can be very difficult to achieve. Although developers can choose to require users to use a browser that interprets AJAX, they must understand that such requirements may not be possible for all users - especially those using mobile devices or old browsers.
By its nature, tends AJAX to update and manipulate interface elements "on the fly." AJAX may also present information to the server, without user action or do so in ways that are not obvious to the user. For example, most users expect forms to be presented, validated and processed when a submit button is selected, but this sends AJAX and this treatment can occur at any time (eg every 5 seconds , when a form field takes the focus, etc..). This may not be obvious to users that the information is about to be treated and recorded - and this confusion can be strengthened by the fact that AJAX can perform these operations very quickly. Most users expect that there be a delay before a return or additional information are presented and generally expect that the entire page refresh - AJAX, these visual cues may not be apparent.
Another problem with AJAX is how the application interface is updated. When updates to the interface occurs, it may not be a visible change took place. The problem is even more annoying for users of screen readers. Screen readers usually read in a linear fashion. When changes occur in the interface, users of screen readers may not be aware of this change and the new content will probably not read.
In short, to allow changes in the dynamic interface to be accessible, the application should warn the user that the change took place, allowing direct access to the new content and then allow the continued operation of the Web application . This process, although difficult to achieve especially for users of screen reader, can achieve in many AJAX applications. The part 2 of this article presents possible solutions to many of these issues, including the means by which ARIA can make it more accessible dynamic content.
Commercial links
Copyright 1999-2009 WebAIM




































