<PAGE> proposal

Eric S. Raymond (esr@locke.ccil.org)
Fri, 22 Dec 1995 14:00:11 -0500 (EST)

This is a proposal for a simple extension to HTML.

In composing HTML document webs, I often find the coupling between the display
behavior of HTML documents and their representation as files getting in my
way. The central problem is that the abstract HTML entity "continuously
scrollable display extent" is welded to the underlying concrete "file"

This is both theoretically ugly and practically annoying. One symptom of the
problem is the continuing interest in server-side includes, which address half
of it by allowing document designers to paste multiple files into a single
scrollable display extent.

This proposal addresses the other symptom. There are many situations in which
one would like to be able to break one file into multiple disjoint scrollable
display extents.

My original motivating example can be found on my riddle-poem page at
http://www.ccil.org/~esr/riddle-poems.html. I want to keep the whole document
in one file for convenience, but I also want to have an explicit page or
display extent structure so that the user only sees one riddle answer at a
time without taking explicit action.

I therefore propose a new tag, <PAGE>. When the browser encounters this
tag, it should fill the display area with blank lines to the bottom. The
<PAGE> tag should also alter the scroll-forward behavior of the browser so that
the space created by <PAGE> expands during scrolling to fill the display
area until it is entirely blank, at which point the next scroll-forward
skips to-of-display to just past the <PAGE> tag.

This tag would have obvious utility when using HTML as a description language
for text formatting.

This tag should be simple to implement, and can be safely ignored by
existing browsers.

If the behavior specified above can easily be simulated by an existing tag, I
would love to know about it and might withdraw the proposal. I say `might'
because I think it may be the case that <PAGE> represents a new kind of
content information which HTML should represent rather than simulating.