public-ui / kolibri

The accessible HTML-Standard
https://public-ui.github.io
European Union Public License 1.2
162 stars 33 forks source link

🐞 Bug: Input-Komponenten reagieren auf keyUp-Event #6132

Closed sdvg closed 7 months ago

sdvg commented 7 months ago

Note

  • [x] Ich achte beim Erstellen des Issues darauf, dass ich keine fachlichen und unternehmensinternen Details preisgebe.

Fehlermeldung

Beschreibung des Fehlers

Die Input-Komponenten haben einen Event-Handler für das keyup-Event, der dafür sorgt, dass wenn "Enter" gedrückt, wird ein umgebendes Formular submitted wird. Dadurch, das hier keyup und nicht keydown verwendet wird, kann diese Aktion auch fälschlicherweise ausgeführt werden.

Konkretes Beispiel:

<a href="#input">...</a>
<kol-input-date id="input">

Der Link kann mit Enter aktiviert werden und setzt den Fokus "on mouse down" auf das Eingabefeld. Wird die Taste losgelassen, ist das Eingabefeld bereits im Fokus und "on key up" wird getriggert.

Zusätzlich: Nicht alle Komponenten behandeln den Keycode NumpadEnter, das sollte vereinheitlicht werden.

Erwartetes Verhalten

Das Submit wird nicht ausgeführt.

Zusätzlicher Kontext

Lösung: Statt keyup, keydown verwenden. Das entspricht auch dem nativen Verhalten der Browser bei Formularen.

sdvg commented 7 months ago

Bitte auch das Followup beachten: https://github.com/public-ui/kolibri/issues/6135