Usability and accessibility with Ajax

The Ajax express train rumbles on, threatening to crush anything in its path. Recent discussion has turned to those critical elements of good web development, usability and accessibility. Accessibility is a major issue with Ajax, mainly because anything that relies on JavaScript to function is inaccessible pretty much by default. There are two solutions: either provide a fall-back system where the site remains useful without its Ajax enhancements, or provide a whole separate interface that works without scripting.

Google recently adopted the second option for GMail. From their What’s New page:

Basic HTML view lets you access your Gmail messages from almost any computer running almost any web browser, even old ones (not just IE5.5+, Mozilla, and Safari). Especially great for traveling, since you never know what kind of browser that internet cafe in Siberia is going to have.

Standard accessibility good practice is to avoid text-only versions of pages like the plague, but in my opinion the distinction between web content and a web application make simplified versions of Ajax style applications an acceptable compromise.

More on AJAX and accessibility can be found over on

The usability side of Ajax is interesting as well, mainly because Ajax tricks can severely alter the expected behaviour of the browser. Thomas Baekdal put out a set of suggested XMLHttpRequest Usability Guidelines a few weeks ago, and recently followed it up with an article putting his ideas to practise in the context of a neat business card designer example.

Finally, for those who really can’t get enough Ajax Mike Papageorge has assembled a comprehensive list of working examples.


Category: javascript Time: 2005-03-10 Views: 0

Related post

  • read input file and post with ajax 2010-02-23

    Can I use the following jQuery code to perform file upload using post method of an Ajax request ? $.ajax({ type: "POST", timeout: 50000, url: url, data: dataString, success: function (data) { alert('success'); return false; } }); If it is possib

  • Integrating Excel and Access with Sharpoint 2010-07-26

    My problem deals with Excel, SharePoint, and Access all in one. I will try to detail it as best as I can. To start, I have an Access Database containing some forms and 3 tables. These 3 tables are linked to 3 Excel spreadsheets. The main purpose of t

  • Using wp_handle_upload and media_handle_sideload with ajax 2012-11-29

    I'm struggling to figure out how to use wp_handle_upload() with ajax when processing a form. What I'm doing here is using a form to allow users to edit posts from the front end so they can do some things like change the image for a post so we'll star

  • JS validation and submission with AJAX 2014-02-19

    I've got an assignment to do pure JS validation as well as submit with AJAX. Here is the code I've got so far. I'm wondering if I can do away with the whole "reason" bit. That was because it was originally meant to display a list of all the erro

  • CSRF Flow : Setting CSRF Token with Cookies, and Returning With Ajax Request 2016-01-20

    Express 4.0x So I've spent almost an entire day trying to get a basic csrf flow working but so far I'm losing. What is confusing for me is that almost every solid example I can find always show the token being passed to the client by means of injecti

  • Multiple form with magnificPopup and send with AJAX 2016-02-10

    I have some button regarding an event. Each one will open the form of that specific event, but the fields are the same (Name, Company and Email). I will open it with magnificPopup. When the user subscribes, I will send an email. Which is the best app

  • How do I run a vpn on my ubuntu computer and access with my android 2014-10-22

    I want to access the internet and do other stuff on my Android phone I want to use my computer as a source of that vpn connection. I used to use Team viewer but they don't use VPN for the mobile app. i I would also want to use my computers processing

  • Create multiple views and access with single action in controller 2016-02-02

    i am having my views separated under subfolder, i have only one Action method in controller, i have my view names in the database, when i call the action method by passing the parameter (for instance: id = 1), it will fetch the view name from the dat

  • Login With Ajax and Register Plus Redux conflict: a verification email? 2013-10-15

    Is there a way to force Login With Ajax to obey the Register Plus Redux email verification setting? I've enabled the email verification and emails as usernames in Register Plus Redux. I'm using Login With Ajax for the front-end ajax registration / lo

  • Honeypot captchas and accessibility 2012-01-07

    I have been looking at ways to prevent spam bots from posting, regstering and performing actions on my site. Initially, I thought about implementing ReCAPTCHA using its API. However, I have found ReCAPTCHAs to be getting more difficult to read these

  • Sliders and Accessibility: Usability of sliders for users with disabilities 2013-07-22

    I was wondering if the use of sliders would make it harder for people with disabilities to select values. How hard is it to drag and drop for them? How easy is it for them to see values changing while moving a different element, or to select a specif

  • Usability and security for user access and password handling in a web application? 2010-10-13

    I'm looking at putting together a website aimed at ordinary users that will handle personal data which I don't want to be compromised. How can I make the site secure but also usable? It seems most sites use a user identifier ( email address seems bes

  • I get "You are not authorized to access this page" when I try to load a view with Ajax 2012-03-03

    I am trying to load a view with Ajax, showing it in a specific <div>. I always get the Ajax message, "You are not authorized to access this page." My code is the following one: /** * Implementation of hook_menu(). */ function custom_api_me

  • Load view with ajax and contextual/exposed filters 2014-11-24

    I am trying to access content, that is provided via and can be filtered via a view. I want to load this content dynamically with Ajax. My problem now is, that I can access the view without problems using the following ajax-call: $.ajax({ url: Drupal.

  • Concurrently accessing shared volume locally and remotely with Samba/NFS 2009-10-08

    I will be running a server which will work with data on a local disk. I would also like to share the volume over the LAN with Samba or NFS to servers which will also be writing to data on the disc. Should my main server act as both a Samba/NFS server

  • How to load and show comments with AJAX instead of pagination? 2010-11-25

    Is there a plugin that displays comments like this: when the user clicks "read more", older comments are being appended to the list with ajax. --------------Solutions------------- It looks like Lester Chan has created a plugin that creates pagin

  • Unable to access, make directories (and files) with ftp 2011-06-27

    I'm having trouble with my new server and accessing its directories. I updated my proftpd.conf with: DefaultRoot / No I'm able to see the root directory of my server. But, trying to access some directories gives different results. For example, I can

  • Is it good to leave Select dropdown with default style for better UX and Accessibility? 2011-09-30

    When I design websites. many time I try make the select drop-down more attractive. example By default select drop-down looks slightly different in almost each Desktop and Mobile browser but behavior on focus is different on Mobile and Desktop browser

  • Are grayscale buttons with icons usable and effective? 2011-12-21

    The image here is old gmail new gmail, when no mail is selected new gmail, when mail is selected new delicious To me, the buttons are unlabeled and tough to discover. I don't believe the icons do a good enough job to make labels redundant. Also I not

iOS development

Android development

Python development

JAVA development

Development language

PHP development

Ruby development


Front-end development


development tools

Open Platform

Javascript development

.NET development

cloud computing


Copyright (C), All Rights Reserved.

processed in 2.479 (s). 13 q(s)