Handling JavaScript-disabled Browsers

Share this article

The following is republished from the Tech Times #159.
Previously, I mentioned that you should consider three main groups of people when adding JavaScript to your site—users without JavaScript capabilities, users without a mouse, and users of screen readers—and that supporting each of these three groups becomes progressively more difficult. In this post, we’ll focus on the first group, and discover how very easy it is to accommodate them with the right approach. In the introductory JavaScript book I’m currently co-writing, one of the first big examples is an accordion control. This user interface element collapses a series of content blocks so that only their headings are visible, and then allows the user to expand the blocks one at a time by clicking on the headings. This is a great example of how the right approach can accommodate users without JavaScript support (or with JavaScript disabled) with no extra work. It can be tempting to write the CSS code of your page so as to collapse the blocks of the accordion control, and then write JavaScript code that will expand the blocks on cue. But disable the JavaScript, and users are left with the collapsed blocks and no way to read them! In the past, conventional wisdom advocated an approach called graceful degradation, which would involve adding extra “fallback” code for users or browsers that were not able to handle the fancier bits of your page. The graceful degradation approach to the accordion problem, for example, might be to put an expanded version of the accordion’s content between <noscript>...</noscript> tags, so that browsers without JavaScript enabled would display the expanded content. This is extra work, and is the sort of thing that really sours developers on accessibility. Today, we understand that this is the wrong approach. A much better way to solve accessibility issues is through progressive enhancement
, where you start by building something that works in the simplest, most accessible environment (in this case, a browser with JavaScript disabled), and then progressively enhance it with features that will improve the user experience in browsers that support them, or silently fail in browsers that don’t. What this means for our accordion is that we should write the CSS code of the page so that the contents of the accordion are completely visible. The JavaScript code will then collapse the accordion as soon as it loads, but in browsers with JavaScript disabled the accordion will remain expanded, and the content may be read without difficulty. And there is no need to write any extra code or spend any extra time to achieve this—it’s simply a matter of approach. Next time, we’ll look at how to make sure this accordion control can be used by people who are either unable to use a mouse, or who simply prefer to navigate by keyboard. This will prove a little more challenging, but is still quite practical in most projects. If you’d like to read more about graceful degradation and progressive enhancement, I highly recommend SitePoint regular Tommy Olsson’s article on the subject at Accessites.org.

Frequently Asked Questions (FAQs) about Handling JavaScript in Disabled Browsers

How can I enable JavaScript in my browser?

Enabling JavaScript in your browser is a straightforward process. For instance, in Google Chrome, you can go to Settings > Privacy and Security > Site Settings > JavaScript, and then toggle the Allowed option. The process is similar in other browsers like Firefox and Safari. Remember, enabling JavaScript can enhance your browsing experience as it powers many interactive elements on websites.

What happens when JavaScript is disabled in a browser?

When JavaScript is disabled in a browser, it can affect the functionality of the website you’re visiting. Many websites use JavaScript to power interactive elements, such as forms, animations, and even some content loading. Without JavaScript, these elements may not function correctly or may not appear at all.

How can I handle JavaScript being disabled in my web development?

As a web developer, you can use the

Can I add a disabled attribute to a button in JavaScript?

Yes, you can add a disabled attribute to a button in JavaScript. You can use the setAttribute method to add the disabled attribute to a button. For example, document.getElementById(“myButton”).setAttribute(“disabled”, “”); This will disable the button with the id “myButton”.

How can I access a disabled button in JavaScript?

Accessing a disabled button in JavaScript can be done using the getElementById method. For instance, if you have a button with the id “myButton”, you can access it using document.getElementById(“myButton”). However, if a button is disabled, you won’t be able to trigger click events on it until it’s enabled again.

Why should I enable JavaScript in my browser?

Enabling JavaScript in your browser can enhance your browsing experience. JavaScript powers many interactive elements on websites, such as forms, animations, and dynamic content. Without JavaScript, these elements may not function correctly or may not appear at all.

How can I check if JavaScript is enabled in my browser?

You can check if JavaScript is enabled in your browser by visiting a website that uses JavaScript and seeing if the interactive elements work. Alternatively, you can use online tools that check if JavaScript is enabled.

Can I disable JavaScript in my browser?

Yes, you can disable JavaScript in your browser. However, keep in mind that this may affect the functionality of websites you visit, as many use JavaScript for interactive elements.

How can I enable or disable JavaScript in Retool?

In Retool, you can enable or disable JavaScript by toggling the JavaScript option in the settings. This can be useful if you’re developing an application and want to test how it behaves with JavaScript disabled.

What is the role of JavaScript in web development?

JavaScript plays a crucial role in web development. It’s used to create interactive elements on websites, such as forms, animations, and dynamic content. JavaScript can also be used to manipulate HTML and CSS, allowing for more complex and interactive web designs.

Kevin YankKevin Yank
View Author

Kevin Yank is an accomplished web developer, speaker, trainer and author of Build Your Own Database Driven Website Using PHP & MySQL and Co-Author of Simply JavaScript and Everything You Know About CSS is Wrong! Kevin loves to share his wealth of knowledge and it didn't stop at books, he's also the course instructor to 3 online courses in web development. Currently Kevin is the Director of Front End Engineering at Culture Amp.

Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week