Pour une bonne expérience utilisateur, l'accessibilité et la disponibilité de l'application Web / Web, ainsi que les fonctionnalités sont cruciales.
Lorsque notre site Web fonctionne bien / l'expérience est bonne, les utilisateurs n'en sont pas conscients, mais ils le ressentiront certainement lorsque nous ne va pas bien. Une partie importante de la disponibilité et de l'accessibilité des applications est le traitement de la mise au point des entrées, mais c'est un autre point que les développeurs négligent souvent.
Un exemple de mauvaise gestion de la mise au point d'entrée: ouvrez une fenêtre après avoir cliqué sur un lien, mais ne concentre pas le curseur dans aucun élément de la fenêtre. Pire encore: concentrez-vous sur un élément de la fenêtre modale, mais l'accent ne revient pas après la fermeture. Idéalement, une référence est enregistrée lorsque le lien est déclenché, et le curseur est axé sur une nouvelle fenêtre et fait reculer le curseur lorsque la fenêtre se ferme.
Mais que se passe-t-il si vous ne savez pas dans quel élément le curseur d'entrée est maintenant?
Le javascript
Il est facile d'utiliser Document.ActiveElement pour trouver l'élément actuellement sélectionné:
La copie de code est la suivante:
var focusedElement = Document.ActiveElement;
/ * Par exemple, un exemple:
var TriggerElement = Document.ActiveElement;
mymodal = new mymodal ({{
onopen: function () {
this.Container.focus ();
},
onclose: function () {
TRIGHELEMENT.FOCUS ();
}
});
* /
Cette propriété est non seulement disponible sur des éléments d'entrée réguliers, mais comprend également des champs de formulaire ou <a> liens de balises, mais tout élément avec l'ensemble d'attribut TabIndex est disponible.
La raison pour laquelle j'aime Document.ActiveElement est que vous n'avez pas besoin d'utiliser l'écoute d'événements ou de déléguer les auditeurs pour retrouver l'élément et vous concentrer - vous pouvez obtenir cette propriété à tout moment. Bien sûr, avant d'utiliser de telles fonctionnalités, vous devez faire beaucoup de tests - qu'il y ait des bogues dans les conditions de croisement ou de course. Dans l'ensemble, j'en suis très satisfait et je le trouve très fiable!