Hier sind einige Beispiele, was ich meine:
google.com - Der Fokus wird auf das Feld "Suchen" gesetzt
gmail.google.com - Der Fokus liegt auf dem Feld "Benutzername" (tatsächlich tun dies die meisten Web-E-Mail-Clients).
stackoverflow, Frage stellen - Fokus wird auf das Feld "title" gesetzt.
Manchmal ist dies eine praktische Funktion - z. B. bei Google. Aus Usability-Sicht ist es jedoch wirklich ein gutes Feature auf Anmeldeseiten zu haben?
Persönlich habe ich oft meinen Benutzernamen eingegeben, habe begonnen, mein Passwort einzugeben, dann wurde die Seite fertig geladen und der Fokus wurde wieder auf das Benutzernamefeld gesetzt. Leider, da ich komplexe Passwörter habe, die mich zwingen, beim Tippen auf die Tastatur zu schauen, merke ich nicht, wenn sich der Fokus verschiebt. Ich fange oft an, mein Passwort in das unmaskierte Benutzername-Feld einzugeben, damit jeder, der hinter mir steht, sehen kann.
Eine andere Situation, weniger gefährlich, aber immer noch ärgerlich, ist, wenn ich eine URL in meine Adresszeile tippe, während meine Homepage noch geladen wird. Sobald es aber fertig ist, und wenn ich noch nicht fertig bin, wird der Fokus von mir gestohlen und auf ein anderes Feld gelegt.
Sollen Websites und / oder Browser so programmiert werden, dass sich der Fokus nicht ändert, wenn der Benutzer bereits mit der Site oder dem Browser interagiert? Stören solche Probleme normale Benutzer (d. H. Nicht-Programmierer)?
Dies sind wirklich zwei getrennte Fragen mit unterschiedlichen Antworten:
F: Soll der Fokus auf das Eingabefeld gelegt werden, das der Benutzer am ehesten verwendet?
A: Am sichersten, wenn "die meisten Benutzer" wirklich 90% oder mehr sind.
F: Sollte das passieren, wenn die Webseite fertig geladen ist?
A: Nein. Das "onLoad" -Ereignis ist ein ziemlich dummer Ort, um dies zu sagen. Das Eingabefeld sollte den Fokus erhalten, sobald es erscheint - es ist normalerweise völlig irrelevant, wenn die Seite fertig geladen ist. Setzen Sie einfach ein <script>
-Tag, das den Fokus direkt nach dem Eingabeelement selbst setzt.
Ich persönlich hasse es, wenn Webseiten den Fokus übernehmen. Der Hauptgrund ist, dass ich auf meinem Laptop, wenn ich das Trackpad benutze und die Rücktaste drücke, automatisch zur vorherigen Seite zurück navigiere. Wenn der Fokus auf eine Textbox gelegt wurde, wird die Rücktaste so behandelt, als würde ich versuchen, ein Zeichen zu löschen.
Meine persönliche Präferenz (und das hat wenig mit Best Practice zu tun) ist, dass nichts anfängliche Fokus haben sollte, aber der erste Tab wird es zu dem Element bringen, das Sie anfänglich fokussieren möchten.
Das gleiche ist mir in Google Mail passiert, ich finde es etwas nervig, besonders da es sollte leicht zu umgehen sein sollte:
Überprüfen Sie im Ereignishandler OnLoad
, ob die Eingabefelder (Benutzername oder Kennwort) bereits Text enthalten. Wenn dies der Fall ist, ändern Sie nicht den Fokus.
Davon abgesehen, betrachte ich dieses Verhalten als usability glitch
, etwas, das kein Bug ist, aber etwas nervig. Ärgere deine Kunden nicht. Fix es.
Ich denke nur wir Programmierer haben die Angewohnheit zu tippen, bevor die Seite geladen wird ;-) Die meisten Nicht-Programmierer-Freunde, die ich habe, warten, bis sie das "Abgeschlossen" -Signal vom Ladebereich sehen.
Aber die beiden oben genannten Probleme sind lästig, als wenn wir den Mauszeiger / die Benutzungsregisterkarte immer bewegen müssen, um das zu schreiben, was wir wollen (Benutzername, Passwort) in Seiten, die keinen Fokus auf ein bestimmtes Steuerelement haben.
"Sollen Websites und / oder Browser so programmiert werden, dass sich der Fokus nicht ändert, wenn der Benutzer bereits mit der Site oder dem Browser interagiert?"
Ich denke, Browser sollten dies ermöglichen als die Websites. Weil es eine andere Reise zurück zum Server sein wird und für Verbindungen mit niedriger Geschwindigkeit frustrierend sein kann.
Insgesamt denke ich, dass dies nur ein weiteres kleines Problem / Ärgernis ist, mit dem wir leben können. Wie ich schon sagte, springen nur wir Programmierer in Typ, noch bevor die Seite geladen wird. Die meisten meiner Freunde wissen nicht, dass sie tippen können, bevor die Seite geladen wird:)
Es gibt Seiten, wo Sie eigentlich einen Anwendungsfall haben, in dem ein normaler Benutzer die Tastatur benutzt ( normaler Benutzer - da einige, wie ich, die Tastatur benutzen, um auch zu navigieren). Bei Websites wie der Google-Suche wird tatsächlich erwartet, dass Sie einfach das eingeben, wonach Sie suchen, und enter
drücken.
Sites mit mehreren Eingabebereichen und mehreren Exit-Pfaden legen manchmal manchmal auch den ursprünglichen Fokus fest, und dann wird es nervig. Es wird sogar noch schlimmer, wenn sie eine seltsame Tab-Reihenfolge ihrer Eingabebereiche haben - also zwingen sie Sie tatsächlich, die Maus zu benutzen.
Ich persönlich sehe die Änderung des Fokus nicht, wenn die Website das Laden beendet, und nicht für einen allgemeinen Benutzer. Aber wie gesagt, wenn es wirklich nützlich ist, kommt es darauf an, was in Ihrer speziellen Anwendung verwendet wird. Und dies könnte eine Sache sein, die Anwendung in ihrer Beta-Phase für einige Leute zu zeigen und Usability-Tests durchzuführen.
Ja, der Fokus sollte standardmäßig auf den wahrscheinlichsten Platz für einen Benutzer eingestellt werden, um mit der Eingabe zu beginnen. Dies zu tun, ist ein schlechtes UI-Design für Lehrbücher.
Wenn der Fokus-Standard sich auf etwas auswirkt, das Sie bereits tun, ist dies kein inhärentes Problem des Standard-Fokus, es ist ein Fehler einer unzureichenden Implementierung. Dies ist unter anderem der Grund, warum ich ein generisches "intelligentes" Autofokus-Skript zusammengestellt habe, das Dinge wie die Hölle alleine macht, wenn Sie Ich habe schon angefangen zu tippen.
(Ja, ich weiß, dass es haarig ist. Die meiste Behaarung beschäftigt sich mit Cross-Browser-Problemen - eigentlich ein Fehler von Firefox.)
Tags und Links usability