Dans une interface utilisateur graphique (GUI) informatique , un composant a le focus lorsqu'il est sélectionné pour recevoir une entrée de l'utilisateur par un événement tel qu'un clic de souris ou une pression sur une touche. Le fait de déplacer le focus d'un élément spécifique de l'interface utilisateur est appelé un événement de flou par rapport à cet élément. les événements de focus et de flou sont pratiquement simultanés par rapport à différents éléments de l'interface utilisateur, l'un qui devient focalisé et l'autre qui est « flou » (au sens informatique, et non visuel).
Le concept est similaire à celui d'un curseur dans un environnement textuel. Cependant, lorsqu'on considère une interface graphique, il faut également tenir compte du pointeur de la souris . Le déplacement de la souris déplace généralement le pointeur de la souris sans modifier le focus. Le focus peut généralement être modifié en cliquant sur un composant pouvant recevoir le focus avec la souris. De nombreux ordinateurs de bureau permettent également de modifier le focus avec le clavier. Par convention, la Tab ↹touche est utilisée pour déplacer le focus vers le composant suivant et + vers le précédent. Lorsque les interfaces graphiques ont été introduites pour la première fois, de nombreux ordinateurs n'avaient pas de souris, cette alternative était donc nécessaire. Cette fonctionnalité permet aux personnes qui ne peuvent pas utiliser de souris d'utiliser plus facilement l'interface utilisateur. Dans certaines circonstances, les touches fléchées peuvent être utilisées pour changer le focus. ⇧ ShiftTab ↹
Mise au point de la fenêtre
Le comportement du focus sur le bureau peut être régi par des politiques dans la gestion des fenêtres .
Cliquez pour faire la mise au point
Sur la plupart des interfaces utilisateur courantes, telles que celles de Microsoft et d'Apple , il est courant de trouver une politique de type « le focus suit le clic » (ou « cliquer pour faire le focus »), selon laquelle il faut cliquer avec la souris à l'intérieur de la fenêtre pour que cette fenêtre obtienne le focus. Cela a également généralement pour résultat que la fenêtre est surélevée par rapport à toutes les autres fenêtres à l'écran. Si un modèle de focus par clic tel que celui-ci est utilisé, la fenêtre d'application actuelle continue de conserver le focus et de collecter les entrées, même si le pointeur de la souris se trouve sur une autre fenêtre d'application.
Le focus suit le pointeur
Une autre politique courante sur les systèmes Unix utilisant X Window System (X11) est la politique « focus follows mouse » (ou FFM), où le focus suit automatiquement la position actuelle du pointeur. La fenêtre focalisée n'est pas nécessairement relevée ; certaines parties de celle-ci peuvent rester sous d'autres fenêtres. Les gestionnaires de fenêtres avec cette politique proposent généralement la fonction « autoraise », qui relève la fenêtre lorsqu'elle est focalisée, généralement après un court délai configurable. Une conséquence possible d'une politique followfocus est qu'aucune fenêtre n'a le focus lorsque le pointeur est déplacé sur l'arrière-plan sans fenêtre en dessous ; sinon, le focus reste simplement dans la dernière fenêtre.
Mise au point bâclée
Le modèle sloppyfocus est une variante du modèle followfocus. Il permet aux entrées de continuer à être collectées par la dernière fenêtre focalisée lorsque le pointeur de la souris est éloigné de n'importe quelle fenêtre, par exemple sur une barre de menus ou une zone du bureau.
Modèles de mise au point utilisés par les gestionnaires de fenêtres X11
Focus sur les composants intra-fenêtres
Les composants individuels d'une fenêtre peuvent également avoir une position focale. Par exemple, dans un logiciel d'édition de texte, la fenêtre d'édition de texte doit avoir le Focus pour que le texte puisse être saisi. Lorsque du texte est saisi dans le composant, il apparaît à la position du curseur de texte, qui sera normalement également déplaçable à l'aide du pointeur de la souris.
Le choix du composant qui doit avoir le focus par défaut et la manière dont le focus doit se déplacer entre les composants sont des problèmes difficiles mais importants dans la conception d'interfaces utilisateur. Donner le focus au mauvais élément signifie que l'utilisateur doit perdre du temps à déplacer le focus. À l'inverse, donner le focus au bon élément peut améliorer considérablement l'expérience utilisateur.