diff --git a/CHANGES.md b/CHANGES.md
index f914dc5c1..6b66fd318 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -4,6 +4,9 @@
(#333 by Martin @MBodin Bodin)
* Fix typo for `subresource` & English orthographic fixes
(#345 by toastal)
+* Allow `
` to wrap `
` / `` as well as script-supporting elements
+ in ``
+ (#344 by toastal)
# 4.6.0
diff --git a/lib/html_types.mli b/lib/html_types.mli
index 66b0097d5..1fd78b446 100644
--- a/lib/html_types.mli
+++ b/lib/html_types.mli
@@ -427,6 +427,9 @@ type formassociated = [ | listed | `Progress | `Meter | `Label ]
type subresource_integrity = [ | `Crossorigin | `Integrity ]
(** @see *)
+type script_supporting = [ | `Script | `Template ]
+(** @see *)
+
(** Transparent elements.
Such elements have a part of they children in their data
and behaves like them. We could do something like [a: 'a elt list -> 'a elt]
@@ -1423,12 +1426,12 @@ type dialog_content_fun = [ | flow5 ]
type dialog_attrib = [ | common | `Open ]
-(* NAME: div, KIND: star, TYPE: [= common ], [= flow5 ], [=`Div], ARG: [= flow5 ], ATTRIB: OUT: [=`Div] *)
+(* NAME: div, KIND: star, TYPE: [= common ], [= flow5 | `Dd | `Dt ], [=`Div], ARG: [= flow5 ], ATTRIB: OUT: [=`Div] *)
type div = [ | `Div ]
-type div_content = [ | flow5 ]
+type div_content = [ | flow5 | `Dd | `Dt ]
-type div_content_fun = [ | flow5 ]
+type div_content_fun = [ | flow5 | `Dd | `Dt ]
type div_attrib = [ | common ]
@@ -1479,9 +1482,9 @@ type dt_attrib = [ | common ]
type dl = [ | `Dl ]
-type dl_content = [ | `Dt | `Dd ]
+type dl_content = [ | script_supporting | `Div | `Dd | `Dt ]
-type dl_content_fun = [ | `Dt | `Dd ]
+type dl_content_fun = [ | script_supporting | `Div | `Dd | `Dt ]
type dl_attrib = [ | common ]