Javascript is a powerful and useful language for adding interactivity and functionality to your web page. This is a good thing.
However, if you have been paying attention over the past few years you will have noticed that from time to time javascript was used by hackers to attack systems with hit-and-run viruses. Sometimes the javascript was the core attack. And sometimes javascript was simply the mechanism used to load the core attack.
In any case, during these times of attack it was recommended by security type experts to turn off javascript except for trusted websites. In fact a rather popular addon for Mozilla called NoScript was written to administrate this function of allowing and dis-allowing javascript on individual websites.
What does this mean to a website developer?
Does this mean that we should not be using javascript?
This does not mean that one should not use javascript. However, unless you happen to work for a 900 pound gorilla of a website it does mean that you should guarantee that navigation and other critical components of your website will function even in the absence of javascript.
Amazon can insist that all viewers allow javascript before opening the first page. This is because they are that well known and have that much clout.
However, if you do not have that much clout, if you are not that well know, it would be a good idea to let viewers poke around on your website before insisting they allow javascript.
In practical terms this means that fancy java run drop-down menus can be a problem. However, a left-side vertical system of accordion type menus can work just fine. Just make sure that the default state is open.
Just for the heck of it I created a system of expanding and contracting sub-sections on one of my web pages. That page is Review of Programming I do for Galaxy Website Design.
If you look at this page with javascript turned off you will see a bunch of headings and associated descriptive content — fully expanded.
If you look at this page with javascript turned on, you will see a bunch of headings in a list type form. If you click on a heading it will expand to reveal the associated text.
I do this by keeping the default state of the content as visible. AND, then with javascript I hide the content. That means the content is visible to those who have chosen to turn off javascript.
However, for those with javascript the page is made a bit more fun and perhaps easier to digest.