小编Jkk*_*arr的帖子

如何在 React Native 中访问嵌套文本元素中的链接?

问题:我正在尝试使用 React Native 在 Android 和 iOS 上创建一个可访问的链接。使用 VoiceOver 时,iOS 有一个转子,可以选择在屏幕上的链接之间切换,这对以下元素不起作用:

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

在 Android 上使用链接选项在启用 TalkBack 的情况下搜索屏幕上的链接时会发生同样的事情。在上面的代码示例中,在 Android 中双击打开 TalkBack 时不会打开链接,但在 iOS 中双击打开 VoiceOver 的句子可以打开链接。

我试过的事情:我试过像这样拆分 Text 元素:

<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>
Run Code Online (Sandbox Code Playgroud)

这确实解决了 Android 上的问题,我可以双击链接并打开网页,当我打开 TalkBack 的链接选项时,它还允许我将其作为链接轻弹,但这不是最佳策略,因为它扰乱了我对视力正常的用户的句子格式。这也不会将链接项添加到 iOS 转子。鉴于这是一个可访问性问题,我还没有找到很多关于如何解决此问题的资源。

结论:我希望能够在链接位于 Android 上的嵌套文本元素中时单击该链接,并且我希望 TalkBack 上的链接控件能够正常工作。我还想在 iOS 上为转子添加链接选项。对于那些不熟悉 iOS 辅助功能转子的人,这里是 …

android accessibility ios react-native

11
推荐指数
1
解决办法
912
查看次数

如果我想使用蓝牙和 Target SDK 31 但我的最低 SDK 为 23,我在 Android 上需要什么权限?

问题:我想在 Android 上制作一个需要蓝牙功能的应用程序,但我不太确定需要什么权限。我将不再阅读此文档https://developer.android.com/guide/topics/connectivity/bluetooth/permissions,但措辞让我感到困惑。在我的应用程序 gradle 文件中,mytargetSdkcompileSdkmy 都设置为 31,这将是 Android 12。MyminSdk设置为 23,但这将是 Android 6.0。至少我知道我的应用程序需要能够扫描蓝牙设备、连接设备并与设备通信。我的应用程序不会从蓝牙扫描中获取位置。

我所需的权限至少如下所示:


<manifest>
    <!-- Request legacy Bluetooth permissions on older devices. -->
    <uses-permission android:name="android.permission.BLUETOOTH"
                     android:maxSdkVersion="30" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"
                     android:maxSdkVersion="30" />

    <!-- Needed only if your app looks for Bluetooth devices.
         If your app doesn't use Bluetooth scan results to derive physical
         location information, you can strongly assert that your app
         doesn't derive physical location. -->
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />

    <!-- Needed …
Run Code Online (Sandbox Code Playgroud)

android bluetooth android-permissions

5
推荐指数
1
解决办法
4775
查看次数