Изменение фокуса доступности в реактивном приложении при открытии ящика / модального окна - PullRequest
0 голосов
/ 27 ноября 2018

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

Я попытался установить параметры динамического доступа в ящик и область основного контента:

<NavigationMenu
    importantForAccessibility={isNavigationVisible ? 'yes' : 'no-hide-descendants'}
/>
<DashboardContent
    importantForAccessibility={isNavigationVisible ? 'no-hide-descendants' : 'yes'}
/>

Где isNavigationVisible - это реквизит, которыйобновляется при открытии выдвижного ящика, но это не имеет никакого эффекта.

Есть ли способ принудительно изменить фокус на выдвижном ящике при его открытии?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

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

Так что вам нужноиспользовать AccessibilityInfo.setAccessibilityFocus, передавая reactTag в каждом конкретном случае.

0 голосов
/ 10 декабря 2018

Вот что я использовал:

const setFocus = ({ current: ref }) => {
    const FOCUS_ON_VIEW = 8;
    const reactTag = findNodeHandle(ref);

    Platform.OS === 'android'
        ? UIManager.sendAccessibilityEvent(reactTag, FOCUS_ON_VIEW)
        : AccessibilityInfo.setAccessibilityFocus(reactTag);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...