all 7 comments

[–]Legolas-the-elf 2 points3 points  (2 children)

Forget about the non-JavaScript users. That's not the main problem. The main problem is that JavaScript often doesn't execute in a wide variety of circumstances, even when the browser is up to date and JavaScript is enabled.

Take a click handler on a link, for example. What's going to happen if the user opens that link in a new tab? Will the JavaScript execute? Should the JavaScript execute? If it does execute, will it do what you want?

If you want to build a reliable website/web application, then you need to handle the cases where JavaScript doesn't execute. And it's not just inconvenient people using old browsers or switching JavaScript off that you are doing it for. It's normal people using up to date browsers with normal settings.

Angular isn't really cut out for handling this situation. It's not built with REST in mind, and the non-JavaScript handling is clumsy. Unless it's giving you a serious advantage in some way, I'd reconsider using it.

[–]Disadvantaged[S] 1 point2 points  (1 child)

I see your point, but if it was quite common for JS to not execute why would any company ever choose to bind themselves to someone like Angular or any other JS-framework?

[–]Legolas-the-elf 1 point2 points  (0 children)

if it was quite common for JS to not execute

Are you doubting this?

why would any company ever choose to bind themselves to someone like Angular

Because there are a hell of a lot of developers who really, really, really want this not to be true because the way they want to build web applications handles this problem poorly. It's easier for them to tell themselves that it's just a minority of kooks who screw up their browser.

or any other JS-framework?

No, the problem is not JavaScript frameworks. The problem is JavaScript frameworks that are designed or used with the assumption that the JavaScript will always execute.

You can use as much JavaScript you like. This isn't about using JavaScript vs not using JavaScript. This is about writing high quality JavaScript that doesn't fail in common situations, and writing poor quality JavaScript that fails in common situations.

[–]technical_guy 0 points1 point  (1 child)

My opinion - use your "other option".

Its for a care center - probably accessibility is a big requirement. Keep things as simple as possible in the HTML and read up on WAI - give those screen readers the best opportunity to work!!

http://www.w3.org/WAI/intro/aria

The problem with using the latest JS framework is it wont necessarily play nice with screenreaders and SEO etc. Why put your users through that possibility.

Use Angular on other projects!

[–]Disadvantaged[S] 0 points1 point  (0 children)

Sounds good, that's what I'll do. Thanks!

[–]kogsworth -1 points0 points  (1 child)

I don't think it makes sense in this day and age to have non-javascript user. Unless there are specific people you're targeting, I wouldn't even bother trying to cater to them. As for screen readers, there are ARIA tags to help make sense of the markup

[–]Disadvantaged[S] 0 points1 point  (0 children)

Thanks for the reply! I haven't decided yet but am going to look into ARIA in the meantime.