W3C home > Mailing lists > Public > www-html@w3.org > September 2005

RE: XHTML2: Proposal for total separation of semantics from structure

From: Mark Birbeck <mark.birbeck@x-port.net>
Date: Fri, 2 Sep 2005 17:33:12 +0100
Message-ID: <C5041F61-29BC-4097-B565-2ED51193FE55@S009>
To: "'Orion Adrian'" <orion.adrian@gmail.com>
Cc: <www-html@w3.org>

Hi Orion,

> And while we can be generic with element names and use @role 
> to clarify I think we're much better off with structural 
> roles tightly integrated with tags. If not then everything is 
> either <div> or <span>.

I'm not sure if you are suggesting that we should have specific elements to
define structure, but if that is your suggestion, I would just say that not
doing does not automatically lead to just a collection of <div>s and

One of the main motivations for @role came from work by various
accessibility experts. The idea was to be able to tell some processor more
about what some part of a document was there for. Although initially
intended to help voice systems to provide a better experience for users, it
soon became apparent that the same principles would apply to mobile devices,

For example, if a BBC news story can be delivered to the Vodafone or Orange
news servers with a clear indication of which part of the story is
navigation info, and which is the actual story, then the server could do
some processing before delivering it to a mobile phone. This might, for
example, involve putting all the navigation info onto a menu on a button, so
leaving the entire display free for as much of the content as possible.

And of course a voice browser would also benefit since it could skip past
the navigation section, straight to the main content.

All of this probably makes a lot of sense, but what if the main content was
in some other element than a <div> or <span>? It might be some other HTML
element (a <p> or <section> for example), or it might be in some element
from another language that has been embedded into XHTML 2, such as an SVG
text element. The point is that @role allows the voice browser or other
application to still pick out the key points in the document. (One of the
original architects of @role, T. V. Raman, called this kind of feature
'cross-cutting', since it has relevance regardless of the mark-up language
being used.)

> The difference here between structure 
> and semantics is that structural elements should have only 
> one role, but potentially many semantic classes. A div 
> shouldn't both be navigation and content at the same time. 
> Though I could be wrong.

There is no reason why something might not have more than one role. For
example, a list of links to stories from an RSS feed is both the content and
the navigation. Some sample XHTML 2 that shows how this is done is in an
article on my blog, titled "XHTML 2 as the 'Universal Document'" (it's in
the January archives).



Mark Birbeck
x-port.net Ltd.

e: Mark.Birbeck@x-port.net
t: +44 (0) 20 7689 9232
w: http://www.formsPlayer.com/
b: http://internet-apps.blogspot.com/

Download our XForms processor from
Received on Friday, 2 September 2005 16:33:46 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:06:11 UTC