There are some fairly big issues with Ajax and I am puzzled. I think the Ajax community need to pay more attention here in order for Ajax to be really adopted.

Before i get into the negatives about Ajax, let me clarify my position about Ajax first.

Yes, there are huge amount of excitement around Ajax. Web companies like Google, and Yahoo are obviously behind Ajax - not only building Ajax-based applications like GoogleMap and Yahoo Mail, but also providing Ajax toolkits such as GWT (http://code.google.com/webtoolkit/) and Yahoo UI Toolkit (http://developer.yahoo.com/yui/). Traditional companies such as IBM and Microsoft are obviously behind Ajax as well. Sun is interesting - Someone joked with me that this year's JavaOne is really JavaScriptOne. BEA's position is well articulated by Bill Roth  (http://br.sys-con.com/read/245319.htm), etc, etc.

No no - I am not against Ajax. In fact,  I am a big fan of Ajax as well. I wrote AjaxWord (http://www.ajaxword.com) from 1997 to 1999, an open source Ajax-based word processor that mimicks Microsoft Word in a browser. I am also fairly actively involved with XAP at Apache  (http://incubator.apache.org/xap). Lastly, I am fairly involved with OpenAjax Alliance (http://www.ajaxalliance.org) and enjoy contributing to and working with brilliant minds such as Jon Ferraiolo, Alex Russel and Adam Peller etc.

However, despite my personal as well as community's excitement around Ajax, there are some major issues that we need to overcome:

1. 10% browsers have Javascript support turned off (see statistics at http://www.w3schools.com/browsers/browsers_stats.asp). It means that 10% users can not access Ajax-based web sites or applications. This is definitely a problem for Ajax. 

In comparison, Java is available on about 94% browsers (all new PCs are pre-bundled with JVM) and Java is available on a lot of mobile devices. Flash is probably somewhere 80%-90% coverage out of box(a side point: the marketing message from Adobe about "Flash covers 97% browsers" is not credible, given that no new PC, or browser, comes with Flash pre-installed like a few years ago. Every time you get a new PC or a new Firefox, you have to download and install Flash on your own. Techies can do it but i doubt normal computer users will be able to do that).

How should we Ajax community deal with this issue? We either have to make Ajax be able to degrade gracefully into plain HTML, or, we have to find a way to make sure all browsers have Javascript support available. We all know the latter is hard. In order for the former to work, Ajax developers and Ajax community must pay attention to this issue, which i don't think the community is paying enough attention yet.

2. Taking the issue a little further, let's talk about accessibility. Plain HTML is fairly good at this because most browsers take good care of accessibility. Most Ajax applications use Ajax widgets that may or may not support accessibility. For example, a lot of Ajax toolkits don’t have support keyboard navigation (mouse-less operation), which is a key requirement for a lot of operational applications. Does anybody know the capability of accessibility support from some of the leading Ajax toolkits such as Dojo, Yahoo UI toolkit and GWT? Please post your discovery so that it can be shared by the community.

Now you can probably see why i am puzzled some times. We all went for Ajax almost "blindly", and are ignoring some key issues that must be addressed.  Can we at least raise people's attention on these two issues, browser compatibility and accessibility, so that we are all aware of them?