A lot of basic high value interactions are more directly encoded in HTML today than a lot of developers expect to need JS for. Some other tags to pay attention to: summary/details, progress, meter, input type="color|date|time|datetime|range".
It's an interesting relearning project, sometimes, how much the high level interactivity bits of HTML have changed since, for instance, the jQuery era.
Most "basic" autocomplete isn't all that dynamic and you can prepopulate on the server side reasonably well.
Sure, you still need JS to fetch a dynamic changing list, but you can also just update datalist options elements with JS rather than implement a full separate UX for autocomplete today. You are limited in the ability to CSS style datalist options so a lot of developers are still going to feel pressure in 2023 from "pixel perfect" UX designers to continue to reimplement that wheel, but the version of the JS that just updates a datalist after a fetch is likely much simpler than building a full "autocomplete control".
A lot of basic high value interactions are more directly encoded in HTML today than a lot of developers expect to need JS for. Some other tags to pay attention to: summary/details, progress, meter, input type="color|date|time|datetime|range".
It's an interesting relearning project, sometimes, how much the high level interactivity bits of HTML have changed since, for instance, the jQuery era.