This seems like a bug. In Firefox 3.0, if you use insertAtCaret(), the HTML is not interpreted; but setText() works.