SuperAPI AI 工具集

android-accessibility-validator

通用与其它

查看项目

更新于 10-15 21:08

技能介绍

用途:面向 Android 应用,检查 Jetpack Compose 与 Android Views 的无障碍问题并给出改进建议,重点覆盖 TalkBack 标签、动态文字支持与颜色对比度。

主要能力:提供一份无障碍检查清单。TalkBack 方面,要求交互元素通过 semantics 提供 contentDescription,装饰性元素使用 Modifier.semantics { invisibleToUser() },相关元素使用 Modifier.semantics(mergeDescendants = true),contentDescription 需本地化,并通过 semantics { role = Role.Button } 等方式设置 Role,为开关类控件提供 stateDescription,用 semantics { heading() } 标记标题,用 onClickLabel 描述自定义操作,必要时用 isTraversalGroup 与 traversalIndex 控制遍历顺序,复杂自定义组件可用 clearAndSetSemantics { ... } 覆盖默认语义。动态文字方面,字号使用 sp 而非 dp,采用 MaterialTheme.typography 比例,布局需适配大字号,并可在合适场景用 Modifier.transformable 支持捏合缩放。颜色对比度方面,普通文字需 4.5:1,大号文字(18sp 以上)需 3:1,使用 Material Theme 语义颜色,且颜色不能作为唯一指示。触控目标最小 48dp,可使用 Modifier.minimumInteractiveComponentSize()。测试方面,建议开启 TalkBack 手动测试,并在 Compose 测试中通过 enableAccessibilityChecks() 做自动化检查。

使用方式:按清单逐项核对代码,并参考快速修复表处理常见问题,例如缺少 contentDescription 时用 Modifier.semantics { contentDescription = "desc" },装饰性元素用 invisibleToUser(),分组用 mergeDescendants = true,小目标用 Modifier.size(48.dp),固定字体改用 MaterialTheme.typography.bodyLarge,缺少角色或状态时设置 role 与 stateDescription,遍历顺序错误时设置 isTraversalGroup 与 traversalIndex。问题按严重程度分为 Critical(阻断无障碍)、Moderate(降低可用性)、Minor(增强项)。

适用场景与限制:适用于 Android 界面开发与无障碍审查。资料未提供具体安装命令、平台版本要求、收费方式或自动化集成细节,暂未提供。