URLs lead to HTML which leads to CSS and JS. Start at the bottom layer and build up, ensuring new layers enhance on the layers beneath them and core functionality remains working if the technology breaks at any layer.

Source: JavaScript Is Enabled by Default in Web Browsers

Most developers don’t seem to realize JavaScript can fail to load, fail to parse, fail to execute… or even be disabled entirely. Progressively enhance, and many classes of problems cease to matter.