Как сделать ссылку во вложенном элементе Text доступной в React Native? - PullRequest
0 голосов
/ 14 апреля 2020

Проблема: Я пытаюсь сделать ссылку доступной как для Android, так и iOS, используя React Native. iOS имеет ротор при использовании VoiceOver, который имеет возможность переключаться между ссылками на экране, что не работает для следующего элемента:

<Text>
Here is some text <Text accessible={true} accessibilityRole="link" onPress={() => Linking.openURL("https://www.google.com")}> Here is a link</Text>
</Text> 

То же самое происходит с Android при использовании ссылок возможность поиска ссылок на экране при включенном TalkBack. В приведенном выше примере кода двойное нажатие в Android не открывает ссылку, когда включен TalkBack, но в iOS двойное нажатие предложения с включенным VoiceOver открывает ссылку.

Вещи Я пробовал: Я попытался разделить элементы текста следующим образом:

<View>
  <Text> Here is some text</Text>
  <Text accessible={true} accessibilityRole="link" onPress={() => Linking.openURL("https://www.google.com")}> Here is a link </Text>
</View>

Это решает проблему на Android, так как я могу дважды щелкнуть ссылку, и он открывает веб-страницу, и это также позволит мне переходить по ней в качестве ссылки, когда у меня есть опция ссылок для TalkBack, но это не оптимальная стратегия, потому что она портится с форматом моего предложения для зрячих пользователей. Это также не добавляет элемент связи к ротору iOS. Учитывая, что это проблема доступности, я не нашел много ресурсов о том, как решить эту проблему.

Вывод: Я хочу иметь возможность щелкнуть ссылку, когда она находится во вложенном элементе Text на Android, и хочу, чтобы элемент управления ссылками на TalkBack работал. Я также хотел бы добавить опцию ссылки на ротор на iOS. Для тех, кто не знаком с iOS ротором доступности, здесь есть ссылка на информацию о iOS роторе доступности Здесь есть ссылка на локальное / глобальное контекстное меню для доступности на Android. Любой совет по этому вопросу будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...