SuperAPI AI 工具集

touch-pointer

智能体与模型

查看项目

更新于 10-16 00:29

技能介绍

用途:为任何需要用户触摸、点击、轻触、拖拽或手势操作的交互界面提供无障碍实现规则,与键盘无障碍技能互补而非互相替代。核心要求是界面应同时适配触摸屏、鼠标、触控板、触控笔、头控指针、开关控制指针等设备,不因设备推断用户能力。

主要能力与规则:

  1. 输入无关基础:优先使用原生 HTML 控件与链接,其点击激活天然跨设备;自定义直接操作组件使用 Pointer Events,不用 pointerType 限制核心功能。
  2. 禁止阻止缩放:不得使用 user-scalable=no 或 maximum-scale=1,需审计框架自动添加的 viewport 限制,并在 200% 文本与 400% 布局缩放下测试。
  3. 多点/路径手势的单指针替代(WCAG 2.5.1):如地图缩放平移、轮播切换需提供按钮等单指针、无路径手势的替代方式。
  4. 拖拽的非拖拽替代(WCAG 2.5.7):拖拽排序等需提供单指针、不拖拽即可完成的操作,如上移/下移按钮,并保留焦点与状态、播报结果。
  5. 指针取消(WCAG 2.5.2):普通控件应在 click 而非 pointerdown/mousedown/touchstart 上激活,允许用户移开取消;破坏性操作需确认或撤销。
  6. 目标尺寸(WCAG 2.5.8):指针目标至少 24×24 CSS 像素,重要或高频控件建议 44×44;使用 rem 并让内边距落在可交互元素本身;行内文本链接有例外,复选框/单选框应关联可见 label。
  7. 动效替代(WCAG 2.5.4):摇动、倾斜、摄像头手势需提供常规控件、允许关闭并默认关闭。
  8. 不依赖悬停:悬停显示的功能需有常驻控件或键盘焦点可达,悬停内容需可关闭、可悬停、持久。
  9. pointer/hover 媒体特性需谨慎使用,不得将必要控件隐藏在精确指针查询后。
  10. 自定义交互优先 Pointer Events,跟踪 pointerId,在 pointerup 完成、pointercancel 与 lostpointercapture 时取消,避免重复激活。
  11. touch-action 仅用于最小自定义表面,保留页面滚动与捏合缩放,避免全局 touch-action: none。
  12. 组件模式:轮播、地图、滑块、可排序列表、滑动操作、长按、绘图/签名、画布控制均需提供可见、可发现的替代控件。
  13. 可见标签需包含在无障碍名称中(WCAG 2.5.3),便于语音输入用户按可见文字激活。
  14. 保持方向、重排与可达性,适配触摸屏读屏器的触摸探索与激活方式。
  15. 防止误触与数据丢失:分离相邻的破坏性/建设性操作,不用模糊图标,不在按下时执行,确认难以撤销的操作,提供撤销,保留已输入数据。

使用方式:在实现任何交互式 UI 时加载本技能,与键盘技能并用;按严重程度(Critical、Serious、Moderate、Minor)结合真实用户影响、任务关键性、覆盖范围与频率排序处理。

适用场景:按钮、链接、表单、地图、轮播、滑块、可排序列表、滑动操作、长按菜单、绘图签名、画布控件等。

限制:本技能源自 mgifford/ACCESSIBILITY.md 的示例文件,如有疑问以该示例为准;浏览器或辅助技术自身要求的手势不在作者控制范围内,不应复制或干扰;模拟器无法复现手部遮挡、可达性、误触或传感器权限,最终测试应使用物理设备。具体安装命令与收费信息暂未提供。