Moin!
Gracefully degrade:
Die Seite soll auch ohne JS nutzbar sein. Also würde ich das Element dynamisch ausgrauen oder auch verstecken.
Versuchst du gerade, die Benutzbarkeit ohne Javascript durch Programmierung in Javascript herzustellen?
Ohne Javascript ist die Sache doch absolut klar: Es gibt keine Einflußmöglichkeit durch Javascript, alles was du hast sind nur die HTML-Attribute. Einziges Attribut für die Tabulator-Reihenfolge ist tabindex, und das muß so angepaßt sein, dass jegliche Auswahlmöglichkeit für den Benutzer akzeptabel und zielführend ist.
Sprich: Wenn man zuerst eine Sprache wählt, und danach eventuell eine neue Sprache eintippen muß, und danach in ein weiteres Feld kommt, ist die tabindex-Reihenfolge ganz klar.
Dass man das Eingabefeld eventuell inhaltsleer lassen kann, weil vorhergehende Eingaben hier keinen sinnvollen Inhalt zulassen - nun ja, ohne Javascript kannst du da keinerlei Eingabehilfen konstruieren. Der Benutzer wird diesen Fall selbständig erkennen und durch erneutes Tab-Betätigen einfach in das nächste für ihn sinnvoll ausfüllbare Feld springen. Den Finger am Tab auf der Tastatur hat er ja bereits.
Gibt es kein JS passiert also folgendes: der Nutzer hat oder hat nicht "neueSprache" ausgewählt und kommt in jedem Fall trotzdem auf das Eingabefeld.
Da ich davon ausgehe, dass man selten eine neueSprache festlegt, ist das nicht die erwünschte Funktionalität.
Wie erwähnt: Ohne Javascript hast du keinerlei Möglichkeit, dagegen etwas zu tun. Das tabindex-Attribut reagiert, genauso wie alle anderen HTML-Attribute, nicht dynamisch auf irgendeine Formulareingabe.
Eventuelle Lösung: Den Tabindex auch dynamisch setzen, d.h. ursprünglich liegt es außerhalb und wenn JS existiert ändere ich den Tabindex. Ich stelle mir vor, dass das Probleme nach sich zieht.
Deine Lösung für den Fall, dass Javascript existiert, hat mit den Tabindices ja nicht zwingend etwas zu tun zu haben. Da würde ich vielmehr onblur reagieren und fallabhängig einen focus neu setzen.
- Sven Rautenberg
"Love your nation - respect the others."