Top Menu

ajax scripts script web 2.0 dhtml javascript

Main Menu



Why Not Ajax

Why not AJAX?
AJAX will not work in all web browsers. As its name suggests, AJAX requires JavaScript. This alone means that AJAX applications will 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 Web Content Accessibility Guidelines - external link also require that web applications function when JavaScript is disabled or not supported.

AJAX also requires that XMLHttpRequest be supported, which many browsers do not.

The current solution to these problems is to either provide a non-AJAX alternative to your application or to allow your AJAX application to continue to function if JavaScript and XMLHttpRequest are not supported.

Such a requirement may be very difficult to achieve. While developers may choose to require the users to use a browser that supports AJAX, they must understand that such requirements may not be possible for all users - especially those using portable devices or older web browsers.

By its nature, AJAX tends to update and manipulate interface elements on the fly.

AJAX also can submit information to the server without user interaction or may do so in methods that are not obvious to the user. For example, most users expect forms to be submitted, validated, and processed when a submit button is selected, but with AJAX this submission and processing can occur at any time (e.g., every 5 seconds, when a form element loses focus, etc.).

It may not be apparent to users that information is being processed and saved - and this confusion can be intensified by the fact that AJAX can perform these operations very quickly.

Most users expect there to be some delay before feedback or additional information is presented and typically expect the entire page to refresh indicating a new display - with AJAX, none of these visual cues may be apparent.

Another issue with AJAX is how the application interface is updated. When updates to the interface occur, it may not be visually apparent that a change has occurred.

The problem is even more troublesome for screen reader users. Screen readers typically read in a linear fashion.

When changes happen in the interface, the screen reader user may not be aware of the change and the new content will likely not be read.

Part 2 of this article will present possible solutions to many of these issues. In short, to allow dynamic interface changes to be accessible, the application must alert the user that a change has occurred, allow direct access to the new content, and then allow continued functionality of the web application.

This process, while difficult to achieve, especially for screen reader users, is possible to achieve in many AJAX applications. Part 2 of this article will demonstrate how.