Structuralism or non-presentationalism principle (was: Re: extracting semantics)

On Jul 18, 2007, at 15:33, Ben Boyle wrote:

> Good questions all, and I don't know. I wish our design principles
> offered guidance here.
> Can I propose a design principle: All elements should have a clearly
> defined structural (semantic) meaning
> I propose this because:
> - it is a principle that appears to have been applied in HTML5 (but
> it's not documented)

I think it went more like this:
1) Set a non-presentational principle.
2) Recognize that there are language features that don't match the  
principle but are implemented, so not using them would let something  
that we could have for free go to waste.
3) Recognize that in some cases people have useful use cases for the  
widely-implemented language features, so telling these people to use  
something more complex would be unproductive.
4) Lawyer around the principle to achieve a practical outcome.

I think setting an impractical principle and then lawyering around  
the self-set principle in order to get a practical outcome is rather  
silly. I'd prefer to be less principled and more practical in the  
first place.

The problem with the principle that you proposed or the non- 
presentationalism principle that Hixie has followed but lawyered  
around is that we are supposed to take authors into account but there  
are authors whose use cases don't conform to the non- 
presentationalism principle. Moreover, telling those authors to "use  
CSS" in the way that actually means "write CSS yourself" or "let your  
editor create awful style='' cruft" would complicate things only in  
order to satisfy a principle.

Authors using a wiki syntax or one of the many plain text plus magic  
punctuation syntaxes, authors using a MacWrite-style UI paradigm and  
authors converting word processor files all need benign inline-level  
presentational elements like <i> and <b>—sometimes even <font  
color=''> or <small>. Do we solve or create problems by banning  
existing and interoperably implemented language features that are  
applicable to these use cases?

To make this more concrete, here's an HTML page my mother wrote using  
The page has a CSS style sheet, but she hasn't learned to develop CSS  
style sheets herself (neither by hand nor using Dreamweaver's dialog- 
based CSS rule editor). There has been no need to learn to write CSS.  
The page validates as HTML 4.01 Transitional.

Would we be solving problems or creating them by setting a principle  
that banned the kind of markup used on that page?

P.S. The page uses both <i> and <em> for italicized titles of works.  
Can you guess how that happened?

Henri Sivonen

Received on Wednesday, 18 July 2007 13:43:45 UTC