The stock response to this is that "abstractions are leaky." For the DOM, it's conceptually nice to be able to just operate on the tree, but as soon as you start dealing with browser bugs (or even just browser-specific functionality) the chances are that it'll just break, and the system will end up more complex than if you'd just stuck with text.<p>Also, presumably you'd want a non-textual Javascript layer to go with your non-textual DOM layer. I think the jury's still out on general non-textual programming.<p>I think the reason programmers get hung up on text and its editors is that it's like C: it's the lingua franca. <i>Every</i> system uses it at some level, so if you've got a good tool for using it, it's applicable to any domain you care to look at. Without it, you'd be reduced to domain-specific abstractions which might not have any wider applicability at all.