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.