Rolf B: bestimmtes Eingabefeld vorselektieren

Beitrag lesen

Hallo pl,

dein Hinweis war also nicht, dass es nur bei einem input Feld funktioniert, sondern, dass es nur bei einem input-artigen Element funktioniert (kursiv von mir ergänzt, korrekt laut Spec wäre: bei interaktiven, submitfähigen Form-Controls).

Sorry, das habe ich auch nicht so herausgelesen. Andererseits ist es ja auch logisch, denn wie fokussiert man zwei interaktive Elemente auf einmal? Wenn autofocus mehrfach gesetzt ist, bekommt das Element, das erstes im DOM steht, den Fokus. Auch bei wild gemischter tabindex-Folge. Aber du hast recht, das ist dann kein valides Html.

Wenn man es ganz genau nimmt, muss man erst noch das „in der Elternkette nächstliegende, Autofocus Scope-bildende Dokumentelement“[1] (NASE) definieren. Jedes Element, das ein autofocus-Attribut trägt, besitzt ein NASE. Die Suche nach dem NASE beginnt beim Element selbst und verläuft bis zum Document Element des DOM. Das erste bei dieser Suche angetroffene dialog Element ist das NASE (d.h. das kann auch das autofocus Element selbst sein). Gibt es keins, ist das Dokument-Element das NASE.

Und basierend darauf sagt die Spec: es darf pro NASE maximal ein Element mit autofocus-Attribut geben.

Rolf

--
sumpsi - posui - clusi

  1. die Spec spricht vom "nearest ancestor autofocus scoping document element" ↩︎