В этом нет ни стандартизации, ни общих человеческих тенденций. Например, в Руководстве по взаимодействию с MS Windows UX указаны четыре основных типа переключения управления прогрессивным раскрытием . Три из четырех показывают состояние при активации, а один показывает текущее состояние.
Я полагаю, что если вы протестируете определенный подход к своим пользователям, вы получите разные результаты в зависимости от того, что вы спрашиваете. Если вы покажете им элемент управления и спросите, в каком состоянии находится приложение, они будут склонны читать значок, как если бы он указывал на состояние. Если вы покажете им элемент управления и попросите их изменить состояние (где в некоторых случаях состояние уже изменилось), они будут читать значок, как если бы это состояние было достигнуто. Именно поэтому они изобрели переключающие кнопки.
Если вам повезет, пользователи используют значок в основном для чтения состояния или установки состояния, а не для того и другого. Затем позвольте значку указать, для чего пользователи его используют.
Если они действительно используют его как для считывания состояния, так и для установки состояния, вы в основном носите трубку, но есть несколько вещей, которые можно попытаться свести к минимуму:
Используйте текст в дополнение к значку или вместо него. Когда он помечен глаголом (например, «Соединить»), элемент управления указывает состояние, которое получает пользователь. Когда обозначено прилагательным или существительным (например, «On Line»), это подразумевает текущее состояние.
Если ваша библиотека не поддерживает переключение значков, подумайте об использовании флажка, если это разрешено.
Если ваша библиотека не поддерживает флажки, рассмотрите два элемента управления, по одному для установки каждого состояния, в котором текущее состояние отключено. Не слишком хорошо для чтения текущего состояния, но в раскрывающихся меню есть некоторый приоритет для этого.
Поиграйте с графическим дизайном или размещением, чтобы оно соответствовало выбранному вами значению. Например:
Командные кнопки всегда обозначены тем действием, которое они совершают, поэтому, если ваша иконка указывает на состояние, которое получает пользователь, то придайте иконке выпуклый вид, похожий на командную кнопку. Если значок указывает текущее состояние, то придайте ему плоский вид.
Элементы управления панели инструментов обычно показывают состояние, которое они вызывают, поэтому поместите значок в верхней части окна, если он указывает состояние, которое получает пользователь. Напротив, значки в «рабочей области» окна указывают объекты или атрибуты, поэтому значки там должны показывать текущее состояние. Значки внизу окна (в строке состояния) также должны отображать текущее состояние.