F1.09.1overlay target occlusion设计
浮层不得遮挡其正在操作的目标
别名: 操作对象被遮 · picker covering target · 浮层挡目标
概念解释
给画布上的色块改颜色,取色板从色块正中弹开,色块被盖住。调的是哪一块、调完像不像,当场无法对照。日期选择器盖住正在改的那一行日期、批注框盖住被批的句子,是同一类失败:浮层挡住了它正在改的那个对象。层可以很大、可以很漂亮,只要目标从视野里消失,这次操作就变成盲调。
被挡住的是作用对象,不是触发器。触发器被挡住是另一回事;这里缺的是「改的那块东西」本身。
机制
调参是一个对照循环:改一下,看对象,再改。循环的「看」被切断之后,人只能靠记忆里的上一眼,而工作记忆撑不住颜色、位置、措辞这些精细差异。层越是覆盖对象所在的那一块,循环断得越干净。居中大面板特别容易犯,因为它的设计目标就是占据注意,于是连对照所需的那一点注意也占走。
有箭头指向触发器并不能补偿:箭头回答「谁打开了层」,不回答「对象现在长什么样」。对象被盖住的那几秒里,这两条问题的答案同时缺席。
边界
对象本来就不在屏幕上(给一篇尚未打开的文档设标签)谈不上遮挡,层可以自由放置。全屏编辑器(代码主题预览、整页排版)把对象换成层内部的预览,对照循环被搬进层里,只要预览是活的,就不算挡住外部目标。游戏暂停菜单盖住的是游戏画面,暂停的语义就是不让那块被操作,遮挡是故意的。很小的工具提示盖住目标一角,只要关键特征(色相、数字、人脸)仍露出,循环还能转。
怎么落地
- 取色、日期、字体、滤镜这类「看着对象调」的层,默认停在对象矩形之外,留出对象的完整可见面积。
- 做不到完全让开时,至少露出对象上被修改的那个属性:色块的颜色、句子的用词、头像的裁切框。
- 禁止用居中模态承载这类对照式调节;居中模态留给不需要看着外部对象的决策。
- 验证:打开调节层,截一张图,问没操作过的人「被改的是哪一块、它现在长什么样」。两问都要能从这一帧答出,对象才没被挡住。