You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS 16下Accessibility Rotor行为变更,如何恢复iOS15.7链接导航功能?

解决iOS 16中Accessibility Rotor不显示链接的问题

iOS 16对辅助功能的链接识别逻辑做了调整——单纯用Text组件搭配onTapGesture,不再会被Accessibility Rotor自动识别为链接。要恢复iOS 15.7的识别行为,需要明确为元素添加辅助功能标记,让系统识别其为可交互的链接类型,具体方案如下:

  • 为链接文本添加辅助功能属性
    给显示链接的Text组件补充.accessibilityAddTraits(.isLink),同时可设置.accessibilityLabel明确链接用途,确保VoiceOver和Rotor能正确识别:

    if item.mediaLink != "." {
        Text(item.link)
            .padding(.top)
            .foregroundColor(.secondary)
            .font(.caption2)
            .onTapGesture {
                isLinkClickedForDialog = true
                showingConfirmationDialog = true
            }
            // 添加辅助功能标记,让系统识别为链接
            .accessibilityAddTraits(.isLink)
            .accessibilityLabel("访问链接:\(item.link)")
    }
    
  • 替换为原生Link组件(可选)
    若业务场景允许,直接使用SwiftUI原生Link组件,它默认具备完整的辅助功能支持,无需额外配置:

    if item.mediaLink != "." {
        Link(item.link, destination: URL(string: item.link)!)
            .padding(.top)
            .foregroundColor(.secondary)
            .font(.caption2)
            .onTapGesture {
                isLinkClickedForDialog = true
                showingConfirmationDialog = true
            }
    }
    

    注:如果需要保留自定义弹窗逻辑,可通过onTapGesture拦截Link的默认跳转行为,或结合UIViewControllerRepresentable做定制化处理。

  • 验证识别效果
    用Xcode的Accessibility Inspector检查该元素,确认其Traits包含Link类型,即可确保Rotor能抓取并显示该链接。

内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 13:10:50