Browsers are a lot more forgiving with invalid HTML code, but there is something wrong with the sample code you posted, unless my html knowledge is so extremely outdated that I say something silly here. In that case, appologies in advance
The opening table node ends with a / which effectively closes the node folowing xhtml formatting rules. Could that be your issue?
Funny thing is, this comes from a custom activity we have been using for YEARS. I just looked at the code and that extra / has been there for YEARS. We used it to display thins in emails and apparently Outlook doesn’t care about the /. Only recently we started also using the resulting HTML to display things in Action Center.