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
“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
“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,”
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.
Chrome is also getting its own screenshot tool and other
improvements in the next update.