diff --git a/lib/html.js b/lib/html.js
index 3c3bede..c14271c 100644
--- a/lib/html.js
+++ b/lib/html.js
@@ -117,6 +117,7 @@ export const html = create({
onAuxClick: null,
onBeforeMatch: null,
onBeforePrint: null,
+ onBeforeToggle: null,
onBeforeUnload: null,
onBlur: null,
onCancel: null,
@@ -222,6 +223,8 @@ export const html = create({
scoped: boolean,
seamless: boolean,
selected: boolean,
+ shadowRootDelegatesFocus: boolean,
+ shadowRootMode: null,
shape: null,
size: number,
sizes: null,
diff --git a/readme.md b/readme.md
index 11e6947..3e0ba04 100644
--- a/readme.md
+++ b/readme.md
@@ -599,6 +599,7 @@ It also works in Deno and modern browsers.
| `onAuxClick` | `onauxclick` | `html` |
| `onBeforeMatch` | `onbeforematch` | `html` |
| `onBeforePrint` | `onbeforeprint` | `svg`, `html` |
+| `onBeforeToggle` | `onbeforetoggle` | `html` |
| `onBeforeUnload` | `onbeforeunload` | `html` |
| `onBegin` | `onbegin` | `svg` |
| `onBlur` | `onblur` | `html` |
@@ -772,6 +773,8 @@ It also works in Deno and modern browsers.
| `security` | `security` | `html` |
| `seed` | `seed` | `svg` |
| `selected` | `selected` | `html` |
+| `shadowRootDelegatesFocus` | `shadowrootdelegatesfocus` | `html` |
+| `shadowRootMode` | `shadowrootmode` | `html` |
| `shape` | `shape` | `html` |
| `shapeRendering` | `shape-rendering` | `svg` |
| `side` | `side` | `svg` |