diff --git a/packages/html/src/elements.rs b/packages/html/src/elements.rs
index 7004ac1b7..6a0e546fa 100644
--- a/packages/html/src/elements.rs
+++ b/packages/html/src/elements.rs
@@ -1107,6 +1107,7 @@ builder_constructors! {
formnovalidate: Bool DEFAULT,
formtarget: Target DEFAULT,
height: isize DEFAULT,
+ initial_checked: Bool DEFAULT,
list: Id DEFAULT,
max: String DEFAULT,
maxlength: usize DEFAULT,
diff --git a/packages/interpreter/src/common.js b/packages/interpreter/src/common.js
index 0587d60d4..3745e8c6b 100644
--- a/packages/interpreter/src/common.js
+++ b/packages/interpreter/src/common.js
@@ -51,6 +51,9 @@ export function setAttributeInner(node, field, value, ns) {
case "checked":
node.checked = truthy(value);
break;
+ case "initial_checked":
+ node.defaultChecked = truthy(value);
+ break;
case "selected":
node.selected = truthy(value);
break;
diff --git a/packages/interpreter/src/sledgehammer_bindings.rs b/packages/interpreter/src/sledgehammer_bindings.rs
index 23430688e..e2633d024 100644
--- a/packages/interpreter/src/sledgehammer_bindings.rs
+++ b/packages/interpreter/src/sledgehammer_bindings.rs
@@ -80,6 +80,9 @@ mod js {
case "checked":
node.checked = truthy(value);
break;
+ case "initial_checked":
+ node.defaultChecked = truthy(value);
+ break;
case "selected":
node.selected = truthy(value);
break;