Навигация с помощью клавиш со стрелками - PullRequest
1 голос
/ 14 марта 2009

Каковы некоторые общепринятые методы навигации по элементам неправильной формы и размеру на холсте (например, элементам управления на форме) с помощью клавиш со стрелками?

Например, если текущий фокусированный элемент является высоким элементом (A), высота которого охватывает три более коротких элемента справа от него (B, C и D):

#######    #######
#     #    #  B  #
#     #    #######
#     #
#     #    #######
#  A  #    #  C  #
#     #    #######
#     #  
#     #    #######
#     #    #  D  #
#######    #######

Какой из этих элементов должен быть сфокусирован, когда пользователь нажимает стрелку Right? Верхний элемент (Б)? Тот, что в центре (С)?

Что если D сфокусировался до того, как пользователь переместил фокус на A, нажав Left? Должен ли фокус вернуться к D, когда пользователь впоследствии нажимает Right?

Мне интересно, есть ли опубликованные рекомендации для этих сценариев.

Ответы [ 5 ]

2 голосов
/ 14 марта 2009

Я не рассматривал какие-либо конкретные указания или что-то еще, но кажется, что в первом случае, когда вы находитесь на А и нажимаете вправо, он должен перейти к В.

Если вы уже на C или D, когда нажимаете A, возможно, имеет смысл вернуться к этому. Я менее уверен в этом, потому что пользователь мог перейти к A снизу как «ярлык», чтобы добраться до B (Это имеет смысл, если в правом столбце много элементов, поэтому вместо перехода ( Вверх-вверх-вверх-вверх-вверх вы идете влево-вправо).

1 голос
/ 16 марта 2009

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

В вашем примере навигация по элементам управления должна идти A-B-C-D-A -...

1 голос
/ 14 марта 2009

Я думаю, также важно отметить, к какому элементу «B» вы переходите. Предположим, B - текстовое поле. Если вы перейдете от A к B, будете ли вы предполагать, что пользователь хочет ввести данные и автоматически сфокусировать свой курсор в текстовом поле? Это дало бы пользователю немедленное использование набора текста в поле, но сразу же возникло бы проблемы, если бы он / она захотел перейти на C или D.

Я думаю, что более важно дать пользователю обратную связь о том, в каком поле он / она находится. Элементы управления Windows имеют тенденцию отстой для отображения хорошо выделенного поля, в то время как в OS X вы получаете отличительную подсветку вокруг выбранного элемента (в большинстве случаев).

Просто сделайте так, чтобы пользователь не мешал, если он хочет пойти куда-нибудь еще. Не блокируйте клавиатуру после перехода в A-D, если они хотят перейти только к другому элементу.

0 голосов
/ 15 марта 2009

Посмотрите, что Microsoft говорит для приложений Vista.

0 голосов
/ 14 марта 2009

Если вы находитесь на A, и вы нажали правильно, вы должны перейти к B.

Если вы находитесь на D и нажимаете Левый, есть два варианта: «идти налево», то есть A, или «идти назад», что означало бы идти в B. Нет места, где можно потеряться, хотя поначалу это может показаться немного странным.

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

...