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

Delphi 11.2 Android应用在Google Play Console遇无障碍访问问题求助

Delphi 11.2 Android应用无障碍访问问题修复方案

很多使用Delphi开发Android应用的开发者都遇到过这个问题,根源在于全屏TLayout的无障碍属性配置不合理,导致屏幕阅读器将其识别为可交互的全屏元素,拦截了子控件的焦点与访问路径。以下是具体的修复步骤:

问题复盘

  • Google Play Console预发布测试中,Content labeling模块红框高亮全屏,提示无屏幕阅读器可识别标签
  • 开启TalkBack后,全屏被蓝色高亮覆盖,点击控件仅触发蜂鸣,无语音反馈,控件无法被正常识别
  • 布局结构:窗体+设为Client属性的TLayout(全屏),所有控件均置于该TLayout之上

具体修复操作

1. 修正全屏TLayout的无障碍属性

TLayout默认的无障碍配置会让屏幕阅读器将其判定为可聚焦容器,直接遮挡子控件,需调整以下属性:

  • 在Object Inspector中找到AccessibilityLabel,设置一个通用描述(例如"主内容容器")
  • 将AccessibilityTraits设置为空数组([]),告诉屏幕阅读器这只是一个普通容器,而非可交互元素
  • 可选:补充AccessibilityHint属性,说明容器作用(例如"包含应用操作控件")

2. 完善所有子控件的无障碍配置

所有交互控件(按钮、输入框等)必须配置核心无障碍属性:

  • AccessibilityLabel:设置屏幕阅读器朗读的核心内容(例如按钮设为"提交表单")
  • 可选:AccessibilityHint补充操作结果说明(例如"点击后提交您填写的信息")
  • 静态控件(如TLabel)若需被识别,需设置AccessibilityLabel,并将AccessibilityTraits设为[aitStaticText]

3. 调整焦点顺序避免抢占

  • 将全屏TLayout的TabOrder设为-1,确保它不会抢占焦点
  • 给所有子控件设置合理的TabOrder值,保证TalkBack能按业务逻辑遍历控件

4. 本地验证与平台复测

  • 在设备上开启TalkBack,逐一测试控件,确认每个控件都能被正常朗读,全屏高亮问题消失
  • 重新提交应用至Google Play Console预发布测试,检查无障碍报告是否通过

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 10:01:41