Алан Дэй (Allan Day)
aday@gnome.org
Калум Бенсон (Calum Benson)
Адам Элман (Adam Elman)
Сэт Никел (Seth Nickell)
Колин Робертсон (Colin Robertson)
Управление с клавиатуры: перемещение, комбинации клавиш, доступ.

# Клавиатурный ввод

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

Вы должны убедиться, что все функции вашего приложения доступны при использовании клавиатуры. Попробуйте поработать со своим приложением только с помощью клавиатуры. Это — хороший способ проверки.

Keyboard interaction has three aspects in GNOME and GTK: navigation, access keys, and shortcut keys. Search is another, additional aspect.

# Перемещение с помощью клавиатуры

Следуя приведённым ниже рекомендациям, убедитесь, что с помощью клавиатуры можно перемещаться и взаимодействовать со всеми частями интерфейсами.

Follow the standard GNOME keys for navigation. Tab is the standard key for moving around an interface with GTK and GNOME.

Продумайте порядок перемещения. При перемещении ввода клавишей Tab, фокус должен перемещаться между управляющими элементами в ожидаемой последовательности. В культурах, которые используют письмо слева направо, фокус долен перемещаться слева направо и сверху вниз.

В дополнение к клавише Tab реализуйте возможность перемещения с помощью клавиш со стрелками как внутри элементов (списки, сетки из значков, боковые панели), так и между элементами.

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

## Стандартные навигационные клавиши

Быстрая клавиша | Что делает
--- | ---
Tab и ShiftTab | Перемещает фокус ввода на следующий элемент
CtrlTab и ShiftCtrlTab | Переводит фокус клавиатуры с ограничивающего виджета на следующий/предыдущий элемент управления (в случаях, когда Tab зарезервирован для других функций)
CtrlTab и ShiftCtrlTab | Переводит фокус клавиатуры на следующую группу управляющих элементов
CtrlF1 | Shows a tooltip for the currently-focused window or control
ShiftF1 | Показать контекстно-зависимую справку по текущему окну или элементу управления с фокусом
F6 и ShiftF6 | Give focus to the next/previous pane in a GtkPaned window
F8 | Передать фокус разделительной панели в разделённом окне
F10 | Передать фокус панели меню или открыть меню заголовка
Space | Переключить состояние флаговой кнопки, радиокнопки или переключателя с текущим фокусом.
Return | Активировать элемент с текущим фокусом (кнопку, элемент меню и т. п.)
Return и End | Перейти к первому элементу выбранного виджета
PageUp, CtrlPageUp, PageDown и CtrlPageDown | Прокрутить выбранную область просмотра на одну страницу вверх/влево/вниз/вправо
Escape | Закрыть или покинуть текущий контекст, если он является временным. Используется для меню, всплывающих виджетов, диалоговых окон и других временных элементов интерфейса.

# Ускорители

Ускорители позволяют использовать помеченные элементы управления с помощью клавиши Alt. Такие элементы помечаются подчёркнутой буквой. Чтобы увидеть подчёркивания, зажмите клавишу Alt.

В идеале все помеченные компоненты должны иметь ускорители.

Выбирайте простые для запоминания клавиши: используйте одну из нескольких первых букв. Если текстовая метка содержит несколько слов, можно выбрать первую букву второго или третьего слова. Если какая-либо буква лучше подходит для передачи смысла (например, «x» в слове «Extra Large»), то используйте эту букву.

Старайтесь не ставить ускорители на «тонкие» буквы (строчные латинские «i» и «l») или буквы с нижним выносным элементом (строчные латинские «g», «y», русские «у», «р»). Подчёркивание может быть плохо видно под этими буквами.

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

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

# Быстрые клавиши

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

Не назначайте в приложении быстрые клавиши, зарезервированные под системные нужды. Подробнее см. ниже.

Используйте стандартные быстрые клавиши GNOME (см. ниже), если ваше приложение поддерживает эту функции. Это сохранит понятность и непротиворечивость между приложениями GNOME.

Назначьте быстрые клавиши для часто используемых действий в вашем приложении. Не пытайтесь назначить быстрые клавиши для всех действий.

Для собственных быстрых клавиш старайтесь использовать комбинацию Ctrl с какой-нибудь буквой. Для противоположного действия или расширения другой функции рекомендуется использовать комбинацию из клавиш ShiftCtrl и букву. Например, быстрые клавиши CtrlZ используются для действия Отменить, а ShiftCtrlZ для действия Вернуть.

Быстрые клавиши должны быть по возможности мнемоническими, так их легче запомнить. Например, для пункта меню Edit Page хорошим выбором в качестве быстрой клавиши будет CtrlE. Быстрые клавиши, как правило, не переводятся на другие языки, поэтому данная рекомендация имеет отношение только к интерфейсу на английском языке.

Для общих действий отдавайте предпочтение быстрым клавишам, для нажатия которых достаточно одной руки.

Не используйте Alt в быстрых клавишах, так как это может привести к конфликту с ускорителями.

# Быстрые клавиши, зарезервированные для системы

Следующие быстрые клавиши не должны переопределяться в приложениях.

Для быстрых клавиш в GNOME 3 часто используется клавиша Super (известной также как Win или Windows), поэтому не используйте её в своих приложениях.

Что делает | Быстрая клавиша | Совместимые клавиши | Описание
--- | --- | --- | ---
Открывает «Обзор» | Super | Отсутствует | Открывает или закрывает «Обзор»
Обзор приложений | SuperA | Отсутствует | Открывает или закрывает обзор приложений
Панель сообщений | SuperM | Отсутствует | Показывает или скрывает панель сообщений.
Блокировка | SuperL | Отсутствует | Блокирует экран, очищая экран и требуя ввода пароля для разблокировки (если он используется).
Переключение приложения | SuperTab и ShiftSuperTab | AltTab и ShiftAltTab | Передаёт фокус следующему/предыдущему приложению
Переключение окон | Super` и ShiftSuper` | AltF6 и ShiftAltF6 | Передаёт фокус следующему или предыдущему окну приложения
Развернуть | Super↑ | AltF10 | Развернуть текущее окно
Вернуть | Super↓ | AltF5 | Вернуть текущее окно к предыдущему состоянию
Скрыть | SuperH | AltF9 | Скрыть текущее окно
Переключение системной области | Отсутствует | CtrlAltTab и ShiftCtrlAltTab | Передаёт фокус главным системным областям: окнам, верхней панели и панели сообщений
Выключение | Отсутствует | CtrlAltDelete | Предлагает пользователю выключить систему. Эта быстрая клавиша по умолчанию отключена.
Меню окна | AltSpace | Отсутствует | Открывает меню текущего окна
Закрыть | Отсутствует | AltF4 | Закрывает текущее окно
Переместить | Отсутствует | AltF7 | Переместить текущее окно
Изменить размер | Отсутствует | AltF8 | Изменить размер текущего окна

Также не используйте быстрые клавиши в полях ввода, принимающих символы Юникода: от ShiftCtrlA до ShiftCtrlF и от ShiftCtrl0 до ShiftCtrl9.

# Стандартные быстрые клавиши в приложениях

This section details common application keyboard shortcuts. With the exception of application shortcuts, these shortcuts only need to be followed when the corresponding action is included in your application. Standard shortcuts can be assigned to other actions if the standard action is not available.

В этом разделе также приведены рекомендации по организации элементов в панели меню.

## Приложение

Стандартные быстрые клавиши приложения и элементы меню. Эти быстрые клавиши нельзя переназначать на другие действия, даже если соответствующее действие не реализовано в вашем приложении.

Метка | Быстрая клавиша | Описание
--- | --- | ---
Справка | F1 | Открывает справку по приложению.
О приложении | Отсутствует | Открывает диалоговое окно с информацией о приложении. Для таких диалоговых окон должны использоваться стандартные диалоги GNOME 3.
Завершить | CtrlQ | Закрывает приложение вместе со всеми его окнами.

## Файл

Стандартные быстрые клавиши и элементы меню.

Метка | Быстрая клавиша | Описание
--- | --- | ---

Создать

CtrlN

Создаёт новый элемент, чаще всего новое главное окно или вкладку. Если в приложении создаются документы различных типов, то каждый тип документа можно реализовать в виде элемента подменю Создать. Назовите эти элементы в соответствии с типами создаваемых ими документов. Первым элементом подменю должен быть наиболее часто используемый тип документа, назначьте ему быструю клавишу CtrlN.

Открыть… | CtrlO | Открывает содержимое уже существующего объекта, для этого часто используется стандартный диалог Открыть файл. Если выбранный файл уже открыт в приложении, не создавайте новых окон или вкладок, откройте окно или вкладку, в котором он уже открыт.
Недавние файлы | Отсутствует | Подменю со списком не более 6 недавно используемых файлов, упорядоченным по дате использования файлов.

Сохранить

CtrlS

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

Сохранить как… | ShiftCtrlS | Сохраняет содержимое в указанный файл. В качестве интерфейса использует стандартный диалог Сохранить как.

Сохранить копию…

Отсутствует

Предлагает пользователю ввести имя файла, в который будет сохранена копия документа. Не переключайтесь на сохранённую копию документа. Все последующие изменения должны выполняться в исходном документе, пока пользователь не укажет обратное, выбрав например команду Сохранить как.

Также как и диалог Сохранить как, диалог Сохранить копию позволяет сохранять данные несколькими способами. Например, изображение можно сохранять в исходном формате или в формате PNG.

Параметры страницы | Отсутствует | Используется для изменения параметров печати. Представляется в виде диалога настройки ориентации бумаги, отступов и т. д.
Просмотр печати | ShiftCtrlP | Показывает пользователю, как будет выглядеть напечатанный документ. Открывает новое окно, в котором документ показан так, как он будет выглядеть на бумаге.
Печать… | CtrlP | Печатает текущий документ. Открывает диалог, который позволяет устанавливать параметры печати: диапазон печатаемых страниц, используемый принтер и т. д. В диалоге должна быть кнопка с меткой Печать (Print), нажатие на которую закрывает диалог и запускает печать.

Отправить…

CtrlM

Provides the user a means to attach or send the current document as an email or email attachment, depending on its format. You may provide more than one Send item depending on which options are available. If there are more than two such items, move them into a submenu. For example, if only Send by Email and Send by Bluetooth are available, leave them on the top-level menu. If there is a third option, such as Send by FTP, place all the options in a Send submenu.

Свойства… | AltEnter | Открывает окно Свойства, которое может содержать информацию о документе как изменяемую, например, имя автора документа, так и неизменяемую, например, количество слов в документе. Не назначайте быструю клавишу AltEnter в том случае, если Eneter часто используется в вашем приложении для перевода каретки на новую строку.
Закрыть | CtrlW | Closes the current tab or window. If the window uses tabs and there is only one open, the shortcut should close the window.

## Edit

Стандартные быстрые клавиши и элементы меню.

Метка | Быстрая клавиша | Описание
--- | --- | ---
Отменить действие | CtrlZ | Отменяет результат предыдущего действия.
Повторить действие | ShiftCtrlZ | Выполнить действие, следующее по списку истории действий, который создаётся, когда пользователь использует команду Отменить.
Вырезать | CtrlX | Удаляет выделенное содержимое и помещает его в буфер обмена. Удаление содержимого из документа визуально не отличается от действия Удалить.
Копировать | CtrlC | Копирует выделенное содержимое в буфер обмена.
Вставить | CtrlV | Вставляет содержимое из буфера обмена. Если при редактировании текста никакая часть текста не выделена, то вставка произойдёт там, где находится каретка. Если же есть какой-либо выделенный текст, то он будет заменён на текст из буфера обмена.

Специальная вставка…

ShiftCtrlV

Вставляет представление содержимого из буфера обмена. Открывает диалог со списком доступных форматов, из которых пользователь выбирает нужный ему формат. Например, если в буфере обмена находится файл PNG, скопированный из файлового менеджера, вы можете встроить изображение в документ или вставить ссылку на файл с изображением (любое изменение файла с изображением на диске будет автоматически отображено в документе).

Дублировать | CtrlU | Создать дубликат выделенного объекта.
Удалить | Delete | Удаляет выделенное содержимое, содержимое при этом в буфер обмена не помещается.
Выделить всё | CtrlA | Выделяет всё содержимое в текущем документе.

Отменить выделение

ShiftCtrlA

Deselects all content in the current document. Only provide this item in situations when no other method of undoing selection is possible or apparent to the user. For example, in complex graphics applications where selection and deselection is not usually possible simply by using the cursor keys. Note: Do not provide Deselect All in text entry fields, as ShiftCtrlhex digit is used to enter Unicode characters so its shortcut will not work.

Найти… | CtrlF | Предоставляет интерфейс для поиска определённого содержимого в текущем объекте или странице.
Найти следующее | CtrlG | Выделяет следующее вхождение искомого терма в текущем документе.
Найти предыдущее | ShiftCtrlG | Выделяет предыдущее вхождение искомого терма в текущем документе.
Заменить… | CtrlH | Предоставляет интерфейс для поиска и замены содержимого во всём документе.

## Вид

Быстрые клавиши и элементы меню.

Метка | Быстрая клавиша | Описание
--- | --- | ---
Значки | Отсутствует | Элемент меню с кнопкой-переключателем, показывает содержимое в виде сетки значков.
Список | Отсутствует | Элемент меню с кнопкой-переключателем, показывает содержимое в виде списка.
Упорядочить по… | Отсутствует | Указаывает критерий упорядочивания содержимого. Может открывать диалог с параметрами, всплывающий виджет или подменю.
Фильтр… | Отсутствует | Позволяет фильтровать содержимое. Может открывать всплывающий виджет, выпадающее меню или диалог.
Приблизить | Ctrl+ | Приближает содержимое, делая его крупнее.
Отдалить | Ctrl- | Отдаляет содержимое, делая его меньше.
Обычный размер | Ctrl0 | Сбрасывает масштаб, возвращая его в значение по умолчанию.
Заполнить | Отсутствует | Масштабирует документ так, чтобы он заполнил всё окно.
Перезагрузить | CtrlR | Перерисовать текущее представление документа, проверив сначала исходные данные на наличие изменений. Например, проверяет наличие обновлений на стороне веб-сервера перед отрисовкой страницы.

## Формат

Стандартные быстрые клавиши и элементы меню для форматирования.

Метка | Быстрая клавиша | Описание
--- | --- | ---
Стиль… | Отсутствует | Изменяет атрибуты стиля выделенного текста или объектов, атрибуты могут изменяться по отдельности или все сразу согласно предопределённому именованному стилю.
Шрифт… | Отсутствует | Изменяет свойства шрифта выделенного текста или объектов.
Абзац… | Отсутствует | Изменяет свойства выделенного абзаца.
Жирный | CtrlB | Переключает толщину шрифта выделенного текста. Если в выделенном тексте уже имеется жирный шрифт, эта команда сделает жирным весь шрифт выделенного текста.
Курсив | CtrlI | Переключает курсивного начертание шрифта выделенного текста. Если в выделенном тексте уже имеется курсивный шрифт, эта команда сделает курсивным весь шрифт выделенного текста.
Подчёркнутый | CtrlU | Переключает подчёркнутое начертание шрифта выделенного текста. Если в выделенном тексте уже имеется подчёркнутый шрифт, эта команда сделает подчёркнутым весь шрифт выделенного текста.
Ячейки… | Отсутствует | Изменяет свойства выделенных ячеек таблицы.
Список… | Отсутствует | Изменяет свойства выделенного списка или преобразует выделенные абзацы в список, если они ещё не были в него преобразованы.
Слой… | Отсутствует | Изменяет свойства всех или только выделенных слоёв многослойного документа.
Страница… | Отсутствует | Изменяет свойства всех или только выделенных страниц документа.

## Закладки

Стандартные быстрые клавиши и элементы меню для закладок.

Метка | Быстрая клавиша | Описание
--- | --- | ---
Добавить закладку | CtrlD | Добавляет закладку для текущего адреса. Не показывает никаких всплывающих диалогов с вопросами о названии или адресе закладки, вместо этого использует разумные значения по умолчанию (в качестве названия берётся заголовок документа, а в качестве названия закладки -- имя файла). Позднее пользователь может изменить эти данные с помощью функции Изменения закладок.
Изменить закладки | CtrlB | Позволяет пользователя изменить свои закладки.
Список закладок | Отсутствует | Показывает закладки пользователя.

## Переход

Стандартные быстрые клавиши и элемент меню Переход.

Метка | Быстрая клавиша | Описание
--- | --- | ---
Назад | AltСтрелка влево | Перейти по предыдущему адресу истории посещений страниц.
Вперёд | AltСтрелка вправо | Переходит по следующему адресу истории посещений страниц.
Стрелка вверх | AltСтрелка вверх | Переходит к родительскому элементу: документу, странице или разделу.
Home | AltHome | Переходит к стартовой странице, указанной пользователем или приложением.
Адрес… | CtrlL | Позволяет пользователю указать URI и перейти по нему.
Предыдущая страница | PageUp | Переходит к предыдущей странице документа.
Следующая страница | PageDown | Переходит к следующей странице документа.
Перейти к странице… | Отсутствует | Позволяет пользователю указать номер страницы, к которой необходимо перейти. В текстовых приложениях также можно использовать элемент меню Перейти к строке…, с помощью которого пользователь может перейти к указанной строке.
Первая страница | CtrlHome | Переходит к первой странице документа.
Последняя страница | CtrlEnd | Переходит к последней странице документа.

## Окна

Стандартные элементы меню Окна.

Метка | Быстрая клавиша | Описание
--- | --- | ---
Сохранить все | Отсутствует | Сохраняет все открытые документы. Если какой-либо из документов не связан с файлом, для каждого такого документа пользователю предлагается ввести имя файла посредством стандартного диалога Сохранить.
Закрыть все | Отсутствует | Закрывает все открытые документы. Если в каком-либо документе имеются несохранённые изменения, для каждого такого документа будет показано предупреждение с подтверждением.
Список окон | Отсутствует | Каждый элемент меню располагает соответствующее окно поверх всего стэка окон.