HTMLElement: virtualKeyboardPolicy property

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.


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.


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

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

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


VirtualKeyboard API
# dom-elementcontenteditable-virtualkeyboardpolicy

Browser compatibility

BCD tables only load in the browser

See also