E2.10.2dual search submit设计
提交方式需同时支持回车与按钮
别名: 搜索回车 · search submit button · 只有回车能搜
概念解释
搜索是一次明确的提交:词已经组成,人要发出去。键盘用户的习惯动作是回车;触屏和指针用户的习惯动作是点按钮。只实现其中一条,另一类人会停在「词打完了,然后呢」。双重提交(dual search submit)要求回车和可见按钮走同一条发出路径。它管的是如何发出查询,不是查询会搜哪一片,也不是发出之后如何清槽。
机制
回车在单行框里是默认的「完成」键,桌面搜索几乎把它练成反射。触屏上软件键盘的回车有时写成「下一项」或被 IME 占用,反射断了,人会在槽外找一个像放大镜的靶。没有可见按钮时,触屏用户会以为槽只是过滤器、还要再点别的;没有回车处理时,键盘用户会连按几次然后点页面空白。两条路径必须打到同一请求、同一校验(空词、过短词),否则一边能搜、一边弹出不同错误。候选列表打开时回车可能变成「选中当前项」,这时按钮仍应表示「用我打的原文搜」,两条路径的语义允许在这一刻分叉,但要稳定。
边界
即时过滤的列表(每键都在筛)没有独立的提交,回车和按钮会变成多余或变成「确认焦点项」。语音搜索的发出是说完即送,按钮仍可保留给修正后的重发。IME 组字中的回车是上屏不是提交,必须等组写结束再把下一次回车当搜索,否则中文用户会提交半个拼音。残障用户的开关设备可能既不容易点小放大镜,也不容易送回车,需要槽外还有一个更大的提交靶。
怎么落地
- 为搜索槽同时绑定回车提交和一颗可见的提交按钮(放大镜或「搜索」),两者发出同一请求。
- 分清 IME 组写结束与真正提交,组写中的回车不要发出查询。
- 候选列表打开时,把回车留给「接受当前候选」可以,但按钮仍应用槽内原文搜索,并在名称上写清。
- 验证:只用键盘打词回车;只用指针点按钮;在中文输入法组字时按回车。三条路径应分别完成「发出 / 发出 / 不上屏半个拼音」。缺任何一条,双重提交就不成立。