浏览器的虚拟/屏幕键盘
Posted
技术标签:
【中文标题】浏览器的虚拟/屏幕键盘【英文标题】:Virtual / on-screen keyboard for browser 【发布时间】:2021-12-22 07:49:35 【问题描述】:我正在开发一个 SPA,它将在浏览器上运行以支持数字信息亭。我正在探索虚拟/屏幕键盘选项,虽然我决定使用simple keyboard,但我发现在 Linux 上,当我使用触摸屏时,Mozilla 会显示一个虚拟的屏幕键盘,它可以工作并且看起来很漂亮好吧(另一方面,simple-keyboard 需要大量的调整和编码)。是否有一个通用选项可以在所有浏览器上使用它而我错过了它?谢谢!
【问题讨论】:
我想知道你为什么用可访问性标记这个问题? 我将其标记为可访问性,因为我想知道答案是否隐藏在可从浏览器提供的可访问性键盘中。 我明白了,你是对的:Gnome 桌面有这个选项。即使您没有触摸屏,您也可以在系统辅助功能设置中激活屏幕键盘。您必须使用鼠标然后键入。对于windows,我不知道。 【参考方案1】:不,网络技术无法为您提供强制使用触摸屏键盘的方法,但操作系统 (OS) 可以,您应该使用它。 javascript 解决方案总是更不稳定且速度更慢。
您可能希望使用触摸屏笔记本电脑来测试您的应用程序。 (:
响应式网络应用程序应允许多模式输入,这意味着用户应该能够在使用应用程序时切换输入模式,例如从鼠标到键盘,或从物理键盘到屏幕键盘。这也是WCAG 2.2 Concurrent Input Mechanisms中即将提出的可访问性要求
我们对基于设备的输入法有很多假设,但智能手机用户可以连接蓝牙键盘或鼠标,并且可能确实需要。
这就是网络技术不提供“通用选项”来触发触摸屏键盘的原因。相反,它将决定权交给平台(浏览器和操作系统),后者对所使用的硬件有更多的了解。
为了进一步说明这个概念:html attribute inputmode
和 type
属性帮助浏览器优化屏幕键盘,如果显示。但不决定是否显示。
如果操作系统支持设备的触摸屏,一旦您在输入中设置焦点(可能通过触摸),它应该会显示屏幕键盘。键盘是否尊重inputmode
,取决于浏览器-操作系统的组合。
如果您能够为信息亭指定使用的硬件,您可以推荐一个操作系统。
【讨论】:
以上是关于浏览器的虚拟/屏幕键盘的主要内容,如果未能解决你的问题,请参考以下文章
当虚拟键盘出现在本机反应中时如何自动向上滚动屏幕(在android上)