NoLoJS logo

Reduce the JS Workload with no- or lo-JS options

I have nothing against JS,
but it has better things to do
than manage your accordions and nav menus…

For years, JavaScript has been the web’s workhorse. If HTML or CSS couldn’t do what we wanted, we grabbed JavaScript to do it.

While that has helped push the user’s experience forward, the web is choking on JS. So as HTML and CSS continue to get stronger, we should transfer any JavaScript workload possible to them.

This is an organic collection of common JS patterns that can be replaced with just HTML, CSS, and no, or very low, JS. As HTML and CSS continue to mature, this collection should expand.

The repo can be found on GitHub.
Issues and PRs are welcome!

Components

Resources

A lot of people have been writing on this topic for quite some time. Here are just a few (note, some are a bit dated now, so buyer-beware):

And here are a couple of fantastic all-around “no or low JS” resources:

[!NOTE] I was well into this project when I finally stumbled across the massive You-Dont-Need-JavaScript repo… And while it does have lots of examples, I find the lack of descriptions and demos disappointing/discouraging. Also, as all the code examples are full page, it can be hard to discern what is needed for the feature, and what is just to make the rest of the page work or look good… Anyhow, going to continue pushing forward with this, as I think it is a useful endeavour.

Contribute

If you’d like to add your favorite no- or lo-JS pattern, please submit a PR, and please try to follow this established pattern as much as possible…

If you find an error, or would like to submit an alternate or improved method for some pattern, please create an Issue, providing as much supporting information as possible, and ideally a contact method, should there be questions.

Contact

If you’d like to just reach out to me for some reason, please feel free to do so via email (aarontgrogg@gmail.com) or any of the contact methods listed on my GitHub profile.