The thing is, it's not your goal to cater to as many users as possible. It's your goal to optimize your ROI on development time. The reason we have to have laws about accessibility is that your average fast food place knows that wheelchair-bound hamburger sales will never make back the cost of constructing a wheelchair ramp. The economics of the situation wouldn't provide for disabled people, so we have to have regulation to make sure they get taken care of.
(And before anyone jumps on that and misinterprets me, I am not comparing disabilities to turning off JavaScript. I'm simply showing by example that it is not good business to try to grab every possible customer at any cost.)
It is bad practice to couple content (the "what") with functionality (the "how"). The content itself should not depend on how it is displayed. From an engineering standpoint, this makes your code unmanageable and unmaintainable in the long run. These stupid shortcuts of forcing users to have Javascript on just to display content only cause me minor inconvenience, but it will cause you much more harm when it's maintenance or upgrade time.
But you or everyone else on the JS bandwagon don't need to listen to me - I'll "temporarily allow" only the minimal amount of scripts on your page to see what I want to see and I will move on. You will need to live with this code during the next update cycle.
Abstarting things for the sake of abstracting is a rather naive approach. It's a good starting point, but some abstractions complicate things way beyond what's needed.
By the way, a quick search for sticky page footer on Google turned up this as the first result -- no JS needed, and it didn't even look that hard (http://www.cssstickyfooter.com/using-sticky-footer-code.html).
Sticky footer - an element that sits at the bottom of either window or the content area, whichever is furtherest down.
Then, taking that HTML and enhancing it with JavaScript (aka progressive enhancement) is also a violation of separation of concerns, and I would argue against it in any but the very simplest of cases. Instead, you should use JavaScript to operate on the raw data and display it to the user. You can then also write server-side code that generates a plain-HTML rendering of that same content, but that is more work, and that means it's a trade-off.
And I think in many cases that trade-off is worthwhile. But this idea that it somehow saves you time in the long run and doesn't end up costing you is pure fantasy.
>But you or everyone else on the JS bandwagon
God, that's annoying. My pointing out a flaw in a particular argument does not imply that I am "on the bandwagon" opposing that argument. I think that making your content accessible without JavaScript is a good idea whenever possible, but I do not think it is useful to pretend that you can do so without trade-offs. I don't have to agree with an argument just because I agree with its conclusion.
You're free to browse the web with parts of it turned off. But you should expect that parts of it might not work, and if they don't work it should be immediately obvious why. Could Digg make it fall back? Yes. Should they? Only if they really want to. It seems they don't really want to. No one wants to cater to IE6 users, either.
Yes, it should be immediately obvious, but often it isn't, and that's my biggest complaint with sites that rely on scripting for basic behavior.
Too many times I've filled in a form, hit the Submit button, only to find that proper form submission does not work without scripting. Nothing on the page warned me, nothing stopped me from filling in the form, even though there are snake-simple ways to tell no-scripters of missing behavior, or to simply prevent bad behavior when scripting is turned off.
(The other complaint I have is why sites rely on scripting to do things that are baked into HTML. For example, using divs as text areas instead of, say, using a textarea as a text areas.)
I use AdBlock and Ghostery to disable ads and Facebook buttons. But when I get to a sign in page and there's no links, I know that it's a Facebook login button. When I watch a video on Hulu and it doesn't load, I know that AdBlock is preventing me from seeing that show. But I don't go on forums and complain that developers should cater to me breaking their websites. I say to myself "oh hey, I've made a choice that broke this site. Let me take 5 seconds to fix it myself."
"Your site doesn't work with NoScript" means the same thing to me as "they don't speak German at the Chicago McDonald's". I mean, that sucks for you, but honestly do you ever step back and wonder why that is?
Not by a long shot. More like a sign in Braille explaining how to get further assistance if needed because not every sign the place may be accessible to the sightless.
Why should I or anyone else have to add code specifically to tell users of NoScript that they need to be reasonable?
Because so many sites use unreasonable scripting. NoScript is a reasonable defensive move because of too much aggressive scripting.
Honestly, do you ever step back and wonder why NoScript even exists?
Bottom line, though, is nobody has to do much of anything for anyone, and it's entirely up to the site owner to decide how they treat people with NoScript and what it's worth to add an additional 20 character or so of boilerplate text to a page.
If nothing else it's a courtesy.
It's just like smiling at people you deal with in stores or holding doors open for strangers. Do it, don't do it, whatever you think is proper. Make the world you want to live in.
I get that my choices are niche, and that's OK. I can live with the downsides. There are very, very few sites I can't simply close a browser on if I don't care for how it's presented for me. No one loses any sleep.
I suspect most people with NoScript use default blocking and whitelist sites as needed. So if I get a clear sign that I need scripting before I start doing anything, and it looks worth it, it's easy to allow the domain. That doesn't require any real effort from a developer, and if that's considered catering then we're all screwed.
Seriously though, NoScript user base is - and let me really blunt about it - a vocal minority with a bloated sense of entitlement. Catering to them makes no practical sense. There are obviously edge cases, but the best option is to put up a note that JS is required. If Digg doesn't have it, they should add it, but beyond that it's money wasted.
There is a philosophy (with some merit) of worse is better. So, let's be honest... you're promoting sloppy coupling in order to save developer time. The problem is that the technical debt will have to be paid back in the future.
In short, no you are not. Get over yourselves.
I was pointing out that from my perspective, the entitlement of web developers has gotten so out of control that disabling JavaScript is the best way of making the general web tolerable to browse.
How often do you run into a website with Javascript that breaks your experience? Would it not be better to have a blacklist than a whitelist?
What you're looking for is browser sandboxing, and it exists.
Their goal was to build a MVP as quickly as possible.