Here is a little trick how to avoid JS by using inputs.
After we set the label-input relationship we need to reflect these changes with CSS.
It can be done for example with General sibling selectors. This means that you can target every element after the input tag.
The example below is a dropdown made only with HTML and CSS: