7 ms·
The issue Bootstrap still has is that the parts that make use of JavaScript completely rely on JavaScript. If you're on a flakey data connection, for example, a
by drewmclellan 14y ago
The issue Bootstrap still has is that the parts that make use of JavaScript completely rely on JavaScript. If you're on a flakey data connection, for example, and JavaScript doesn't load parts of the page simply break.
The tab component is a good example of this - turn off JavaScript in your browser and you'll see that it still looks like tabs (thanks to CSS) but you just can't access anything part from the first tab.
Technically, this isn't a hard problem to solve. Have JavaScript add the HTML class that triggers the CSS rules to make the content look like tabs. If JavaScript fails, no part of the page ever gets hidden.
It would be great to see Bootstrap embrace progressive enhancement properly. With more devices of different capabilities accessing the web over networks of varying quality all the time, it becomes more important than ever to build robustly and not just for the best-case scenario.
- Diamons 14y agoI disagree. As a web designer/developer your job is to make sure your site looks proper. If someone chooses to disable javascript, they know that they are missing out. It's their personal choice to embrace an inferior web experience, and I don't think it's fair to have to compensate for them as well.
- lukifer 14y ago...except that JS can also fail due to network lag or simple programming errors (like a trailing JSON comma in IE). Ideally, sites should remain as functional as possible if JS or CSS fail to load. (Admittedly, a great many large websites fail this test.)
- criley 14y agoRequiring a refresh is not outlandish. If they failed to load the content due to network error, they will already be used to that kind of flaky connection and the refreshes it requires. Specifically building your app to attempt to handle the "bad data connection" use case that users already are familiar with in the context of the internet seems like bad programming. Why provide a usable but substandard experience when those users would get a superior experience after a simple refresh? As for the "turned it off crowd": in terms of web apps, who cares? If you've disabled Javascript, you're not looking to use web apps -- period. Javascript is required to use web apps for anything other than fancy form posting... Of course, every site's audience is different, and you should prioritize your development for your audience.
- sc0rb 14y agoIt's annoying when you're using a different device in a locked down environment to have to deal with pages braking because some JS (or other) won't load on whatever piece of junk browser or device I have to use. I had this issue a lot when traveling through Asia, I never realise how bad accessibility was until I had to use crap phones and dodgy computers to access airline websites. For the love of god please provide a BASIC fall back! Slightly adhomien edit, but I think you're ignorant and live in a bubble. Not everyone uses their computer, or has the same level of access, like you do.
- criley 14y agoWhat you call a bubble, I call my target audience. I don't mind that I accurately target my audience and prioritize my development towards them. If information is what you care about and not design, style, or functionality, than my pages are perfectly readable on a screenreader. It will look and function like shit but the people who see it that way A) expect to or B) are not my target audience. But you're right, it's a bubble. If my audience included people with poor data connections in Asia, then I would certainly approach the problem differently. However, when it's just one guy making something, prioritization and cutting out the nonsense (like bad connections from Asia) are vital ;)
- sc0rb 14y agoIf any of your target audience may use your service from a less than desirable connection or device then you should try and make it as accessible as possible. Falling back to non fancy CSS and JS is vital. It seems that a lot of services don't really understand their target audience, why would an airline or online travel insurance firm make JS mandatory?
- criley 14y ago>It seems that a lot of services don't really understand their target audience, why would an airline or online travel insurance firm make JS mandatory? Because they wish to offer any form of rich experience that goes beyond form elements and form submission? Because they want date pickers, column sorting, marketing tracking, transition effects and a hundred other UX tweaks that are only possible through javascript? Why should airline/online travel forgo modern user experiences? To satisfy a statistically negligible amount of their traffic that cannot see it? At some point, horses aren't allowed on roads, and users need to buy a car.
- egeozcan 14y agoIt is totally fair unless you're creating a web application but my idea is that the first priority of a content-heavy web site should be to make its content as accessible as possible. Also, inferior experience should not mean they miss more than half the content.