This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Avoid using it and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

Note: This page describes the Keygen Element interface as specified, not as currently implemented by Gecko. See bug 101019 for details and status.

The <keygen> elements expose the HTMLKeygenElement interface, which provides special properties and methods (beyond the regular element object interface they also have available to them by inheritance) for manipulating the layout and presentation of keygen elements.


Name Type Description
autofocus Boolean Reflects the autofocus HTML attribute, indicating that the form control should have input focus when the page loads.
challenge DOMString Reflects the challenge HTML attribute, containing a challenge string that is packaged with the submitted key.
disabled Boolean Reflects the disabled HTML attribute, indicating that the control is not available for interaction.
form readonly HTMLFormElement Indicates the control's form owner, reflecting the form HTML attribute if it is defined.
keytype DOMString Reflects the keytype HTML attribute, containing the type of key used.
labels Unimplemented (see bug 556743) readonly NodeList A list of label elements associated with this keygen element.
name DOMString Reflects the name HTML attribute, containing the name for the control that is submitted with form data.
type readonly DOMString Must be the value keygen.
validationMessage readonly DOMString A localized message that describes the validation constraints that the control does not satisfy (if any). This is the empty string if the control is not a candidate for constraint validation (willValidate is false), or it satisfies its constraints.
validity readonly ValidityState The validity states that this element is in.
willValidate Boolean Always false because keygen objects are never candidates for constraint validation.


Name & Arguments Return Description
checkValidity() Boolean Always returns true because keygen objects are never candidates for constraint validation.
setCustomValidity(in DOMString error) void Sets a custom validity message for the element. If this message is not the empty string, then the element is suffering from a custom validity error, and does not validate.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes — 571 ? Yes2 ? No ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support ? Yes — 571 ? Yes2 No ? ?

1. See Chrome Platform Status.

2. See bug 1315460.

Document Tags and Contributors

Contributors to this page: sideshowbarker, fscholz, teoli, Nexii, kscarfone, Sheppy, jswisher
Last updated by: sideshowbarker,