Следует помнить, что уязвимости XSS возникают просто из-за того, что ненадежные, не проверенные и неэкранированные данные отображаются в любом месте веб-страницы.Это включает в себя JavaScript, CSS и буквально где угодно в теле HTML.
Не имеет значения, генерируете ли вы полные элементы HTML, просто устанавливая атрибуты, поскольку XSS легко вырваться из тега, для которого он предназначендля визуализации и вставки собственной разметки.