@@Gerrit
irgendwann habe ich mal eine Site gesehen, bei der ohne getElementById auf HTML-Elemente zugegriffen wurde. BSP:
HTML: <div id="test"></div>
JavaScript: test.onclick = …
Der IE hatte vor Urzeiten Elemente mit ID als Eigenschaft des window
-Objekts angelegt. War mir gar nicht bewusst, dass andere Browser das nachmachen. Vielleicht ist das sogar jetzt so spezifiziert?
Seither verwende ich es ohne Probleme.
Du vielleicht; andere nicht.
Nun meine Frage: sollte / darf man das eigentlich so machen?
Nein. Man darf nicht auf click
-Events von nicht-interaktiven Elementen (wie div
) lauschen (bzw. nicht-interaktiven Elemente als target bei event delegation verwenden), wenn die Anwendung allgemein bedienbar sein soll.
Nicht-interaktive Elemente sind nicht in der Tab-Reihenfolge und prinzipiell nicht anclickbar. Sie mögen für einen Teil der Nutzer bedienbar sein, für einen anderen Teil aber unbedienbar. Verwende Buttons!
LLAP 🖖
“When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory