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

Flutter iOS端VoiceOver无法读取自定义semantic label问题求助

Flutter 3.0.2版本iOS端VoiceOver无法正确读取自定义语义标签问题求助

我开发的应用面向盲人和低视力用户群体,这类用户多数使用iPhone设备,对系统内置VoiceOver屏幕朗读功能依赖度极高。升级到Flutter 3.0.2版本后,我先后执行flutter clean、flutter pub upgrade、flutter pub get操作重新构建项目,问题始终存在,当前测试环境为搭载iOS 15.5系统的第二代iPhone SE设备,现征集可行的临时解决方案。

复现步骤

  • 针对提供的代码示例执行flutter run指令启动项目
  • 开启iOS系统内置的VoiceOver功能
  • 点击页面上展示的「compose」「camera」「chat」三个图标控件

预期结果

VoiceOver可以准确朗读开发者预先设置的语义标签:edit profile、camera screen、chat screen。

实际结果

VoiceOver实际朗读内容为:compose、camera button、chat button。
我已经尝试使用Semantics组件包裹目标控件、设置label属性并配置excludeSemantics: true参数排除子节点语义信息,问题没有改善;但相同代码在搭载Android 11系统的OnePlus Nord2 CE设备上运行完全正常。

已尝试方案

我先后测试了三种实现方式,均无法解决iOS端的问题,相关实现代码见对应代码块:

  • 直接给Icon组件配置semanticLabel属性
  • 使用Semantics组件包裹目标控件,同时设置label属性与excludeSemantics参数
  • 监听onDidGainAccessibilityFocus事件,调用SemanticsService.announce主动触发播报

环境与附件说明

  • 已附上iOS端Info.plist配置文件内容、测试设备参数信息
  • flutter analyze检测结果:无代码语法/规范问题
  • flutter doctor -v检测结果:本地开发环境无异常
  • 补充说明:该问题在iOS模拟器中使用Accessibility Inspector工具检测时,语义识别表现完全正常,相关问题截图、真机复现录屏可查看对应附件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 08:03:19