- From: Geoffrey Sneddon <foolistbar@googlemail.com>
- Date: Thu, 24 Jul 2008 14:04:46 +0100
On 22 Jun 2008, at 21:22, Edward Z. Yang wrote: >> To represent a block of computer code, the pre element can be used >> with a code element; to represent a block of computer output the pre >> element can be used with a samp element. Similarly, the kbd element >> can be used within a pre element to indicate text that the user is to >> enter. > > The implication is that document authors are recommended to use > <pre><code> to wrap all of their programming code instead of a lone > <pre>, if they wish to be fully semantic. This feels needlessly > verbose > and abusive of <code>, which traditionally has been used to mark > single-liners. Well, that tradition is wrong under HTML 4.01 (pre "tells visual user agents that the enclosed text is 'preformatted'", whereas code 'designates a fragment of computer code'). > It also makes it extremely difficult to style pre as a block for code, > as the only semantic indication that the contents of the pre block are > computer code is its child. You'd end up having to say <pre > class="code"><code> if you wanted to style pre as well. There are lots of thing that are semantically desirable in HTML that can't be fulfilled using pre-existing CSS selectors. Continuing to style "pre" is no less ambiguous and risky as it was under what the traditional behaviour is. > At the same time, I still think the semantics of whether or not a > <pre> > tag indicates a plaintext file, or a piece of ASCII art, or computer > code, is somewhat important. However, I think this information would > be > more appropriately given as an attribute. Why go against what HTML 4.01 does? It seems needless to change. -- Geoffrey Sneddon <http://gsnedders.com/>
Received on Thursday, 24 July 2008 06:04:46 UTC