`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!
https://github.com/whatwg/html/issues/9379#issuecomment-2357214793
@jaffathecake this year has been a succession of discoveries of stuff which I have believed is true for years (sometimes decades) and I have never revisited. Radix parameter to parseInt()? Not required. NodeLists don't have .forEach? Yes they do. Property names are allowed to be reserved words? This is the latest surprise. Next someone will tell me that with{} is OK or something