In computing, the focus indicates the component of the graphical user interface which is currently selected to receive input. Text entered at the keyboard or pasted from a clipboard is sent to the component which currently has the focus. Moving the focus away from a specific user interface element is known as a blur event in relation to this element. Typically, the focus is withdrawn from an element by giving another element the focus. This means that focus and blur events typically both occur virtually simultaneously, but in relation to different user interface events, one that gets the focus and one that gets blurred.
The concept is similar to a cursor in a text-based environment. However, when considering a graphical interface, there is also a mouse cursor involved. Moving the mouse will typically move the mouse cursor without changing the focus. The focus can usually be changed by clicking on a component that can receive focus with the mouse. Many desktops also allow the focus to be changed with the keyboard. By convention, the tab key is used to move the focus to the next focusable component and shift + tab to the previous one. When graphical interfaces were first introduced, many computers did not have mice, so this alternative was necessary. This feature makes it easier for people that have a hard time using a mouse to use the user interface. In certain circumstances, the arrow keys can also be used to move focus.
Contents |
Window focus
The behaviour of focus on one's desktop can be governed by policies in window management.
Click to focus
On most mainstream user-interfaces, such as ones made by Microsoft and Apple, it is common to find a "focus follows click" policy (or "click to focus"), where one must click the mouse inside of the window for that window to gain focus. This also typically results in the window being raised above all other windows on screen. If a clickfocus model such as this is being used, the current application window continues to retain focus and collect input, even if the mouse pointer is over another application window.
Focus follows mouse
Another common policy on UNIX systems using X11 is the "focus follows mouse" policy (or FFM), where the focus automatically follows the current placement of the mouse. One consequence of a followfocus policy is that no window has focus when the mouse is moved over the background with no window underneath.
Sloppy focus
The sloppyfocus model is a variant of the followfocus model. It allows input to continue to be collected by the last focused window when the mouse pointer is moved away from any window, such as over a menubar or desktop area.
Controversy
The most effective policy is a subject of much debate. For new and inexperienced computer users, "focus follows mouse" could lead to easy confusion when inadvertently moving the mouse. However for more experienced users it allows greater control, especially when combined with the policy of not raising windows. For example, text can be copied from a large background window into a small foreground window (e.g. a web browser or an instant messaging client) without rearranging windows (e.g using Alt+Tab to switch active windows). Focus follows mouse is more practicable on interfaces where the menu bar (if any) is embedded inside client windows. On a system such as Mac OS X with a single global menu bar at the top of the screen it is more difficult to access menus when multiple windows are overlapping: to reach the top, global, menu bar for one application, one must be careful not to move the mouse pointer over other application windows, which would bring those into focus, thus activating their menu bars. This difficulty can be mitigated by only raising a window after some delay, allowing for time to access the top menu bar if that is the intended action. However, that reduces the convenience of having the focus follow the mouse. Another solution is to assign a hot key which, while depressed or toggled, can freeze the top menu bar when the mouse cursor moves outside an active window, allowing for access to the menu for the intended application. When the hot key is released or toggled again, the menu bar is allowed to mirror the active window immediately focused on by the mouse cursor.
Intra-window component focus
Individual components may also have a cursor position. For instance in a text editing package, the text editing window must have the Focus so that text can be entered. When text is entered into the component, it will appear at the position of the text-cursor, which will also normally be moveable using the mouse cursor.
Which component should have the default focus, and how focus should move between components, are difficult but important problems in user interface design. Giving the wrong thing focus means that the user has to waste time moving the focus. Conversely, giving the right thing focus can significantly enhance the user experience.
See also
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)




