SuperAPI AI 工具集

custom-plugin-flutter-skill-accessibility

编程与开发

查看项目

更新于 10-16 03:43

技能介绍

用途:为 Flutter 应用实现生产级无障碍支持,覆盖语义、屏幕阅读器、视觉对比度、触控与键盘操作及测试。

主要能力:

  1. Semantics 组件:label、value、hint 身份与提示,button/image/header 等特征,enabled/checked/selected 状态,onTap/onIncrease 等动作,以及 container、explicitChildNodes、excludeSemantics 分组控制。
  2. 语义包装:MergeSemantics 合并节点,ExcludeSemantics 排除装饰元素,BlockSemantics 屏蔽底层内容。
  3. 屏幕阅读器:使用 sortKey(OrdinalSortKey)自定义朗读顺序,SemanticsService.announce 动态播报,liveRegion 标记动态内容,customSemanticsActions 提供自定义动作,兼容 iOS VoiceOver 与 Android TalkBack。
  4. 视觉无障碍:ContrastChecker 按 WCAG 计算亮度对比,AA 为普通文本 4.5:1、大文本 3:1,AAA 为 7:1 与 4.5:1;用 MediaQuery.textScalerOf 尊重系统字体缩放,用 MediaQuery.disableAnimationsOf 响应减弱动画偏好。
  5. 触控与键盘:触控目标最小 48x48 dp,使用 Focus、onKeyEvent、FocusTraversalGroup 与 NumericFocusOrder 管理焦点顺序。

使用方式:在组件外层包裹 Semantics 并填写 label/hint;用 MergeSemantics/ExcludeSemantics 整理语义树;在测试中用 tester.ensureSemantics() 与 matchesSemantics 校验标签、状态与动作,并检查按钮尺寸不小于 48。

适用场景:需要满足 WCAG 2.1 AA/AAA 的 Flutter 移动应用,尤其是包含列表卡片、表单、动态内容的界面。

限制:资料未提供依赖版本、安装命令、平台差异细节与完整 API 列表;无障碍合规仍需结合真机屏幕阅读器手动测试,且资料未提供具体收费信息。