homepage Welcome to WebmasterWorld Guest from 54.237.57.53
register, free tools, login, search, pro membership, help, library, announcements, recent posts, open posts,
Become a Pro Member

Home / Forums Index / WebmasterWorld / Accessibility and Usability
Forum Library, Charter, Moderators: ergophobe

Accessibility and Usability Forum

    
Accessible AJAX
And similar dynamic solutions
DrDoc

WebmasterWorld Senior Member drdoc us a WebmasterWorld Top Contributor of All Time 10+ Year Member



 
Msg#: 21 posted 8:31 am on Feb 20, 2006 (gmt 0)

Introduction.

AJAX is the recent hype of adding dynamics to your website. Unfortunately, AJAX itself is very much overused and overestimated as a feasible solution. The only real use for AJAX is on highly dynamic sites where constant communication with the server is needed. A good example of valid AJAX use is Google Earth.

But, let's not discuss whether AJAX is an appropriate solution for your particular scenario or not. Instead, let's discuss how to turn an AJAX solution into something accessible and usable.

No, you probably don't need AJAX.

First of all, let me just clearly state that AJAX (and frequently JavaScript as well) is one of the least accessible and usable solutions possible. Of all the solutions I have stumbled across, only a very small percentage have actually served a purpose. Most implementations are completely useless fluff; poor implementations based on a grave misunderstanding of either JavaScript itself or lacking knowledge of viable alternatives.

Take a dynamic and collapsible menu, for example. The more common implementations are horrible from an accessibility perspective. Honestly, they are also quite dismal from a usability perspective. Often they do not even work properly if used by a tech savvy visitor (can we say, lacking browser support). Other times, the behavior is so ... "messed up" ... that it requires either training or blasting tech smarts to use it.

AJAX is hardly making the matter better.

The worst problem right now is that many who implement AJAX solutions really have no clue what they are doing. First, they think that AJAX is actually a new "technology" or something newly discovered. (Heck, I have used "AJAX" solutions many years ago. It just didn't have its own name back then.) Second, being a new solution, they assume it must surely be nifty and useful, and thus proceed to make all sorts of excuses for implementing.

The big problem with AJAX solutions is the enormous lack of accessibility and usability. But it does not have to be that way.

The problem.

All AJAX solutions I have seen so far have suffered the majority of the following problems:

  • it assumes that the visitor is capable of using a mouse to trigger functionality (Google Earth for example)
  • triggering of the functionality provides virtually no feedback to the user
  • accessing the site using a tool which either has JavaScript disabled or simply cannot (or does not) parse JavaScript renders it completely unusable
  • the browser's built-in back/forward navigation is broken
  • the ability to bookmark is completely lost

    The solution.

    One can certainly argue that the AJAX solution should be abandoned altogether. Not only because of the common misuse thereof, but since the problems seem to be serious enough to make it problematic to accomplish sufficient usability and accessibility.

    However, there are ways of making your AJAX solution accessible. The key to accessibility is proper use of forms on your site.

    Many AJAX solutions themselves are form based (using onclick etc to trigger the JavaScript functionality). That being the case, imagine how easy it would be to leave the form properly set up (with an appropriate action attribute and submit button[s]). Then, using your form's onsubmit attribute, trigger the AJAX functionality in your JavaScript. Also, have the onsubmit attribute return false to prevent the form from being submitted normally. This maintains the JavaScript based functionality for all visitors capabable of using JavaScript. Being a form, simply letting the form submit normally (which it will, if a browser/tool is not rendering JavaScript) to a page which returns appropriate content solves the most urgent accessibility and usability issues.

    Now you have the best of both worlds -- JavaScript for those who can use it, regular form functionality for everyone else.

    The same is probably true of non-form based AJAX solutions. You must ensure that there are other means of triggering the functionality, such as links and similar solutions which will accept input from not only mouse input, but also navigable using a keyboard and other tools.

    Is that the answer?

    Certainly not. The problem is that many with various impairments also are using tools which either are JavaScript capable or which are indistinguishable from ones who are.

    Although it certainly makes your solutions much more accessible and usable, it will never be completely so. The best thing you can do is consider alternative ways of accessing/displaying the data; ways which do not rely on the dynamics of JavaScript or mouse input.

    While the guidelines above are certainly general enough to apply to most AJAX solutions, you must make a personal evaluation for your specific needs.



    References:
    [en.wikipedia.org...]
    [sourcelabs.com...]

  •  

    tedster

    WebmasterWorld Senior Member tedster us a WebmasterWorld Top Contributor of All Time 10+ Year Member



     
    Msg#: 21 posted 5:20 pm on Oct 6, 2006 (gmt 0)

  • the browser's built-in back/forward navigation is broken
  • the ability to bookmark is completely lost
  • Sounds a lot like frames, doesn't it?

    DrDoc

    WebmasterWorld Senior Member drdoc us a WebmasterWorld Top Contributor of All Time 10+ Year Member



     
    Msg#: 21 posted 5:58 pm on Oct 6, 2006 (gmt 0)

    You know, it really does. But, that's not to say that frames cannot be used in an accessible way. Same with AJAX. It just takes a lot of work and know-how to do so.

    [edited by: DrDoc at 8:27 pm (utc) on Oct. 6, 2006]

    jtara

    WebmasterWorld Senior Member jtara us a WebmasterWorld Top Contributor of All Time 5+ Year Member



     
    Msg#: 21 posted 9:48 pm on Oct 8, 2006 (gmt 0)

    Take a dynamic and collapsible menu, for example. The more common implementations are horrible from an accessibility perspective.

    Wonderfully accessible menus can be created using CSS. When viewed with a browser that doesn't support CSS (or with styles turned off) they just show the underlying list structure.

    You can zoom back to 1995 or back to to the future, simply by turning stylesheets off or on.

    Tastatura

    5+ Year Member



     
    Msg#: 21 posted 10:53 pm on Oct 8, 2006 (gmt 0)


    The problem.
    ...
    # the browser's built-in back/forward navigation is broken
    # the ability to bookmark is completely lost

    Here is a possible way of how to handle bookmarks and back button functionality - Article (tutorial) from O'Reilly:
    AJAX: How to Handle Bookmarks and Back Buttons [onjava.com]

    Since I know very little about JS, and even less about AJAX, I can't properly weigh merits of the implementation described in the article, so I am 'putting it out here' just as a reference point...

    DrDoc

    WebmasterWorld Senior Member drdoc us a WebmasterWorld Top Contributor of All Time 10+ Year Member



     
    Msg#: 21 posted 8:18 pm on Oct 9, 2006 (gmt 0)

    jtara, I'm not saying that collapsible menus can't be both accessible and usable. They can. The problem is that so many JavaScript driven navigation systems exist which effectively nullify the ability to navigate the site in any shape or fashion without both a mouse and steady hand, not to mention the need for JavaScript to be turned on.

    Speaking of CSS menus. Let's make it clear that "CSS menu" does not automatically improve accessibility or usability. In addition to being concerned about whether CSS capabilities are available in the useragent or not, we must consider whether our menu system is navigable using a keyboard alone, or whether it is purely mouse driven. A menu system should make sense and work regardless of whether a visual or non-visual useragent is being used, and whether the user is utilizing a mouse, keyboard, wand, etc.

    It can be done, like you said! It certainly can! But are most collapsible menus actually accessible and usable. No. They stop functioning the second you no longer use the mouse or turn JavaScript off.


    Tastatura, thanks for that link. I think it addresses some of the possible solutions available for AJAX authors. Unfortunately, the vast majority of AJAX promoters seem oblivious to anything related to accessibility and usability. Addressing the issues with back-button functionality and the ability to bookmark is a very good first step. But it is definitely not the whole answer.

    encyclo

    WebmasterWorld Senior Member encyclo us a WebmasterWorld Top Contributor of All Time 10+ Year Member



     
    Msg#: 21 posted 2:00 am on Oct 10, 2006 (gmt 0)

    There's a good introductory article from the IBM Accessibility Center covering some best practices and things to look out for when developing an AJAX application:

    [www-306.ibm.com...]

  • Provide an indication that scripting is required
  • Provide an option for manual notification
  • Provide notification of updates
  • Provide notification of focus shift
  • Make navigation easy
  • Update elements with new content instead of creating new elements

  • ashear

    10+ Year Member



     
    Msg#: 21 posted 4:49 pm on Oct 10, 2006 (gmt 0)

    I hate to say this, but I completely disagree and I normally do not.

    AJAX yes is by itself inaccessible, however with a proper implementation you can make it SEO friendly.

    AJAX has some incredible abilities to add to your navigation, we have spent a lot of money asking users if they like Ajax navigation or not. The answer 100% of the time, especially with users who are not web savvy, love it!

    wildbest

    5+ Year Member



     
    Msg#: 21 posted 5:09 pm on Oct 10, 2006 (gmt 0)

    Good and timely idea DrDoc.

    DrDoc

    WebmasterWorld Senior Member drdoc us a WebmasterWorld Top Contributor of All Time 10+ Year Member



     
    Msg#: 21 posted 5:22 pm on Oct 10, 2006 (gmt 0)

    AJAX yes is by itself inaccessible, however with a proper implementation you can make it SEO friendly.

    AJAX has some incredible abilities to add to your navigation, we have spent a lot of money asking users if they like Ajax navigation or not. The answer 100% of the time, especially with users who are not web savvy, love it!

    We are not talking about whether it is SEO friendly or not. We are talking about whether AJAX and similar dynamic solutions are accessible, usable, and just generally userfriendly.

    When you did your research and asked users if they'd like these AJAX solutions or not, did you also ask people with various disabilities, old people, etc?

    ashear

    10+ Year Member



     
    Msg#: 21 posted 6:43 pm on Oct 10, 2006 (gmt 0)

    When you did your research and asked users if they'd like these AJAX solutions or not, did you also ask people with various disabilities, old people, etc?

    Absolutely, our focus is not on the high tech user. They are easy to please; we are focused on the NON computer savvy folks out there who want an easy experience. To be clear we are not using Link Clouds or silly features like that. We are using large easy to understand images that are appealing to the user.

    It also may have helped if I read that this was in the Accessibility and Usability Section. ;-)

    DrDoc

    WebmasterWorld Senior Member drdoc us a WebmasterWorld Top Contributor of All Time 10+ Year Member



     
    Msg#: 21 posted 8:21 pm on Oct 10, 2006 (gmt 0)

    It also may have helped if I read that this was in the Accessibility and Usability Section

    That's ok ;)


    Well, then you deserve kudos for polling and testing with those who may otherwise be challenged by such dynamic solutions. I think that's where most fail. It's not that you can't make these solutions accessible and usable for everyone ... it's that almost no one seems to care.

    Would you care to share some of your experience with such an implementation? I think that would be valuable feedback for all of us. Perhaps share some dos and don'ts, things that worked well, and things that had to be rethought. Specifically, measures you took to ensure usability and accessibility.

    wardbekker

    10+ Year Member



     
    Msg#: 21 posted 8:31 pm on Oct 10, 2006 (gmt 0)

    Tedster,

    It doesn't only sound like frames...check out this Jakob Nielsen Alert Box spoof where they took his "Why Frames S**k (Most of the Time)" article and just did a search and replace of frames into Ajax. You would think it's really a legit article about why Ajax is not pretty...

    Check out the spoof:

    [usabilityviews.com...]

    And the original article:

    [useit.com...]

    ashear

    10+ Year Member



     
    Msg#: 21 posted 9:46 pm on Oct 10, 2006 (gmt 0)

    Would you care to share some of your experience with such an implementation? I think that would be valuable feedback for all of us. Perhaps share some dos and don'ts, things that worked well, and things that had to be rethought. Specifically, measures you took to ensure usability and accessibility.

    I would love to share the specifics, however its highly competitive data and I am afraid I canít give it out. I can say if it hindered our user experience in any way, we would have killed it. But its easy to figure out where I work and its easier to see the implementation on the home page. ;-)

    DrDoc

    WebmasterWorld Senior Member drdoc us a WebmasterWorld Top Contributor of All Time 10+ Year Member



     
    Msg#: 21 posted 9:58 pm on Oct 10, 2006 (gmt 0)

    heh

    Looks like the spoofers weren't very good at "find and replace":
    In the long term, we will need a richer model for hypertext nodes on the Web than can be supported by frames.

    philbish

    10+ Year Member



     
    Msg#: 21 posted 1:33 am on Oct 11, 2006 (gmt 0)

    I love AJAX! For me, it is not only cool but also very useful. It speeds things up.

    On the public part of my site, I use it for getting shipping rates in the store, forum posting, and post management like deletes or edits. And of course I've made it compatible when JS is disabled.

    For me, the benefits of response time greatly outweigh the disadvantages of poor accessibility.

    On the admin side of my site, I heavily use AJAX. It's great!

    pixeltierra

    5+ Year Member



     
    Msg#: 21 posted 8:02 am on Oct 11, 2006 (gmt 0)

    I certainly understand that the accesibility issue is an important one. However I've learned the hard way that people don't change unless you hit them in the pocket book.

    I recenty read that a big company (Target?) was getting sued for accessibiltiy problems. The court ruling could set a precedent that would force conformity. That perhaps would spur the development of technology that that actually makes it easy (huh!) to be more inclusive than exclusive (and still pack pizzazz)

    I personally am of the inclination to appeal to people's virtues and moral sensibilities, but I'm too experienced in the world to actually thing that the former would have a high success rate.

    There must be a study done somewhere that shoes the amount of lost revenue incurred by lack of accessibility...

    By the same token, one must consider the audience of a site when considering accessibility and design. Take Webmasterworld. By the domain name I assume that anyone frequenting this site would be a webmaster, and as such has the physical abilities required to thrive as a webmaster, namely: hands to type, ability to use a mouse, eyes to see the screen, etc. So I would consider Webmasterworld completely in their right to use technology and design that assumed these abilities. Clearly not all sites need to take into acount every possible disability.

    Asianne

    5+ Year Member



     
    Msg#: 21 posted 2:03 pm on Oct 11, 2006 (gmt 0)

    Although, I can understand your frustrations, I read your post as a bit one-sided. AJAX, in it's raw form used in over abundance might leave website visitors a bit squeamish, but a minimal use to enhance a visitors experience with online forms or simple software could be a saving grace for visitors and webmasters alike.

    I utilize minimal ajax to produce an online booking system for golf course tee times. The system utilizes a basic AJAX XMLHttpRequest scenario that pushes information through mysql and php. Nothing fancy, it's basic and simple - quite easy to recreate and not at all intimidating to visitors. In fact, it enhances the experience altogether, allowing users to view their itineraries quickly through the system.

    I'm sure that your post is directed to webmasters who perhaps utilize more AJAX than is necessary, however, the generalizations are there, perhaps you should look into more basic AJAX practices and promote it's use to enhance visitor experience, rather than throwing the whole process out the door. I personally, will continue to use simple forms of AJAX to produce applications that are a positive to my websites.

    [edited by: Asianne at 2:04 pm (utc) on Oct. 11, 2006]

    [edited by: engine at 2:26 pm (utc) on Oct. 11, 2006]
    [edit reason] See TOS [webmasterworld.com] [/edit]

    jessejump

    5+ Year Member



     
    Msg#: 21 posted 3:01 pm on Oct 11, 2006 (gmt 0)

    >>> Take Webmasterworld. By the domain name I assume that anyone frequenting this site would be a webmaster, and as such has the physical abilities required to thrive as a webmaster, namely: hands to type, ability to use a mouse, eyes to see the screen, etc. So I would consider Webmasterworld completely in their right to use technology and design that assumed these abilities. Clearly not all sites need to take into acount every possible disability.

    You could stretch that line of thinking to rationalize not making any site accessible.
    Sporting goods
    Cameras
    Electronics
    etc.......

    pixeltierra

    5+ Year Member



     
    Msg#: 21 posted 5:08 pm on Oct 11, 2006 (gmt 0)


    You could stretch that line of thinking to rationalize not making any site accessible.
    Sporting goods
    Cameras
    Electronics
    etc.......

    Not really, or perhaps you could if your goal was to look for excuses not to make sites accessible. My goal would be to get the most out of limited resources by thoutfully eliminating unnecessary features based on audience. I can easily imagine cases where purchasers of the above products would not actually be the ones using the products. And there are researchers, statisticians, students and the like, required to access these sites.

    But the point is that the nature of the site influences the type of accessibility that the developers account for. How about a painter's website? On a very finite budget would they want to go out of their way to make it accessible to the blind? My professional advice would be no, don't go out of your way. Consider the audience.

    On another note, my other job is a language interpreter at a hospital. I interpret English, French, and Spanish. In the eyes of the law (US) title VI of the non-discrimination act includes country of origin, and by extension, language. So language is considered an accessibility issue (which I've heard no one mention here). But you must consider the specific needs of the users. Obviously every website cannot be in every language. My point is that you have to choose your accessibility features to fit your audience.

    jexx

    10+ Year Member



     
    Msg#: 21 posted 6:42 pm on Oct 11, 2006 (gmt 0)

    i've done quite a lot of research about AJAX for UI improvements to make the user's site experience a bit more pleasant.. although ajax is great, the main problem as i see it is in how it is utilized; most people's inability to properly code JavaScript and widely varying end results (since there is no standard API)..

    so, i looked at macromedia's flex as a potential web 2.0 solution.. however, the $10K+ per seat price tag made it less attractive to say the least..

    so.. did some more research and stumbled upon OpenLaszlo .. obviously we're not talking SEO friendly here, but for certain applications that require improved, web 2.0 style, usability and extensive compatibility.. laszlo does the trick..
    its exports to macromedia flash swf's -or- DHTML which makes it very attractive, especially if combined with SWFObject to do Flash player detection.

    for smaller UI improvements, AJAX (and especially when it is used with PHP using the xAJAX library) is quick and does the trick..
    however, do take a look at open laszo as an alternative..

    flyerguy

    10+ Year Member



     
    Msg#: 21 posted 8:21 pm on Oct 12, 2006 (gmt 0)

    I'm going ahead full speed and making my websites behave like desktop applications, with .NET and Ajax-style solutions.

    MS Word doesn't have a 'Back' button, so I can't see why lack of standard HTML navigation can be an argument against AJAX. Can every modern desktop application be accessed by blind, quadraplegic, users with Netscape Navigator 2.0? No? Then why should my web app be restricted to this criteria?

    Users just want the info, if some of the users need a puppet show to explain how to get here and there, well.. sorry, that's not the customer I can cater to.

    jtara

    WebmasterWorld Senior Member jtara us a WebmasterWorld Top Contributor of All Time 5+ Year Member



     
    Msg#: 21 posted 10:13 pm on Oct 12, 2006 (gmt 0)

    Can every modern desktop application be accessed by blind, quadraplegic, users

    Actually, for the most part, yes.

    Take a look at Windows accessibility features, as well as Microsoft's general interface guidelines. If you follow their interface guidelines (for example, commands are all accessible from the menu, important commands have shortcuts, etc.) a Windows app is automatically accessible by a user who turns on Windows' accessibility features.

    Following the interface guidelines buys you a LOT beyond accessibility for the disabled. It gets you a long way toward internationalization, productivity enhancement by using text-to-speech and speech-to-text (my dentist's office uses speech to text, for example - the hygenist wears a headset), etc. It also buys you scriptability.

    All of these things lay below the surface unseen for most Windows users. But most decent desktop apps are built in such a way that most/all of these features work. A lot of this just comes automatically by using a programming framework.

    You aren't making your website behave like desktop apps. You are making them behave like desktop apps behave for sighted, hearing, non motor-challenged individuals who are using them in the most obvious ways.

    DrDoc

    WebmasterWorld Senior Member drdoc us a WebmasterWorld Top Contributor of All Time 10+ Year Member



     
    Msg#: 21 posted 12:58 am on Oct 13, 2006 (gmt 0)

    An important thing to remember -- in many places (especially in Europe, or depending on the type of site you run) it is in fact illegal not to be accessible and usable.

    I also have to ask -- why not make a site accessible? Are there really reasons not to? An inaccessible site is by default not accessible at all times to non-blind or non-quadraplegic users.

    "Oh, oops ... I have JavaScript turned off for security reasons. Bummer, now I cannot access your site."

    Not being accessible and usable under circumstances which easily allow it is lame.

    That's not to say that all features are always 100% accessible to everyone. Of course they're not. But if main functionality (such as navigation or other core features) are not usable ... I don't care if additional bells and whistles are not accessible. They're just fluff anyway.

    DrDoc

    WebmasterWorld Senior Member drdoc us a WebmasterWorld Top Contributor of All Time 10+ Year Member



     
    Msg#: 21 posted 1:00 am on Oct 13, 2006 (gmt 0)

    I think this thread deserves a read about everyone who immediately disregards accessibility and usability: [webmasterworld.com...]

    pixeltierra

    5+ Year Member



     
    Msg#: 21 posted 8:33 am on Oct 13, 2006 (gmt 0)

    What about the idea of having multiple "modes" for a site, akin to desktop (office) software as mentioned above, where one could essentially choose which "mode" to operate in?

    One mode for the "standard" user (a loaded concept, I'm aware), and made to appeal to the average user's desire for speed, visual stimuli, etc, and not bound by restrictions that accessibility brings. Then another "accessibility optimized mode" meant to be highly accessible to those whose with disabilities.

    The first page of the site would be a 'portal' giving the users the choice to view the site in "standard" mode or in "accessibility optimized" mode. This would relieve the strain for those who feel that their image and creativity are stifled by accessibility concerns.

    Wouldn't this be viable option? They wouldn't even have to be separate "sites" or "files", but use session vars based on portal choice to determine how to display such things as navegation, and change images to text, etc.

    DrDoc

    WebmasterWorld Senior Member drdoc us a WebmasterWorld Top Contributor of All Time 10+ Year Member



     
    Msg#: 21 posted 4:41 pm on Oct 13, 2006 (gmt 0)

    That's a perfectly viable option. In fact, there are instances when that approach is indeed the desirable.

    As an example, I'm sure you have seen sites take that approach with Flash vs HTML versions. Sometimes these duplicate versions are, well, somewhat pointless ... as the HTML version is sometimes as inaccessible as the Flash one. But, if we are talking "no bells and whistles, plain HTML, but fully functional" vs "enhanced" it is an excellent approach. You get your preferred version with all the flashy stuff. Then you also get a secondary version which, although plainer, is certainly more accessible. In fact, you have even given cellphone and dial-up users an option now!

    wmuser

    WebmasterWorld Senior Member 5+ Year Member



     
    Msg#: 21 posted 9:41 pm on Oct 16, 2006 (gmt 0)

    Nice post and i guess this is true,Ajax is overdiscussed as anything new or anything that makes teh buzz

    Global Options:
     top home search open messages active posts  
     

    Home / Forums Index / WebmasterWorld / Accessibility and Usability
    rss feed

    All trademarks and copyrights held by respective owners. Member comments are owned by the poster.
    Home ¦ Free Tools ¦ Terms of Service ¦ Privacy Policy ¦ Report Problem ¦ About ¦ Library ¦ Newsletter
    WebmasterWorld is a Developer Shed Community owned by Jim Boykin.
    © Webmaster World 1996-2014 all rights reserved