C3.31.3OS version shifts of gesture priority设计研究

系统与应用手势的优先级规则随系统版本变化,旧应用可能被新增系统手势打断

别名: 系统版本手势 · 新增系统手势 · gesture regression

概念解释

全面屏、底栏指示器、左缘返回、从右上角拉控制中心,都曾在某个系统版本里新出现。旧应用按当时的优先级写好抽屉、画布、分页,新系统把手势插到应用前面,原来能用的边缘突然失灵。这不是应用回归测试没跑,而是优先权表被平台改写。

机制

系统手势集合是演进的。新热区占用以前“没人要”的像素(底部 Home 条、曲面屏侧边、刘海两侧)。应用若把关键手势放在这些后来被征用的区域,升级后事件在应用之前被抽走。声明豁免的 API 也可能改名或收紧。版本之间的断裂对用户表现为“更新系统后这个应用滑不动了”,责任看起来在应用,根因在平台加塞。

怎么研究

在相邻大版本上用同一应用包做边缘手势矩阵:左/右/上/下、一指/多指。记录每格归属变化。把“应用未改二进制”作为控制。因变量是新增系统手势格子的侵占率。不要只在最新系统上测当前包——那看不见历史断裂。

边界

应用主动跟进新 API、把抽屉改到安全区以内,断裂可以被补上。Web 应用还要承受浏览器自己的版本手势(侧滑返回)。自定义 ROM 或平板桌面模式会再加一层。版本变化解释的是时间轴上的打断,不是同一版本里系统为什么先判。

怎么落地

  • 把系统手势清单按目标 OS 版本做成表,发布前在最低和最高支持版本上各跑一遍边缘矩阵。
  • 关键操作不要只活在可能被未来系统征用的边缘;给可见按钮。
  • 系统大版本升级后,用未改动的旧包打一次边缘手势,专门找“以前灵、现在被系统吃掉”的格。

延伸

  • 同组C3.31.1 系统手势的判定发生在应用收到触摸事件之前,应用无法提前拦截 · C3.31.2 应用请求豁免系统手势需要显式声明,且用户可能不知情 · C3.31.4 优先级冲突的默认解决方向应该是保留用户退出与导航的能力
  • 相邻C3.13 边缘滑入手势 · C3.12 三指与四指系统手势
  • 站内检索OS version · gesture regression · safe area

同组卡片

快捷操作

分享

分享当前页面

ios_share

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