Фокус (пользовательский интерфейс)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Фокус на кнопке «Отмена». Нажатие  ↵ Enter   будет равноценно клику мышью по этой кнопке.

Фокус, фокус ввода — концептуальное понятие в построении графического пользовательского интерфейса, означающее наличие у определённого элемента этого интерфейса исключительного права принимать клавиатурный ввод. Название является аллюзией на способность человеческого зрения фокусировать взгляд на небольшом участке поля зрения.

Не следует путать фокус с выделением — фокус распространяется на элементы интерфейса, в то время как выделение — на их содержимое. Кроме того, фокус всегда находится на каком-то строго одном элементе, тогда как выделение может быть множественным.

Смысл и предназначение[править | править вики-текст]

Пользовательский интерфейс может иметь несколько элементов, способных каким-либо образом реагировать на клавиатурный ввод. Однако, из соображений здравого смысла, при вводе с клавиатуры каких-либо данных (или команд) получать их должен какой-либо один элемент, из расположенных в окне, которому пользователь и адресует эти данные, осуществляя ввод. Поэтому при проектировании логики работы пользовательского интерфейса вводится понятия фокуса как совокупности:

  1. Визуальных признаков элемента, которые сообщают пользователю, что именно этот элемент получит вводимые с клавиатуры данные,
  2. Внутренних данных приложения, позволяющих той части компьютерной системы, которая отвечает за диспетчеризацию клавиатурных событий[1], переадресовать клавиатурные события непосредственно элементу.

Говорят, что элемент обладает фокусом или фокус находится на элементе, если при возникновении клавиатурного события именно этот элемент среагирует определённым образом на событие. Чтобы пользователь мог определить, какой из элементов в данный момент обладает фокусом, такой элемент обычно особым образом графически выделяется среди остальных аналогичных элементов.

Если система не предполагает наличие клавиатуры (даже виртуальной) как устройства ввода, или в любой момент времени существует только один элемент, способный реагировать на клавиатурные события, понятие «фокус» в таких системах не имеет смысла и не используется.

Деактивированные элементы обычно не могут иметь фокуса.

Управление фокусом[править | править вики-текст]

Циклическое переключение фокуса с помощью клавишы  Tab ⇆ .

Для увеличения удобства работы пользователю часто даётся несколько возможностей переключать фокус с одного элемента на другой. Разные операционные системы и приложения для них могут иметь разные способы. Обычно переместить фокус с одного элемента на другой можно при помощи определённых клавиш клавиатуры (например  Tab ⇆  и  ⇧ Shift + Tab ⇆  для переключения фокуса на следующий/предыдущий элемент в Windows), либо при помощи мыши. Существуют различные модели переключения фокуса мышью: так, например, в Windows или MacOS элемент получает фокус после щелчка мышью на нём; в некоторых менеджерах окон X11 достаточно просто поместить указатель мыши над элементом, чтобы он получил фокус.

Ссылки[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Клавиатурное событие — нажатие, удержание или отпускание какой-либо клавиши или клавиш клавиатуры.