Gmail just became really good
henry.precheur.org
henry.precheur.org
Also JS makes the web less "accessible": Think about handicapped people who can't use IE / FF / Safari.
Avoiding Javascript is one's personal choice. Ideally Javascript should not be mandatory for surfing.
I do a lot of work for and with visually disabled folks, and it's usually the lack of any sort of fallback that's a problem. Can't tell if something changed, can't read captchas..you get the idea.
The problem with that situation is, of course, that a lot of them are using javascript-enabled modern browsers like ie7 and firefox and safari and usually not a cli browser like links, so they come across these huge webapps like the new yahoo mail that they cannot navigate at ALL very often. It's quite frustrating.
1. for those that can't see well or at all, that they can't read off the screen using not the underlying HTML source, but the current DOM and layout state to determine a reasonable way to read out the screen?
2. they offer no help for those people that have problems with precise mouse movement?
Quite frankly, the whole accessibility argument appears to be a red herring unless the state of accessibility technology is such that it is crap and is not progressive. Even properly coded Flash (much like "proper" XHTML with CSS layouts) is accessible to screen readers these days and has been for the past couple of versions.
We didn't stop building multi-level buildings to accommodate people in wheelchairs, we just added ramps and elevators. I'm not willing to stop using javascript because of crap accessibility assistants. However, I am perfectly ready and willing to to build the equivalent ramp and elevator into my javascript functionality. There is nothing fundamentally inaccessible about using javascript. If it were such a big problem, Cocoa applications or .NET applications would be inaccessible too. But they aren't (http://developer.apple.com/ue/accessibility/universalaccess....) and in fact often have specifically added the necessary ramps/elevators so that they are accessible.
And the main problem with web accessibility is that people just don't give a crap. There are plenty of ways to get a site to be fairly accessible using any of the main screenreaders and other accessibility tools out there. But it's apparently a complete waste of time and not worth the effort. Some of the biggest companies and websites are guilty of this - like Yahoo and their "newish" Mail webapp. Google is definitely a lot better in this aspect.
So no, you don't have to stop using javascript, you just have to give more of a consideration to the small percentage of potential users (depending on your audience) that may need additional tools to use your website. If it proves impossible, just create like a "text only" version of the site up at the top of the source but hidden, so screenreaders could read that but normal visitors won't see. But I doubt you'd have to go that far. See a site like http://www.jkrowling.com/ for an example. I don't know why they did it the way they did, but they have the regular flash site in different languages, then the accessibility-enabled flash version, and then the text-only. I guess that covers everyone ;)
Mouse movement is another matter - that's actually quite personal to me because I have tremors that sometimes makes it hard to accurately do things with a mouse. But there's plenty of software and hardware devices out there for people with movement disorders. It's not as big of a problem as it is for, say, the visually disabled. Ultimately I'd have to say it's not just the accessibility tools at fault here.
Simple informational websites have no excuses today for not being accessible. As you have shown, there are simply too many options for these sites for them to turn a blind eye to any one of them. But simple informational websites appear to be a dying breed. There are several streams of information being presented to users on most websites. Trying to force them all to be accessible seems to me about as ridiculous as mandating that CNN require their closed captioning feeds to have not only what the talking head is saying, but the news ticker, the stock quotes, etc. that are also thrown on the screen at the same time; oh and this closed captioning feed needs to be backward compatible with an analog 21 inch Sanyo TV :)
It frustrates me that HTML+CSS+Javascript web applications will be at an inherent disadvantage here unless we as an industry come up with some sort of convention. We could start with some notification event model, or even something as simple as saying that if your HTML markup sports an accessibility meta tag, that all DOM objects with the class name accessibility-hidden should be ignored by screen readers and that those with the class name accessibility-display should be picked up by the screen reader. The reading order of each element could even be specified by adding a class read-N to DOM elements where N >= 0 and denotes the priority of reading.
If we had something like this, at least I could hide parts of my user interface from a blind person (no pun intended!) and show them only the most important and relevant information to achieve the primary task at hand.
I understand some apps are inherently inaccessible and there's probably going to be no good solution for presenting them in an accessible manner, but the number of those are very small. e.g. Gmail does not fit into that, think of what webmail was before web2.0. I'm not even talking about some of the fancier features of the webapp like chat, just the basic email functionality. So no, it's not quite like requiring that CNN do that. Just that they provide a CC feed. The rest are not so relevant.
Nor do I want to force every site to be accessible, as it really depends on what the site is. But like i've pointed out, yahoo mail is a horrible reminder of how a big site with a popular product is just ignoring a bunch of people. I can't even count the number of folks I've had to move to gmail from hotmail/yahoo mail because the latter two are just becoming a mess in their screenreaders.
Might I point out that this isn't just for the visually disabled. I have an iPhone and no matter how much Steve Jobs goes on about how I can see nytimes.com in all its full glory, it sucks. In fact, a lot of regular sites suck a lot in mobile Safari. My fingers ache from zooming in and out and trying to click on tiny links and getting unexpected behavior. Like, I use sigalert.com daily on the phone, and I can't click accident/traffic reports on the map because whoever designed that was expecting someone with a mouse to click, not a fat finger on a small display. If it works and I actually pressed the right thing, the ajax popup of accident/traffic detail shows up somewhere totally different.
But, I have the option of going elsewhere on the same site for a list of accidents by freeway. It sucks, but it's still something, and something a LOT easier to look at on my phone. And most sites can do something like that, hence my bitching. I would be hard pressed to find a site where the same information cannot be presented in a more accessible manner. Sure it's not as nice and for the average user it's pretty dumb, but it is better than nothing.
Lastly, I think what you're looking for is http://www.w3.org/WAI/intro/aria which is a start.
Once I looked how he was surfing / coding. And he was incredibly slow ... "Normal" people scan the page. He could not, he had to more or less "read" the whole page. I did not see much more, but it gave me the impression that surfing was a frustrating experience for him.
One of his friend told me that one thing that screwed him each time a was surfing was the "Javascript links". On lots of pages (well ... too much) instead of a regular HTML link there was a piece of Javascript code witch supposedly was opening a new window or do "something smart". These links did not work for him. The worse part of the story is that the fall-back mechanism is pretty easy to do:
<a href='page.html' onclick='return do_something_smart(this.href);'>
Maybe the situation has improved. But I guess that it did not improve that much. Writing a Web-browser is complex, therefor I believe that integrating accessibility features is difficult too. And upgrading everybody's wheelchair is not easy in practice. So it is for screen-reader, and accessibility software. We still have IE 6 around! It is utopic to believe that every handicapped would upgrade in just a few years.
Of course we should not drop Javascript, but we should think about its impact. It is like adding a step in front of a building; it can be a real obstacle to some people.
The web would be a better place if we do so. Not only for our handicapped friends, but for us in the future. I don't want to give up surfing when I am old because I broke the web with fancy and non-essential features.
HTML is the web. Javascript enhance it. But Javascript is not the web.
Here is a good place to start: http://diveintoaccessibility.org/ (Does not really speaks about javascript but it gives a lots of useful advises)
As more and more applications hit the web, I don't think we'll be able to just say that HTML is the web. For better or for worse (there's a whole other argument for another day) we've entered a situation with web applications where there are several players: HTML+CSS+Javascript, Flash, Silverlight, etc. Unless somebody sits down and says "Ok everybody we really need to get a grip on creating an accessibility convention for HTML+CSS+Javascript applications" you're going to have the proprietary folks pushing accessibility as an advantage of their platform. And you know what? They'll be right.
Thanks for the link, I never heard of that website so I'll check it out. For what it's worth, I worked at a company that had some blind people test our sites when they were done nested tables and paid no attention to accessibility, and versions which (at least from a technical standpoint) implemented all the best practices. Frustratingly, they didn't seem to do much better. The content itself needed to be tailored to them because there was simply too much. Like you say, the web of today seems to be built for scanning large quantities of information. Just like you can't take an info-heavy website and throw it at a mobile device because people have different requirements and constraints when browsing from a mobile device, making a website accessible doesn't seem to be just an engineer problem but an editorial one too.
http://www.adobe.com/accessibility/index.html http://msdn.microsoft.com/en-us/library/bb980136.aspx
The problem is that people don't seem to take that kind of testing into consideration unless it really matters (e.g. section 508 for .gov websites).
Lastly, nested tables I don't think are THAT much of a problem. CSS can be useful in other ways - e.g. to display almost the same information in a completely different way that may benefit low vision people, or mobile users. It's some uses of ajax and the like that can be a problem, not so much a table based layout or something like that.
And nowadays, I don't see people "reading" the whole page..they do the equivalent of scanning, I guess, by going through the whole page and skipping irrelevant things. And if that doesn't work, then searching. Still a frustrating experience.
A very, very small minority are going to have a browser with no javascript support. It's important to have some sort of fallback, but I guess it also depends on your audience. No point in spending that time if all you're doing is catering to teens to advertise something, for example.
Of course, if web developers would stop being lazy and properly implement things like progressive enhancement and graceful degradation, it wouldn't be needed. Every site I make starts as non-Javascript, even if I plan for the entire thing to be laden with it in the end.
Then again, all of this is moot anyway, because the author gave absolutely no reasons for why he prefers the HTML version and doesn't use the JS version. I am going to run with the idea that he fears JAVASCRIPT GNOMES!!!