C3.31.2Explicit system-gesture exclusion设计研究

应用请求豁免系统手势需要显式声明,且用户可能不知情

别名: 手势豁免 · 边缘排除 · full-screen swipe

概念解释

系统偶尔允许应用声明“这块边缘归我”——全屏绘图、横屏游戏、自定义返回。声明必须是显式 API(边缘排除矩形、全屏手势标志),默认不给。用户通常看不见这则声明:他们只觉得“这应用滑不回去了”。豁免是能力转让,不是静默优化。

机制

显式声明让系统把手势热区从某条边收缩或关掉,事件才进应用。没有声明时,系统宁可误伤应用抽屉,也要保住退出通道。声明往往按边、按控制器、按全屏状态生效,退出全屏应自动归还。用户不知情是结构问题:系统设置里很少列出“某应用占用了返回手势”,崩溃或卡死时也没有替代退出。因此豁免必须伴随可见的应用内返回,否则转让会把人关进房间。

怎么研究

对比声明前后,从边缘滑的归属与用户能否说出“现在怎么返回”。记录有无可见返回控件。把“用户以为系统坏了”的口头报告单独编码。覆盖第一次进入全屏的新手,不要只用知道隐藏手势的内部员工。

边界

系统不允许豁免的手势(许多设备上的回主屏)声明了也不会生效。辅助技术开启时,豁免常被系统忽略。Web 内容几乎申请不到原生边缘排除。声明范围如果比实际需要的画布大(整屏排除只为了左上角一个工具),伤害被放大。这条不讨论系统版本把新手势加进来之后旧声明失效。

怎么落地

  • 只对真正需要的那条边做排除,并在同一屏提供可见返回/关闭。
  • 离开全屏或该画布时撤销声明,不要把排除留在普通列表页。
  • 请未读过文档的人在豁免页上“回到上一屏”:若他们去按实体键或以为死机,就缺可见出口。

延伸

  • 同组C3.31.1 系统手势的判定发生在应用收到触摸事件之前,应用无法提前拦截 · C3.31.3 系统与应用手势的优先级规则随系统版本变化,旧应用可能被新增系统手势打断 · C3.31.4 优先级冲突的默认解决方向应该是保留用户退出与导航的能力
  • 相邻C3.14 返回手势 · C3.20 手势的可发现性
  • 站内检索gesture exclusion · edge protection · fullscreen gesture

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/C3.31.2