On m.xkcd.com, the alt text is hidden and revealed using JavaScript. The text starts out visible, but is immediately hidden when the page loads, using window.onload.
The trouble with this is that on a slow connection (such as the ones you sometimes get with mobile devices!) the page is displayed when only partly rendered. Since the HTML hasn't loaded, window.onload hasn't fired, so the alt-text is still visible. Indeed, since the image probably hasn't loaded either, it's likely to be the only thing visible.
I think the alt text should have style="display:none" set explicitly, to be modified later by the JS.
