1. A computer-implemented method for presenting a document for interaction with a user in a web browser, the method comprising: accessing an electronic model of the document; determining, with a computing device, positions for items in a visual rendering of the electronic model based on relative sizes and positions of other items in the electronic model; generating, with the computing device, a document object model (DOM) that represents at least part of the electronic model and defines an editing surface, wherein the DOM: (a) places the items at the determined positions on the editing surface, (b) places a graphic element that represents a cursor at a determined location on the editing surface, and (c) is arranged to receive user input on the editing surface and to correlate a location of the received user input to a location in the electronic model; receiving an entry of a character to the editing surface; generating an off-screen display area including the character; and measuring a size of the off-screen display area to determine a location to display the character on the editable surface.