En informática , el robo de foco es un error de modo que ocurre cuando un programa que no está enfocado (por ejemplo, minimizado o funcionando en segundo plano) coloca una ventana en primer plano y redirige todas las entradas del teclado a esa ventana. Esto se considera una molestia o un peligro para algunos usuarios porque el programa puede robar el foco mientras el usuario escribe, lo que hace que las pulsaciones de teclas vayan a la ventana recién enfocada, posiblemente se pierda o cause un efecto no deseado en la misma. Esto puede ser unas pocas pulsaciones de teclas debido al tiempo de reacción , o puede ser más si la atención del usuario no está en la pantalla de la computadora, por ejemplo, escribiendo mientras mira el teclado o mientras lee una copia a un lado, o si el retraso del procesador causa un retraso (a veces de varios segundos) entre el evento de robo de foco y la ventana recién enfocada que se muestra en la pantalla.
El robo de enfoque puede causar daños, ya que los usuarios pueden, mientras escriben cuando su atención está fuera de la pantalla, aceptar sin darse cuenta que un programa haga algo que cause daños. Por ejemplo, cuando Microsoft Windows muestra el asistente para la limpieza del disco, el usuario puede "aceptar" eliminar archivos sin darse cuenta de que el asistente estaba esperando una entrada. En ocasiones, el robo de foco también puede causar violaciones de seguridad, por ejemplo, cuando un usuario ingresa una contraseña y la contraseña ingresada aparece en una nueva ventana de mensajería instantánea en un campo de entrada desenmascarado.
Existen varios métodos alternativos para captar la atención del usuario que se pueden utilizar en lugar del robo de foco: [1]
Los siguientes sistemas de gestión de ventanas permiten el robo de foco:
Los sistemas basados en Microsoft Windows utilizan cuadros de diálogo emergentes que pueden robar el foco de la aplicación actual. En las versiones de Microsoft Windows anteriores a Windows 7, existe una configuración de usuario que de forma predeterminada evitará que una aplicación cooperativa robe el foco al iniciar otro programa o abrir una nueva ventana o cuadro de diálogo. [2] Este mismo método no funciona en Windows 7 o posterior. [3]
Los sistemas Apple MacOS X también cambian aplicaciones de fondo a primer plano cuando las aplicaciones en segundo plano utilizan cuadros de diálogo modales emergentes. Un ejemplo de este comportamiento es Google Chrome que utiliza el cuadro de diálogo de alerta, como se documenta en [4]
Los siguientes navegadores web permiten el robo de foco a través de la función JavaScript this.focus() :
Se han escrito programas para identificar qué está robando el foco .