SuperAPI AI 工具集

ios-a11y

编程与开发

查看项目

更新于 10-16 06:48

技能介绍

用途:在 iOS 开发任务中实现无障碍支持,基于 Swift、UIKit 与 SwiftUI。

主要能力与做法:

  • 语义优先:使用标准控件,自带无障碍支持;为交互元素与有意义的图片设置 accessibilityLabel。
  • 角色与状态:用 traits 表达元素类型与状态,如 .button、.link、.header、.selected、.notEnabled 等。
  • 读值:用 accessibilityValue 描述滑块、步进器、开关、进度等的当前状态。
  • 隐藏装饰元素:用 accessibilityHidden(true) 或 isAccessibilityElement = false。
  • 分组与顺序:.combine 合并为一个朗读项,.contain 保留子元素可聚焦;用 accessibilitySortPriority 或 accessibilityElements 自定义焦点顺序。
  • 焦点管理:用 AccessibilityFocusState、UIAccessibility.post 的 .screenChanged、.layoutChanged、.announcement 处理弹窗、状态变化与键盘收起后的焦点。
  • 自定义操作:用 accessibilityAction(named:) 或 UIAccessibilityCustomAction 暴露删除、分享、排序等操作。
  • 视觉适配:动态字体用 .font(.headline) 或 UIFont.preferredFont,避免硬编码字号;用 accessibilityReduceMotion 判断是否播放动画。
  • 输入无障碍:表单字段需同时有可见标签与 accessibilityLabel,不用占位符代替;必要时用 accessibilityInputLabels 提供语音控制可读名称。
  • 错误处理:显示错误并用 announcement 播报。
  • 屏幕结构:设置屏幕标题与段落标题特征。

运行时检测:UIAccessibility.isVoiceOverRunning、isSwitchControlRunning、isReduceMotionEnabled 等。

测试:手动用 VoiceOver 与 Accessibility Inspector;自动化用 iOS 17+ 的 performAccessibilityAudit(),并补充断言检查重复标签、冗余角色词与标题特征。

限制:未提供具体收费、价格、平台或效果数据;引用文件 accessibility-apis.md、visual-adaptations.md、assistive-features.md、input-patterns.md 的细节暂未提供。