diff --git a/docs/ldml/tr35-keyboards.md b/docs/ldml/tr35-keyboards.md
index 2e42582e888..f94c9fe0d60 100644
--- a/docs/ldml/tr35-keyboards.md
+++ b/docs/ldml/tr35-keyboards.md
@@ -704,7 +704,9 @@ This element defines a mapping between an abstract key and its output. This elem
_Attribute:_ `id`
-> The `id` attribute uniquely identifies the key. NMTOKEN, restricted to `[a-zA-Z0-9_.-]`. It can (but needn't be) the Latin key name for a Latn script keyboard (a, b, c, A, B, C, …), or any other valid token (e-acute, alef, alif, alpha, …)
+> The `id` attribute uniquely identifies the key. NMTOKEN. It can (but needn't be) the key name (a, b, c, A, B, C, …), or any other valid token (e-acute, alef, alif, alpha, …).
+>
+> In the future, this attribute’s definition is expected to be updated to align with [UAX#31](https://www.unicode.org/reports/tr31/). Please see [CLDR-17043](https://unicode-org.atlassian.net/browse/CLDR-17043) for more details.
_Attribute:_ `flicks="flick-id"` (optional)
@@ -755,7 +757,9 @@ _Attribute:_ `switch="shift"` (optional)
> Also note that `switch=` is ignored for hardware layouts: their shifting is controlled via
> the modifier keys.
>
-> This attribute is an NMTOKEN, restricted to `[a-zA-Z0-9-]`
+> This attribute is an NMTOKEN.
+>
+> In the future, this attribute’s definition is expected to be updated to align with [UAX#31](https://www.unicode.org/reports/tr31/). Please see [CLDR-17043](https://unicode-org.atlassian.net/browse/CLDR-17043) for more details.
_Attribute:_ `to`
@@ -899,9 +903,13 @@ The `flicks` element is used to generate results from a "flick" of the finger on
_Attribute:_ `id` (required)
-> The `id` attribute identifies the flicks. It can be any NMTOKEN matching `[A-Za-z0-9][A-Za-z0-9-]*`
+> The `id` attribute identifies the flicks. It can be any NMTOKEN.
+>
> The `flicks` do not share a namespace with the `key`s, so it would also be allowed
> to have ``
+>
+> In the future, this attribute’s definition is expected to be updated to align with [UAX#31](https://www.unicode.org/reports/tr31/). Please see [CLDR-17043](https://unicode-org.atlassian.net/browse/CLDR-17043) for more details.
+
**Syntax**
diff --git a/keyboards/dtd/ldmlKeyboard.dtd b/keyboards/dtd/ldmlKeyboard.dtd
index e668787eafa..42cf438c3be 100644
--- a/keyboards/dtd/ldmlKeyboard.dtd
+++ b/keyboards/dtd/ldmlKeyboard.dtd
@@ -93,8 +93,7 @@ Please view the subcommittee page for the most recent information.
-
-
+
@@ -115,10 +114,10 @@ Please view the subcommittee page for the most recent information.
-
-
+
+
-
+
@@ -139,7 +138,7 @@ Please view the subcommittee page for the most recent information.
-
+
@@ -150,7 +149,7 @@ Please view the subcommittee page for the most recent information.
-
+
@@ -185,7 +184,7 @@ Please view the subcommittee page for the most recent information.
-
+
diff --git a/keyboards/dtd/ldmlKeyboard.xsd b/keyboards/dtd/ldmlKeyboard.xsd
index 1a881854991..e610f45941e 100644
--- a/keyboards/dtd/ldmlKeyboard.xsd
+++ b/keyboards/dtd/ldmlKeyboard.xsd
@@ -181,7 +181,7 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
-
+
@@ -192,7 +192,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
-
@@ -217,7 +216,7 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
-
+
@@ -346,7 +345,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file
-
diff --git a/keyboards/dtd/ldmlKeyboardTest.dtd b/keyboards/dtd/ldmlKeyboardTest.dtd
index 1cb20db71e9..39a3310c5f7 100644
--- a/keyboards/dtd/ldmlKeyboardTest.dtd
+++ b/keyboards/dtd/ldmlKeyboardTest.dtd
@@ -61,7 +61,7 @@ Please see CLDR-15034 for the latest information. -->
-
+