Because the web pages are being served over the internet, sometimes requested parts of the page donât make it. It could be for reasons of business firewalls, security programs, the browser being used, or a wide range of other issues that you canât plan for.
HTML
What you can plan for is that the HTML page is the fundamental part from which everything is accessed. If the HTML page doesnât load, then youâre stuffed because the CSS or the JavaScript canât help you when thereâs no HTML.
Because of that, you can make sure that your page works only as HTML, even when there is no CSS or JavaScript.
Thatâs why some people here have been saying that they would put the links as a list, because that works better when thereâs no CSS, and the list is more flexibly manipulated by CSS to fit a wide range of situations.
CSS
Once the HTML page is working without CSS or JavaScript. you can then add on CSS to make it look better, and adjust the layout of the page. That way, even if the CSS doesnât manage to get loaded, the HTML page will still continue to work as best as it possibly can.
JavaScript
When the HTML and CSS have been dealt with, JavaScript is the last thing that gets added. Why is it last? Because HTML and CSS make up the content and the styling of the page, but JavaScript only gets to have an effect on them after the page has loaded. JavaScript is best used to change the behaviour of the page, which is why events are often used to trigger what JavaScript does.
Progressive Enhancement vs Graceful Degredation
As has been said before, and will continue to be said again, progressive enhancement where you start from the ground up with HTML, then add on CSS, then add on JavaScript, is an improvement on an older technique called graceful degredation.
How graceful degredation worked is that the entire page was made using all of HTML+CSS+JavaScript, and only after all of that did you make changes to all of the combined code so that it can handle some situations where parts of it may not be available. That technique was very tricky to do successfully.
It was only when the idea of progressive enhancement came along, that people realised that there is a much easier and more reliable way to get everything working in a wide variety of situations.
Thereâs a good piece about progressive enhancement at What is Progressive Enhancement and Why Should You Care?