Есть ли какой-либо Android-эквивалент iOS UIAccessibilityTraits?

В моем приложении для Android у меня есть собственный макет, который используется в качестве кнопки — он состоит из некоторых TextViews и ImageView, кроме того, он имеет градиентный фон.

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

Я знаю, что в iOS есть возможность установить кнопку UIAccessibilityTraits рассматривать такое представление как кнопку - такое решение сэкономило бы мне огромное количество работы с точки зрения миграции.

Есть ли подобное решение на Android для этого? Какого подхода следует придерживаться, чтобы TalkBack правильно распознавал этот макет?


person mrpasqal    schedule 25.02.2020    source источник


Ответы (1)


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

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

Вы можете проверить это, выбрав его в TalkBack и убедившись, что он правильно читает описание содержимого, говорит что-то вроде «Двойное нажатие для активации» и выполняет правильное действие при двойном нажатии.

Если это не так, убедитесь, что описание контента, отметка кликабельности и действия щелчка правильно установлен в AccessibilityNodeInfo виджета.

person Ryan M    schedule 26.02.2020
comment
Это то, что я на самом деле подозревал, просто нужна была другая пара глаз на эту тему. Спасибо за ваш вклад! - person mrpasqal; 17.03.2020