Skip to content

[Accessibility] UI 页面按钮和操作选项缺少无障碍标签,屏幕阅读器无法识别 #202

Description

问题描述

OpenOmniBot 是一款非常有价值的端侧 AI 助手项目,但在无障碍(Accessibility)支持方面存在较大不足。应用中有相当一部分 UI 页面的按钮和操作选项缺少无障碍标签(contentDescription / accessibility labels),导致屏幕阅读器(如 TalkBack)无法正确识别和聚焦这些元素。

对于视力障碍群体而言,这直接导致大量功能无法通过屏幕阅读器独立操作。

具体表现

  • 部分按钮未设置 contentDescription,屏幕阅读器读出的内容为空或仅为 "Button"
  • 部分操作选项(如设置页面的切换开关、技能仓库列表项等)缺少语义化标签
  • 自定义 UI 组件(如悬浮球、覆盖层面板)可能未正确暴露无障碍节点
  • 部分动态内容更新后无障碍焦点未正确转移

建议

  • 对所有可交互元素(Button、Switch、RadioButton、列表项等)补充 contentDescription
  • 使用 Android 无障碍测试工具(Accessibility Scanner)进行自动化扫描
  • 确保自定义 View 正确实现 AccessibilityNodeInfo 暴露
  • 考虑增加无障碍焦点管理,在页面跳转和弹窗出现时自动聚焦到首个可交互元素
  • 对于 Flutter UI 部分(聊天、设置等),确保 Semantics 节点正确配置

环境信息

  • 设备:Redmi K70 Pro
  • Android 版本:Android 14
  • 屏幕阅读器:TalkBack
  • OpenOmniBot 版本:v0.3.5

附加说明

OpenOmniBot 的端侧 AI 自动化能力对视障用户群体有独特的辅助价值——它可以通过视觉理解自动操作手机,与屏幕阅读器形成互补。但如果应用自身的 UI 缺乏无障碍支持,视障用户甚至无法独立配置和使用这些功能。这是一个非常值得优化的方向。


感谢开发团队的辛勤工作!期待 OpenOmniBot 在无障碍方面持续改进。

Metadata

Metadata

Assignees

Labels

1medium difficulty to implement. Recorded as 1 day's workload.

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions