GitHub have the gall talking about accessibility while flinging their octotentacles, dragging users screaming down to the firey pits of JavaScript hell.
I would suppose the above user is referring, rather snidely, to GitHub not loading commit information without JavaScript. GitHub's JavaScript use is really quite minimal, and certainly nothing like GitLab.
Github uses web-components which are not supported by
old browsers. All dynamic menus don't work without
polyfill extension(which takes 100% CPU due some bug after awhile), basic functionality like creating/modifying files works right now but there is no guarantee github wouldn't break it.
I don't understand that to be honest, commit information is fairly static, and we've been building semi-dynamic pages server-side for decades now. At their size they could probably - and probably do - have an in-memory cache for commits + basic information for super fast access.
The fact that it used to work perfectly fine without JS is proof enough that it don't need it. But I guess the average web deviloper is more concerned with stuffing one's resume with the latest fads than real accessibility and efficiency.
There's a lot of hostility on HN towards web developers. "Real accessibility" doesn't really have much to do with Javascript or not, it has everything to do with ensuring the site is screen reader accessible, ensuring the site is available for low-vision users, and ensuring that the site is available at slow bandwidths. Given that the site caters to those already (good kb navigation, stated future support for color-blindness, and the site is ~300kb/page) I think that they're in pretty good shape.
Ultimately, choosing not to run JS is your decision—but a vanishingly small percentage of users choose to do that, and as a company your focus is on providing features for the product, and not supporting every single user and their unique configurations. Should Github explicitly support terminal-based browsers like Lynx as well?
Plus, you can avoid 99% of the github website just by using git from the command line (or your favorite client) and using their CLI tool for repo creation/etc.
I really don't understand the glorification of no-js websites on HN. Like, I'd get it if it was Flash or something ('cause that definitely has some real accessibility issues, and required a plugin to be installed), but the web platform is HTML, CSS and JS. Why artificially limit yourself to just two? It seems to have become a matter of pride to say "works without JS", for absolutely no practical reason (it's not like removing JS is some silver bullet for accessibility, no-js sites can and do still absolutely have problems with accessibility)
JS is usually what kills performance on lower end devices. If websites were only html and css, my smartphone from 2015 would still be a functional device. I have yet to have a page crash due to too poorly written html and css.
It depends what you're doing with the JavaScript. This is like saying "C kills performance" because you found one slow C program. JavaScript can actually improve performance in quite a few conditions (even on lower end devices) by preventing full page reloads and such, which adds more overhead in the network, HTML parsing, etc.
If we're talking about saving bandwidth, JS can be useful, although JS bundles are usually heavier than their HTML and CSS counterparts.
I have yet to see an example where rewriting the DOM would end up being lighter on devices with lower-end CPUs and RAM than doing a full page refresh. Browsers already cache static assets, generally a page refresh only takes a second or two (on reasonable connections)
A common example is when you have a page with information and you want to load some additional data or details to display (possibly just a single line). Often times, a a simple AJAX request is faster, and it's also often better UX, IMHO. There are loads of examples of this, but people don't tend to notice when it works well and only remember the examples where it doesn't (like, say, the new Reddit UI).
The application I work on initially used to work completely without JS, but I let that go and now you need JS. It made everything faster, more performant (even on my shitty phone), and the code easier to work with. And it's just 770 lines of JS (+ jQuery, because I think it's just more convenient than dealing with the DOM API).
I have nothing against Javascript when it improves the overall result. However, when I come across a site which consists of text articles interspersed with some static images, and the images do not show with JS disabled, or in extreme cases, the entire page remains empty because it needs JS to even display text, that just screams wrong.
Web has been able to display well-formatted text and images for decades without Javascript just fine. In fact, that has been its original primary purpose, to display text with hyperlinks and some images. Why bastardize it just because you want your images to load with a cool effect or something equally silly (that won't work well for half of the visitors anyway) ?
> There's a lot of hostility on HN towards web developers.
You're conflating different types of web developers here.
There's only hostility towards the sub-set of web developers that focus only on what is expedient while sacrificing user-friendliness. The ones that hop on the latest and greatest buzzword technologies in order to pad their resumes.
There's a lot of hostility on HN towards web developers.
Why shouldn't there be, when they're the ones breaking things that used to work perfectly fine, and then reimplementing them half-bakedly while consuming an order of magnitude more resources than before?
Should Github explicitly support terminal-based browsers like Lynx as well?
Why does it have to be "explicitly support"? Whatever happened to using the simplest technology possible for the task? That way you'll end up with a page that will work to the best possible extent for any given user-agent. That is ture accessibility.
I'm not asking for them to go out of their way to try to show images in Lynx or whatever. I'm asking for a sane approach to making sites that does not require running arbitrary code on the client just to show some static text that should've come along directly in the page, something that literally all browsers would be able to, but is being needlessly restricted.
Plus, you can avoid 99% of the github website just by using git from the command line (or your favorite client) and using their CLI tool for repo creation/etc.
> they're the ones breaking things that used to work perfectly fine
And it still works perfectly fine. You've purposefully modified your browser to not respect web standards. Any error is your responsibility, not theirs.
To some extent I agree with this sentiment. Not so much the Javascript aspect, although I've always viewed JS with the "less is more" mentality myself. I understand that it's become a critical part of the web, so that's not really where I agree with you.
I agree with you more on the "breaking things that used to work perfectly fine." To me this has nothing to do with "accessibility." If I recall correctly, a couple years ago the header was white, then they changed it to grey.
While I feel like giving users more theme options and more control over their UI is the right direction to go in and one that adds value, I can't help but think that this is just the design team keeping themselves busy/valid.
I followed their design team on social media for a brief period until I realized that all they do is hold senseless confs with the same people over and over again to discuss the same things over and over again. None of them have real code in their repos, just markdown and HTML and stylesheets. None of them contribute to 3rd party projects. Then they iterate something nobody was complaining about. I just feel like these are resources that would be better spent elsewhere.
Please take a step back for a moment and imagine that you're one of the blind users of HN running into this comment. Reading that GitHub devs who took the time to actually support some assistive technology on their website (not sure how well, but see the existing aria attributes in the source) and track their support (https://government.github.com/accessibility/) don't care about "real accessibility" by not catering to what technology choices you prefer.
That's not true. The idea that the web should gracefully degrade and continue to display content in browsers of all types has been live for... the entire existence of the web.
There is a new trend to expect all clients to run js, yes, but that is a bad assumption.
I understand that is an ideal, but "browsers of all types" is utterly unrealistic, and hasn't been the case in the wild since the 90's.
Not only does the modern web expect you to be running JS, you're expected to be running a browser that's at most 1 version off the most recently released version. Supporting only evergreen browsers might just be the best thing that's happened in web development.
Graceful degradation was a thing for a very brief period in the lifetime of the web, and hardly anyone actually had the resources or inclination to even pretend to attempt it.
We got conned into this shitty world where HTML shovels ajax and giant JS payloads.
Old web was information and a theme could be written locally and applied to everything.
New web is almost as trashy as the App Store.
edit: my imagination is vivid, and it doesn't end at React and the iPhone. We can do so much better. Semantic information markup without ads and presentation details. Shared p2p, unsiloed. Completely free.
You're arguing semantics. The web development community (and the engineering industry as a whole) uses the term "accessibility" to refer to making things usable by people with disabilities (and has done so for decades).
Pretending that people understand the term to mean a different thing, and then screeching at them for not doing that how you want them to is intellectually dishonest and just makes you look like an asshole.
The quality of being accessible, or of admitting approach; receptiveness
As another link posted elsewhere in here shows, it seems accessibility has turned from striving to make sites more accessible to everyone, to doing the bare minimum legally required by disability laws.
"real accessibility" predominantly involves making it possible for people with disabilities to use a website, it's not about accommodating people who put a blindfold on and complain that it's difficult to see.
Accessibility doesn't really mean catering to people who choose to disable JS in their browser. There's whole set of standards for providing accessibility with dynamic web https://www.w3.org/WAI/standards-guidelines/aria/
And every common description of web accessibility. From WAI to Wikipedia to common courses. I'm not saying it's good design or the right direction for GitHub. Just that accessibility is important and disabling-js is not really it.
Specifically: disabling JS - your choice; having a disability - not your choice.
In my case, yes, it is by choice. But do you think everyone has a choice? JavaScript is a power-hungry, memory-hungry, bloated, security nightmare. Requiring JavaScript for basic functionality (that was available not that long ago!) is simply hostile.
Yes most consumer devices run the same 3 browsers all of which run Javascript just fine. I get you don't like it, but that doesn't mean its an accessibility problem.
> Yes most consumer devices run the same 3 browsers all of which run Javascript just fine. I get you don't like it, but that doesn't mean its an accessibility problem.
Assuming you have a new enough device. My 300€ android from 2017 is essentially unusable as it can't run JS well enough any longer.
That doesn't make sense except for a few heavy applications of JS like a resource-intensive web game which is obviously a niche outside of general statements about the internet.
Your 2017 Android isn't unusable because it can't run AJAX and $(dropdown).toggle() fast enough. Maybe it's not as fast as your laptop.
The issue here is that nowadays "heavy applications of JS" are quite common on blogs, news websites and other "definitely not web applications"-type of websites.
With JS enabled, I sometimes see simple mousewheel scrolling slow down or become choppy, or spiking CPU usage for a second or two. Simple scrolling of content that is already rendered and is not moving. And often, the same site with JS disabled scrolls smoothly (or completely fails to load, it's a crapshoot, really).
No, accessibility is already defined as a legal concept that has been around since before the advent of the Internet, because it also applies to our physical infrastructure.
There's a really big gap between claiming that modern web development goes too far and runs far too much code and is much too bloated and claiming all sites that require javascript are "not accessible." You may as well go into shouty rants about the use of color because you refuse to stop using a monochrome terminal.
It wasn't always like this. Look at WCAG version 1.0 [0] section 6.3. It's very sensible advice. Then through the magic of "Web 2.0" and bigco work on "Accessible Rich Internet Applications" the advice was made to disappear [1].
Nowadays when you mention the issue on the web, instead of trying to understand and imagine low-powered devices, limited browsers, restricted environments, or maybe just security-concious people who are effectively disabled by this "Web 2.0" bullshit, people claim that you're using the term "accessibility" wrong.
I wonder what makes people so eager to push back on such a simple request, to make basic functionality available without JavaScript. In GitHub's case, they only recently screwed it up in a major way, so surely it shouldn't be a big deal to add back the functionality?
Is it "frontend programmers" feeling hurt? Or business types who think it hurts their telemetry channels? Do their salaries depend on it? Or perhaps it's just people who just need to disapprove of someone else's preferences?
It's a simple request. Yes, more than 99% of your users use JavaScript, are not blind or deaf, have reasonably fast links, powerful machines, large enough screens, don't mind updating their browser every week (very important! security matters _so much_ when you regularly run arbitrary code), etc.
So I'm in the 1%... why do so many people feel such a strong need to tell me this issue of mine is a non-issue for everybody else?
> I wonder what makes people so eager to push back on such a simple request, to make basic functionality available without JavaScript.
I think it's as simple as the fact that your simple request isn't important to them, but you demand it as though you are owed a javascript-free web experience. "I am not doing that because I don't want to" is a perfectly good answer to your demands. It really doesn't matter how easy it would be for them to provide it. They're also probably not providing RSS, though you may want them to, and that would be easy too. Sorry your pet thing is not prioritized.
Personally, I think a small amount of client-side scripting can vastly improve a user experience, and way too much client-side scripting can vastly deter from it. It's a balance that each site must strike. And the effort they must go through to test and support all functionality while also supporting completely disabling javascript is definitely nonzero. Some sites won't find that effort worth it. That's the breaks. I can tell you that I never, ever intend to put any effort into supporting a no-javascript user experience on anything I build in the future. I could almost see rendering an alternate page that says "you no-JS kooks aren't gonna be happy here" but even that is more effort than I care to expend on a militant userbase that's likely to also take exception to some silly shit like my html not being semantic enough.
Are you working for GitHub? If not, nobody asked you anything. That you are taking such offense at my simple request that you have to create a "non-JS kook" personality type to satisfy your vindictive feelings is mystifying. Try to improve yourself.
To answer your question, I don't work at GitHub. And I really don't take offense to your simple request, but I do find it interesting how vehemently you are making your "simple request." I also don't think it's unreasonable to turn off JS. What I do think is unreasonable is turning off JS and then getting angry over the fact that few other people care about this scenario.
> In GitHub's case, they only recently screwed it up in a major way, so surely it shouldn't be a big deal to add back the functionality?
Unless you're under the impression that websites are only requiring JavaScript out of spite, it seems like it would be a pretty big deal.
> why do so many people feel such a strong need to tell me this issue of mine is a non-issue for everybody else?
Because it's self-imposed, your justification involved calling JavaScript a "newer technology", and people tend not to react well to the belief that "I don't want to run JavaScript" is comparable to disability.
I don't know how much programming experience you have, but let me tell you that bringing back an HTML dropdown menu is not a big deal. I don't know about "spite", but I would say it's either an oversight, or incompetence, or some grander goal to force JavaScript on their users for what could be termed "business-related reasons".
You picked up on "newer technology" as if it's pertinent to the matter. It is not. This usability checkpoint is still 100% valid today. I gave reference to that document to show that the matter is related to accessibility, and to provide evidential support to userbinator's view that the term has been hijacked by the web giants and munged up to exclude whatever is inconvenient to them.
You, like others in this thread, bring "disability" and "self-imposition" to this discussion. I dare you to imagine a world where not everybody who wishes to make basic use of GitHub is able, even if willing, to run JavaScript in every conceivable context. Can you imagine such a world? In this totally imaginary world this inaccessibility is not self-imposed. Given such a world, would you be willing to accept that my simple request is reasonable?
You are seeing the true nature of corporate greed and control show its ugly face. The end-game is clear: one browser controlled by one company, of great complexity and continuously changed to discourage others from attempting to compete, shaping websites to that one company's desires. Of course everything will be "standard" and "open", but that hardly matters.
One company has clearly invested a lot into the "JS only" propaganda and strongly attempts to silence the opposition. Turning all sites into ridiculously overcomplex "web apps" that only work in their very latest browser is their dream. It's obvious that a simple text-only or even text+images browser is not all that complex, so from that perspective, basic HTML and browsers that can handle it is a threat --- and cutting those off by making sites not work in them is the ultimate underhanded tactic. They can cheer all they want about "moving the web forward" --- and unfortunately a lot of the "young and impressionable" gets caught up in that propaganda --- but what they are really doing is helping this company further its control over the Internet.
Don't forget the endless stream of security updates, bundled up with whatever new UI/tracking/arbitrariness they want to force upon you. After all, the world wide web is a dangerous place, and your data is at risk. Don't you trust us to keep you safe? As if you had a choice.
Edit: Found the link. https://twitter.com/natfriedman/status/1330924323952091137