views:

135

answers:

5

There are couple of things I hear in defense of progressive enhancement.

Javascript is off or not available. According to W3School's Javascript statistics, 95% had Javascript enabled January 2008 (2.5 years ago). The trend, based on those stats, seems to be that Javascript enabled browsers are on the rise. Heavy AJAX adoption has probably pushed users to enable even faster. To support text-only or accessibility doesn't make a lot of sense from the business perspective since they probably account for less than <1% of the traffic.

Mobile browsers won't work. I would either way create a mobile version of the site because of the limited screen size and a whole different browsing experience on the mobile devices. One could argue to use different CSS for screen readers/mobile devices, but you won't be able to crank up as much information on a mobile device no matter how tidy you make it look.

The original statement isn't even true for the newer generation mobile devices, like the Android and iPhone, which have a total of >200,000 combined daily activation rate. Besides, most Javascript eye-candy (like jQuery UI) doesn't make much sense because the website experience on the mobile device is so different (no mouse hover, etc.). I consider mobile devices to be a platform of their own that needs a customized version of the website. Another trend has been creating a "native app" version of the website/service.

Spiders won't be able to crawl. This isn't true either. It's possible to use the DOM as a data container for the Javascript (populate div/input tags with your entities). Also, Google has made efforts to make AJAX websites crawlable.

Similar threads:

Interesting links:

+6  A: 

Javascript is off or not available

And use of plugins such as NoScript is also on the rise (unsurprising since JS vulnerabilities have been a popular attack vector, and it doesn't need a vulnerability for a looping alert() bomb to spoil your afternoon)

Mobile browsers won't work.

And then we have browsers such as Opera Mini, which doesn't handle JS well but does handle large screen layouts well.

Spiders won't be able to crawl

So you can work around some dependency on JS in some search engines by spending time providing instructions on how to run the JS, and building it in a particular way in the first place. This is often higher maintenance then just building with progressive enhancement.

David Dorward
A: 

Is IE6 still around? Yes. So you still need workarounds. If PE is better than the others can be discussed.

As for JavaScript: The new big security hole can turn public opinion into believing "JS == Satan", so they will all switch it off and lynch those who argue pro it.

Finally, every little problem with your site will cost you customers. So what should it be? Do you want a site that is easy to create (but turns away most people, especially those with influence) or a site that tries hard to shine in any browser (and attracts more visits)?

Aaron Digulla
+1  A: 
  • Google is trying, but good is it at it? Does it affect site rank? What about other crawlers?
  • Mobile devices are important and they are going to be even more. You can make a separate mobile site, but wouldn't it be easier to make one site instead of two?
  • Even if it is only 5%, can you afford to loose them?
  • What does it take to support browsers without javascript? Just make a link out of every interactive object and let the script handle it if it can. It may not be perfect, and you cannot do everything that way, but it can be made usable.
zvonimir
+1  A: 

With WAI-ARIA attributes, you can build Ajax applications that are accessible. Sure... There are still some issues with drag and drop etc, but don't use statistics to prove that accessibility isn't worth while.

Gert G
You are mixing business with philanthropy. Evaluating the cost-effectiveness of supporting a feature set that results in new customers should be based on statistics. Don't get me wrong, my deepest sympathies to people with disabilities. But as stated, we are creating/running a business and prioritizing accessibility support isn't very high on the list since the monetary gain from it isn't relatively as high. It's simple as that.
randomguy
I don't think ARIA is that overhead. You still need css classes to style your content. But you can use ARIA roles and states instead to get the same effect plus it makes it usable for screenreaders supporting ARIA. So instead of class="button active" you can use role="button" aria-pressed="true". This attributes can used in css to style your button, if you dont need to support ie6.
eskimoblood
@randomguy - I suggest you argue the case with your management. And when you're at it, you might suggest that to save even more money, you should outsource IT to some cheaper emerging economy. After all, it makes business sense and your company isn't a charity.
Gert G
@Gert G - Wow. What are you babbling about? Geoarbitraging might really be a good business decision. But why are you stating the obvious and projecting the (reasonable) argument I threw at you? You or your near relative must be disabled. My condolences. Lets heal all the diseases, bring the world peace and live happily ever after. Time to come to reality. You don't even know the website/service I'm creating and yet you have a really strong position on how useful it will be to the disabled. I'm the management, although I don't see how that is relevant.
randomguy
@Gert G - You must define what worth while means in this context for us to continue. Making the world a better place doesn't cut it. Do you honestly take the effort of making every website you create accessible?
randomguy
@randomguy - Yes.
Gert G
@Gert G, I wish I had the chance. I wish I had unlimited time and resources. Please understand it is not a question whether I would, personally, like to add the support. All the kudos I have for trying to help those people. No hardies. I have a family to feed. I will do everything in my power to maximize the likelihood of this project succeeding to feed them. Currently, adding accessibility support (along with many other things) adds unnecessary complexity that doesn't help me to get to the goal, nor does it generate any income. My family's wellbeing (to reasonable extent) comes before others.
randomguy
The complexity might be a legal requirement, depending on the jurisdictions you operate in.
David Dorward
A: 

It depends on what you're building.

For web applications, PE often isn't ideal. The effort involved in PE for web apps without compromising the UI of any of the platforms is so big that building multiple front-ends is most of the time cheaper and more effective for your users. A well-designed mobile UI is often functionally different from its desktop cousin by necessity. Search engines usually don't matter much for web apps because the content itself shouldn't be indexed. As an example, look at gmail, which implements several different front-ends, and just redirects users to the appropriate one.

For web sites, things are very different. Content is more static, and it needs to be indexed. In that case, PE is almost a given.

So, you'll need to look at your specific projects and evaluate the pro's and con's for each one individually.

Joeri Sebrechts