`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!