创建一个清晰的播放条目
使用真实按钮或其他可聚焦控件来启动游戏,然后仅在有意执行该操作时将焦点移动到游戏表面。如果画布需要键盘输入,请为其容器提供合理的焦点行为和可见的指示器。避免在玩家进入游戏之前全局捕获按键;这可能会阻止正常的页面导航和打字。
当设置面板或暂停菜单打开时,将焦点移至内部并保持导航,直到其关闭。关闭时,将焦点返回到其开启器(如果它仍然存在)。 MDN 记录了 HTMLElement.focus 及其在引导键盘事件中的作用。
测试焦点转换
仅使用 Tab 和 Enter 从页面导航到游戏,打开菜单,浏览其控件,关闭它并确认焦点返回。确保可见焦点样式不会被游戏的视觉效果隐藏。如果游戏使用键盘快捷键,请确保当焦点位于玩家可以键入的文本输入中时它们不会触发。
使用 Tab 和 Enter 导航到游戏,打开和关闭菜单,并确认焦点返回。检查可见焦点样式并防止游戏快捷方式在文本输入中触发。当焦点离开时清除保持键状态,因此移动不会保持活动状态。
关于游戏焦点管理的常见问题
游戏是否应该监听整个文档的按键?
仅当玩家有意进入游戏并且处理程序避免可编辑控件和不相关的页面交互时。集中的游戏界面提供了更清晰的输入边界。
游戏菜单关闭时焦点应该去哪里?
当打开菜单的控件仍然存在时,将其返回到该控件。这为键盘用户提供了可预测的延续点。
延伸阅读
发现信息过时了? 报告需要更正的内容