fix: escape HTML tags in lesson validation messages

Prevent HTML elements like <details>, <option>, <form> from being
rendered as actual elements in hint messages by properly escaping
them with &lt; &gt; and wrapping in <kbd> tags.
This commit is contained in:
2025-12-30 12:25:22 +01:00
parent 085795ae12
commit 6bb8268c9d
6 changed files with 15 additions and 15 deletions

View File

@@ -55,7 +55,7 @@
{
"type": "attribute_value",
"value": { "selector": "details", "attr": "open", "value": true },
"message": "Add the <kbd>open</kbd> attribute to <details>"
"message": "Add the <kbd>open</kbd> attribute to <kbd>&lt;details&gt;</kbd>"
}
]
},
@@ -79,17 +79,17 @@
{
"type": "element_count",
"value": { "selector": "details", "min": 3 },
"message": "Create at least 3 <details> elements for the FAQ"
"message": "Create at least 3 <kbd>&lt;details&gt;</kbd> elements for the FAQ"
},
{
"type": "element_count",
"value": { "selector": "summary", "min": 3 },
"message": "Each <kbd>&lt;details&gt;</kbd> needs a <summary> for the question"
"message": "Each <kbd>&lt;details&gt;</kbd> needs a <kbd>&lt;summary&gt;</kbd> for the question"
},
{
"type": "element_count",
"value": { "selector": "details p", "min": 3 },
"message": "Each <kbd>&lt;details&gt;</kbd> needs a <p> for the answer"
"message": "Each <kbd>&lt;details&gt;</kbd> needs a <kbd>&lt;p&gt;</kbd> for the answer"
}
]
}