В нашей команде нам пришла в голову мысль, что мы должны провести санацию строк перед добавлением в DOM. Мы ожидали, что, по крайней мере, двойные кавычки будут проблематичными, если их использовать в setAttribute, и <и>, если они будут добавлены к содержимому узла.
Первые тесты показали что-то другое. Мы используем innerHTML для установки содержимого узлов. Это позволяет избежать всех небезопасных персонажей. Но даже setAttribute экранирует <и>
Так всегда ли это так, потому что я ничего не смог найти в гугле? Я не знаю, есть ли какие-нибудь браузеры, которые потерпят неудачу.