正如一份文件中所指出的,虚拟键盘(VK)是一个公共的 JS API,它将屏幕键盘的控制权交给了网络开发者。目前,开发者不能显示/隐藏以提高/取消虚拟键盘,而且键盘的性能对于开发者希望用户使用网站的内置/渲染键盘在安卓上输入密码的场景并不理想。
“另外,在某些情况下,开发者只想让光标显示在一个可编辑的元素内,直到用户再次点击显示虚拟键盘。这在 inputMode=none 的情况下是可行的,但 inputMode 混淆了两个不同的概念(布局和 VK 的可见性),应该分开来以满足更复杂的情况,”该文件写道。
微软和谷歌正在研究一项新的功能,该功能将处理隐藏/显示键盘和控制虚拟键盘改变可见性时视觉视口是否调整大小。
理论上,VirtualKeyboard APIs 将为开发者更新,对虚拟键盘何时显示或隐藏有更多控制。
“它还会映射事件,描述 VK 和布局视口的交叉点,并可以选择浏览器不调整其视觉视口的大小,以响应 VK 可见性的变化,”微软说。
与网络浏览器或网络应用不同,原生安卓或 Windows 应用有能力监听操作系统的事件。利用这个新的 API,开发者在桌面和移动端为网络带来了增强的体验。因此,网站上的可编辑区域将始终保持可见。
IT之家获悉,开发人员可以选择加入一种新的风格,停靠的虚拟键盘将覆盖内容,开发人员将能够为虚拟键盘优化布局视口。
例如,当虚拟键盘出现在你的手机上时,浏览器不会将可编辑的元素滚动到视图中,也不会在设置 overlayscontent flag 时调整视觉/布局视口的大小以匹配新窗口的大小。
该公司说:“这是因为我们希望网络开发者能够控制 VK 显示/隐藏后内容的布局。”
微软已经确认,升级的 API 将支持具有虚拟键盘的触摸平台上的浏览器。这包括 Windows、Chrome OS 和 Android。但它不会在 Mac、Linux 或 Android WebView 上工作。
根据谷歌的状态页面,Chrome 浏览器将在桌面和移动 94 版本中获得对虚拟键盘 API 的支持。
此外,Chrome 浏览器也将在下一次更新中获得自己的屏幕截图工具和其他改进。