Microsoft and Google are working on a new API called “VirtualKeyboard” for Chromium-based browsers like Google Chrome and Edge. This API could update the existing on-screen keyboard used for input on Windows, macOS, Chrome OS, and Android phones with better controls.
As noted in a document, Virtual Keyboard(VK) is a public JS API and it gives control of the on-screen keyboard to the web developers. At the moment, developers cannot show/hide to raise/dismiss the VK and the keyboard’s performance is not ideal for scenarios where the developers want the user to use the site’s built-in/rendered keyboard to type passwords on Android.
“Also, in some cases, authors just want the caret to show inside an editable element until the user taps again to show the VK. This is possible with inputMode=none, but inputMode conflates two different concepts (layout and visibility of the VK) that should be separated to cater more complex scenarios,” the document reads.
Microsoft and Google are working on a new feature that would deal with hiding/showing the keyboard and controlling whether the Visual Viewport resizes when the virtual keyboard changes visibility.
In theory, VirtualKeyboard APIs will be updated for developers with more control over when the virtual keyboard is shown or hidden.
“It also fires events that describe the intersection of the VK and layout viewport and can opt the browser out of resizing its visual viewport in response to VK visibility changes,” Microsoft said.
Unlike web browsers or web apps, native Android or Windows apps have the ability to listen for events from the operating system. Using this new API, developers bring enhanced experiences to the web on desktop and mobile. As a result, the editable area on a website will always remain visible.
Developers can opt-in to a new style where a docked virtual keyboard will overlay content and developers will be able to optimize the layout viewport for the virtual keyboard.
For example, when the virtual keyboard appears on your phone, the browser will not scroll the editable element into view, nor it will resize the visual/layout viewports to match the new window size when overlayscontent flag is set.
“This is because we want the web authors to control how the content would be laid out after the VK is displayed/hidden,” the company said.
Microsoft has confirmed that the updated API will be supported for browsers on touch platforms that have virtual keyboards. This includes Windows, Chrome OS and Android. It will not work on Mac, Linux or Android WebView.
According to Google’s status page, Chrome is set to gain support for VirtualKeyboard API with version 94 for desktop and mobile.
Additionally, Chrome is also getting its own screenshot tool and other improvements in the next update.