En una interfaz gráfica de usuario (GUI) informática , un componente tiene foco cuando se selecciona para recibir información del usuario mediante un evento como el clic de un botón del mouse o la pulsación de una tecla. [1] Alejar el foco de un elemento específico de la interfaz de usuario se conoce como evento de desenfoque en relación con este elemento. [2] Normalmente, el foco se retira de un elemento dándole el foco a otro elemento. Esto significa que los eventos de enfoque y desenfoque son prácticamente simultáneos en relación con diferentes elementos de la interfaz de usuario, uno que se enfoca y otro que se "borrosa" (en el sentido informático, no visual).
El concepto es similar a un cursor en un entorno basado en texto. Sin embargo, cuando se considera una interfaz gráfica, también interviene el puntero del mouse . Al mover el mouse, normalmente se moverá el puntero del mouse sin cambiar el foco. Por lo general, el foco se puede cambiar haciendo clic en un componente que pueda recibir foco con el mouse. Muchas computadoras de escritorio también permiten cambiar el enfoque con el teclado. Por convención, la Tab ↹tecla se utiliza para mover el foco al siguiente componente enfocable y + al anterior. Cuando se introdujeron por primera vez las interfaces gráficas, muchas computadoras no tenían ratones, por lo que esta alternativa era necesaria. Esta función facilita el uso de la interfaz de usuario a las personas que no pueden utilizar un mouse . En determinadas circunstancias, las teclas de flecha se pueden utilizar para cambiar el foco.⇧ ShiftTab ↹
El comportamiento del enfoque en el escritorio puede regirse por políticas en la administración de ventanas .
En la mayoría de las interfaces de usuario convencionales, como las creadas por Microsoft y Apple , es común encontrar una política de "el enfoque sigue al clic" (o "haga clic para enfocar"), donde se debe hacer clic con el mouse dentro de la ventana para esa ventana. para ganar concentración. Esto también suele dar como resultado que la ventana se eleve por encima de todas las demás ventanas en la pantalla. Si se utiliza un modelo de enfoque de clic como este, la ventana de la aplicación actual continúa manteniendo el foco y recopilando información, incluso si el puntero del mouse está sobre otra ventana de la aplicación.
Otra política común en los sistemas Unix que utilizan X Window System (X11) es la política de "el foco sigue al mouse" (o FFM), donde el foco sigue automáticamente la ubicación actual del puntero. La ventana enfocada no necesariamente está elevada; partes de él pueden permanecer debajo de otras ventanas. Los administradores de ventanas con esta política generalmente ofrecen "aumento automático", que abre la ventana cuando está enfocada, generalmente después de un breve retraso configurable. Una posible consecuencia de una política de seguimiento de foco es que ninguna ventana tiene foco cuando el puntero se mueve sobre el fondo sin ninguna ventana debajo; de lo contrario, el foco simplemente permanece en la última ventana.
El modelo sloppyfocus es una variante del modelo followfocus. [3] Permite que la entrada siga siendo recopilada por la última ventana enfocada cuando el puntero del mouse se aleja de cualquier ventana, como sobre una barra de menú o un área del escritorio.
Los componentes individuales de una ventana también pueden tener una posición focal. Por ejemplo, en un paquete de edición de texto, la ventana de edición de texto debe tener el foco para que se pueda ingresar texto. Cuando se ingresa texto en el componente, aparecerá en la posición del cursor de texto, que normalmente también se podrá mover con el puntero del mouse.
Qué componente debe tener el foco predeterminado y cómo debe moverse entre componentes son problemas difíciles pero importantes en el diseño de la interfaz de usuario. Darle el foco a algo incorrecto significa que el usuario tiene que perder tiempo moviendo el foco. Por el contrario, centrarse en lo correcto puede mejorar significativamente la experiencia del usuario.