`el.className` and `el.htmlFor` have such unusual names because `class` and `for` used to be reserved words in JS. That hasn't been true for property names for 10+ years.
Firefox is experimenting with adding `el.class` and `el.for`, yay!

GitHub
Add `class` & `for` aliases for `className` and `htmlFor` ยท Issue #9379 ยท whatwg/html
https://dom.spec.whatwg.org/#dom-element-classname https://html.spec.whatwg.org/multipage/forms.html#dom-label-htmlfor I assume these were original...