Summary: If possible, present only one poem per window, so that the reader can concentrate on a single creation at a time. Allow generous white space to the left and right of the poem. Source-structure the poem into verse-lines, and when the poet has made such divisions, into stanzas. Control the indents using a style sheet.
As Oliver Simon points out in his Introduction to Typography (1945), poetry is more slowly and deliberately read than prose, which means that the reader is more than usually aware of typographical qualities. The defining feature of poetry is the division of the text into lines whose beginnings and ends are decided by the poet, not the editor. HTML has no provision at all for the mark-up of verse or song lyrics. At the opposite extreme is an enormously complex coding proposal from the Text Encoding Initiative (TEI) which is likely to overwhelm most HTML code writers.
My own survey of online magazines publishing
contemporary poetry in March 2002 found that most presentations of poetry
contained only rudimentary mark-up, with the stanzas commonly treated as
<br> tags inserted for the turns.
Curiously enough, this line-break command is quite in harmony with the
origins of the term verse, the Latin versus, which means "turning", but
it is not adequate to meet the needs of the mark-up era. (It should be
noted that the term "verse" in its strict meaning today refers to a
single line of poetry, though in former, and continued colloquial usage
it is often taken to mean a strophe or stanza, or any section of a song
Early digital publishers of poetry from the English literary canon, such as the 1992-2007 Electronic Text Center at the University of Virginia Library or the University of Toronto English Library, have encoded their source texts using a small number of TEI elements, but even as of 2002, the output is converted to crude HTML with simple spaces and breaks for presentation on the web.
To gain the maximum ability to adjust verse-lines, and
even to address them individually with scripts, each line will need to be
labelled as an element in its own right. In XML it is possible to enclose
the lines in tags like this:
<verse>line goes here
or, TEI-style, in order to make the source markup file more legible:
<l>line goes here
In HTML the most practical course at present is to
adapt the paragraph or
<p> tag to the task of
enclosing each line.
<p> has the great advantage of
taking up just three character spaces, so that the source file can still
be read as poetry, with each line bracketed within
tags, without too much strain.
There are two minor practical disadvantages to this.
One is that most visual browsers leave white space above and below every
<p> element if it is not given any additional styling.
This can easily be overcome using styles to close up these top and bottom
margins. The more serious disadvantage is that a marked-up document is
likely to contain other text paragraphs as well, which will also,
naturally enough, be enclosed in
<p> tags. In order to
ensure these non-poem sections are not displayed as if they were poetry
too, some kind of labelling scheme should be devised at the initial
design stage. Conventional-text paragraphs that also occupy the poetry
page should be marked off into some kind of non-poetry class of their
own, for example like this:
Let's go through the stages of setting up a poem for digital presentation.