HTMLElement: virtualKeyboardPolicy property

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The virtualKeyboardPolicy property of the HTMLElement interface gets and sets a string indicating the on-screen virtual keyboard behavior on devices such as tablets, mobile phones, or other devices where a hardware keyboard may not be available, if the element's content is editable (for example, it is an <input> or <textarea> element, or an element with the contenteditable attribute set).

It reflects the value of the virtualkeyboardpolicy HTML global attribute.

Value

An enumerated value; possible values are:

"auto" or an empty string ("")

The browser automatically shows the virtual keyboard when the user taps or focuses the element.

"manual"

The browser does not automatically show the virtual keyboard: showing/hiding the virtual keyboard is handled manually by the script.

Examples

The following example shows how to control the on-screen virtual keyboard behavior via script:

js
const element = document.querySelector("input");

// the on-screen virtual keyboard behavior will be controlled by script manually
element.virtualKeyboardPolicy = "manual";

Specifications

Specification
VirtualKeyboard API
# dom-elementcontenteditable-virtualkeyboardpolicy

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
virtualKeyboardPolicy
Experimental
Chrome – Full support
Chrome 94 (Release date: 2021-09-21)
footnote Full support
Edge – Full support
Edge 94 (Release date: 2021-09-24)
footnote Full support
Firefox – No support
Firefox
footnote
footnote See bug 1730568
Opera – Full support
Opera 80 (Release date: 2021-10-05)
footnote Full support
Safari – No support
Safari
footnote
footnote See bug 230225
Chrome Android – Full support
Chrome Android 94 (Release date: 2021-09-21)
footnote Full support
Firefox for Android – No support
Firefox for Android
footnote
footnote See bug 1730568
Opera Android – Full support
Opera Android 66 (Release date: 2021-12-15)
footnote Full support
Safari on iOS – No support
Safari on iOS
footnote
footnote See bug 230225
Samsung Internet – Full support
Samsung Internet 17 (Release date: 2022-05-04)
footnote Full support
WebView Android – Full support
WebView Android 94 (Release date: 2021-09-21)
footnote Full support
WebView on iOS – No support
WebView on iOS
footnote
footnote See bug 230225

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

See also