Progressive enhancement really is a lost art huh
JavaScript
Got to disagree there. Websites should work without js. Sure it shouldn't have fancy animations or whatever but I should be able to read it.
Depends on what kind of website we are talking about.
If it's a website whose purpose to display an article or images or similar, I agree with you.
If its main purpose is something that requires interaction by the user (i.e. it's a "web app"), then it's not a reasonable expectation that it should work without JS, and then I agree with the OP.
Even "web apps" don't necessarily need javascript. Is a forum a web app? It has plenty of user interaction and forums without javascript have existed since before HTML. Even stuff like Mastodon doesn't necessarily need javascript, it can work as static pages.
I agree that these are more of a continuum than a binary.
E S O T E R I C
I remember when webservers served content, and didn't just pass me megabytes of bloated spaghetti and say "here, YOU run this."
I hate this cursed timeline where even finding out the opening hours of a restaurant needs to load half a dozen frameworks.
I hate the padded aesthetic of everything. Like I use an old.reddit clone on lemmy cuz I just wanna access the content ffs.
Good developers can write websites that have non javascript fallbacks.
For example, a form to save settings with a save button, but when javascript loads it hides the save button and makes it automatically save when you toggle options.
This woman is part of the problem of the current internet. There are only a few sites that make sense to only work with JS enabled and federated social media is NOT one of those. Wanna know why? Because all the JS bullshit is just to make shit "pretty". The data isn't - rather, should NOT - reside entirely in the JS.
EDIT - To make matters worse, the site in question is this - https://bestestmotherfucking.website/ ; which is "inspired" by Motherfucking Website and Better Fucking Website. I'm thinking this is just trolling and we fell for it
To make it "pretty"? That's more CSS I would say, and JS would be more about UX.
Which I haven't seen anybody here mention. Which is kinda giving antisocial nerds with hobby projects? I mean, in professional development you learn very quickly how ux is correlated to helpdesk tickets.
Like, we can talk about technical purity excercises all day, but code doesn't exist for its own sake.
So... there's a practical difference between rendering markup, which is handled by the browser engine and generally benign, and running executable script, which is frequently malicious.
Allowing your website to load JavaScript means that I'm allowing you to execute arbitrary code on my hardware. Hopefully the potential blast radius of any malicious code is limited by safety precautions in my web browser, but a web browser is not a security barrier and should not be relied on to protect the local system from malicious code downloaded from the Internet. The most pernicious and seemingly unavoidable behavior of JavaScript on most websites is device fingerprinting, and to get a better understanding of how much of a problem that is check out https://coveryourtracks.eff.org/
The simplest step to prevent a lot of this malicious behavior is to block executable script. This is not really a new thing on the Internet, as extensions like NoScript have been around for 2 decades and have millions of users. This should be anticipated by the web developer as a completely normal use case.
Competent web developers understand that they have privacy-conscious users who block external executable script as a matter of course. Your website(s) should be designed to account for this, and should at least render and display information in a readable way without needing to execute your un-vetted code on the user's system. Maybe some dynamic functions of the website don't work, but that's OK as long as the majority of the site is accessible. A JavaScript-dependent website is no better than a Flash-dependent website, in terms of security, privacy, and professionalism.
NoScript frames this as a consent issue, and that's probably valid:
NoScript enables consensual browsing: your browser, your choice!
Counterpoint: If I host a website on my server, I can do whatever the fuck I want (within legal limits). Unless NoScript users are a sizable fraction of my userbase or target market, it makes no financial sense to spend time or resources on developing a fall-back without Javascript.
I am not even a Web Dev. Just made a little profile site, which I didn't even complete.
And I tested it without JS.
JavaScript has been my favorite language for a decade. Still, I try to make websites server-rendered so that they can be read if my code fails to load or execute. For example, there are power outages in Ukrainian cities for most of the day because of the war. When there's no power, there's still 4G for a while but it switches to economic mode and slows down to a crawl. The websites of the monopolist energy company require a lot of JavaScript. It often fails to load for me during the outage. It's also not keyboard-accessible because of how its JS is implemented (I won't image I'd do better, they have a team while I'm a solo programmer, but I try and they don't). For me to see when there will be electricity at what place and plan where to go study and work, I have to rent a VPS, scrape their website and show me a static table that doesn't require JS to load. Some code to see what I mean: https://codeberg.org/nykula/powerup
JavaScript has been my favorite language for a decade. Still, I try to make websites server-rendered so that they can be read if my code fails to load or execute
Have you tried Astro? It's good for exactly this. You write Astro components that look a little bit like React components, but they're all rendered either during the build (when using static site generation) or server-side.
You get the developer experience of a modern JS framework, with the output of a static site with minimal JS.
Yes, I tried multiple popular SSR frameworks and use one at work. As a hobby, I've been making my own SSR framework that is much more minimal, based on Preact, Valibot, Vite, node:sqlite, URLPattern, gettext.js and a few companion libraries. (But components look more like old-school Mithril than React because no JSX extension, just standard JS.) I want its node_modules to stay below 200 MB and to pick such dependencies that the apps built with it can be included in Debian repositories and potentially FreedomBox. Hopefully I'll be ready to make a fedi post about it next month.
So if for any chance you can't use JS (outdated browser, outdated system, text-based browser, JS disabled by an admin, JS won't load, assistive technology) then... it's your fault?
- outdated browser - your fault, and a foolish thing to use considering the modern, online threat landscape
- outdated system - your fault, and like above you probably shouldn’t connect to the internet with that thing
- text-based browser - your fault, and it shouldn’t surprise anyone that websites break when you use a browser that misses major functionality
- JS disabled by an admin - your admin’s fault. Go complain to them, not to anyone else
- JS won’t load - depends on reason for why JS fails to load
- assistive technology - depends on the reason; your assistive software may be broken or misconfigured, or the website fails to follow best practice
You missed the point completely, though - you should not expect every user to have a shiny updated browser in a shiny new machine using your website, and blaming them if they don't.
If you want your website being able to be used by most of users, you better cover all use cases. That includes providing non-js fallbacks. Not doing that and blaming the users instead is just ridiculous.
Braille interpreters (think a row of nubs that raises up the relevant letter as it "reads" the page) used to have issues with some webpages unless you accessed them via text based browsers. No idea if they still struggle as much but text based browsing will always have a function and place
Or what if you don't have internet? Is it your fault you can't access the website?
Nope. Fuck your site.
There's a difference between a website and a web app. Websites indeed should not require JavaScript to function. Web apps are a different beast where, yes, disabling JavaScript means you are opting yourself out of being able to use the app.
Fuck this.
The state of the web, and software in general, is fucking abysmal. And it is in no small part due to this kind of shit. You want this recipe/news/whatever? Here is a hundred mbs of frameworks, trackers, spyware...
What's even the point nowadays when every website, sorry, 'wEb ApP' is going to make me install their crappy app to give me full functionality? Then the app is just a web view (when not a wrapped full fledged web browser) to present their shitty web but with more privileges.
JavaScript was my first language because my initials are JS. After spending some time on programming.dev and seeing how many people bitch about JavaScript, I wrote a Python templating engine to convert Markdown into static HTML with CSS. I have like 10 lines of JavaScript that pre-populates a selector based on the URI's query string, but that's it. I got a perfect score on my Lighthouse report (and learns it gives you confetti when you do).
It took some creative problem solving, but I discovered that I didn't need like 99% of the JavaScript or PHP that I was using. What I needed was mostly to get good at CSS.
Isn't javascript the source of vulnerabilities in software? Enabling it is a security threat. This is victim blaming by whomever this woman is.
Basically everything is a security threat one way or another.
If you want other people to do things for you, it's a potential vulnerability, so if you don't want that, don't let people do things for you. But then don't complain that they aren't doing things.
Disabling JavaScript is a tradeoff, you trade off its conveniences for security and resource usage. But you can't have your cake and eat it too.
What is the site?
for like, a blog, I think that's an ok complaint to have.
I suspect it's this - https://bestestmotherfucking.website/
I also suspect both the site and that message are trolling
Small world-view moment