How to insert HTML that includes an ampersand>
t function is for texts, not for HTML, so it is perfectly allowed to fail. Also, you should not use dynamic strings in t's first argument at all, it is meant to be static. 

Whenever possible, you should use renderable arrays. In your specific case this seems a bit difficult, so first thing to, if you are willing to settle for quick and dirty, do would be just forget t and output tag directly.