首页 > 解决方案 > 浏览器的虚拟/屏幕键盘

问题描述

我正在开发一个 SPA,它将在浏览器上运行以支持数字信息亭。我正在探索虚拟/屏幕键盘选项,虽然我决定使用简单的键盘,但我发现在 Linux 上,当我使用触摸屏时,Mozilla 会显示一个虚拟的屏幕键盘,它可以工作并且看起来非常好(另一方面,simple-keyboard 需要大量的调整和编码)。是否有一个通用选项可以在所有浏览器上使用它而我错过了它?谢谢!

标签: javascripthtmlbrowserkeyboardaccessibility

解决方案


不,Web 技术无法为您提供强制使用触摸屏键盘的方法,但操作系统 (OS) 可以,您应该使用它。JavaScript 解决方案总是更不稳定且速度更慢。

您可能想使用触摸屏笔记本电脑来测试您的应用程序。(:

响应式 Web 应用程序应该允许多模式输入,这意味着用户应该能够在使用应用程序时切换输入模式,例如从鼠标切换到键盘,或从物理键盘切换到屏幕键盘。这也是WCAG 2.2 并发输入机制中即将提出的可访问性要求

我们对基于设备的输入法有很多假设,但智能手机用户可以连接蓝牙键盘或鼠标,并且可能确实需要。

这就是为什么网络技术不提供“通用选项”来触发触摸屏键盘的原因。相反,它将决定交给平台(浏览器和操作系统),后者对所使用的硬件有更多的了解。

为了进一步说明这个概念:HTML 属性inputmode和属性一起type帮助浏览器优化屏幕键盘(如果显示的话)。但不决定是否显示一个。

如果操作系统支持设备的触摸屏,一旦您在输入中设置焦点(可能通过触摸),它应该会显示屏幕键盘。键盘是否尊重inputmode, 取决于浏览器-操作系统的组合。

如果您能够为信息亭指定使用的硬件,您可以推荐一个操作系统。


推荐阅读