Christian Montoya wrote:
I think the W3C realized that a long time ago, and I think WhatWG will
go at this for a couple more years and say, "hey, this html thing just
can't define everything, we need a technology that can support
applications, one that allows developers to define their own
information, and we need to make ways to define standards for using
existing elements," and they'll realize that this kind of
extensibility is available in xml, and they'll make a new technology,
called HTXML, and they'll start working on 1.0, while the W3C is
celebrating the formalizing of XHTML 2.0 and it's correct support in
Internet Explorer 8.

IE8 will not support XHTML 2.0. It may support XHTML 1.0, possibly 1.1 as well, but definately not 2.0. In fact, I guarantee that there will be browsers supporting new HTML5 features long before XHTML 2 is on the road map.

Let's face it, HTML5 is just an attempt to make html work for web
applications,

It is in fact a lot more than that. While web applications are a major use case, it's also an attempt to document and standardise the buggy browser behaviour that we currently are and will always be stuck with in the hopes on increasing interoperability, particularly with relation to error handling; refine the semantics of existing elements and introduce semantics that we have been waiting a long time for.

But even if you don't buy that argument, take this view: presentation
and semantics should be separate. Why? Because this is the problem
with HTML5: the person building the layout/structure has to also be a
semantics expert. With the complexity of web applications, this is
just not reasonable. Building the structure for a solid layout
shouldn't be mixed with making the content semantic. Just look at how
complicated this gets:

<header></header>
<navigation></navigation>
<article></article>
<footer></footer>

How is that at all complicated? It actually simplifies the markup a great deal by removing several use-cases for div – a semantically meaningless element.

If I want all four containers to have similar CSS, I have to do:

  header, navigation, article, footer { same stuff here }

<div title="header"></div>
<div title="navigation"></div>
<div title="article"></div>
<div title="footer"></div>

where id, class, rel, etc. could be used in place of title, and
section could be used instead of div. Also consider:

  "Any time a div is the answer, there's a hole in HTML." -- Ian Hickson

Well, for that, you could use
div { same stuff here }

But, then you'd have to deal with all the other (ab)uses of div in your document. Otherwise, you'd just have to give them IDs or classes and style them like this:

#header, #navigation, #article, #footer { same stuff here }

Which, by your logic, is somehow better than using a semantically defined element!?

Whatever we use, the point is that it's easy to go into an already
constructed HTML4 or XHTML document and add semantics to it (when the
presentation and semantics are separate), without having to mess much
with the CSS [1], or wait for tags to be introduced. This kind of
thing isn't supported by machines yet, but I would much rather prefer
to see support for attribute-defined semantics [2], than trying to
modify/add presentational elements that are semantic.
...
[2] Just peruse all the examples at http://www.microformats.org/wiki/
and imagine trying to make an html tag for every single one.

While it is good to reuse and refine the meanings of existing markup where possible, and in fact Hixie would wholeheartedly agree with you on that point:
(See the glossary example here, for instance)
http://ln.hixie.ch/?start=1129948617&count=1

The use of attributes for semantics is not always a good idea. If it were, we'd have documents like this:

<!DOCTYPE div "-//W3C//DTD DIV 1.0//EN">
<div>
  <div class="head">
    <div class="title">Heading</div>
  </div>
  <div class="article">
    <div class="heading">Div-Mania</div>
    <div class="paragraph">It's great to use
        <span class="code">div</code> and <span class="code">span</span>
        for everything</div>
    <div class="note">This could be considered a joke, if it were not
        for this kind of crap actually being used!  Instead, consider
        it a reality check.</div>
  </div>
  <div class="nav">
    <div><a href="#">Foo</a></div>
    <div><a href="#">Bar</a></div>
    <div><a href="#">Baz</a></div>
    <!-- If only div or span had an href attribute! -->
  </div>
</div>

If you prefer to mark up like that, then by all means, go for it. But for those of us that actually like to put semantics in our documents, we'll use the elements with formally defined semantics that UAs can actually do something useful with.

--
Lachlan Hunt
http://lachy.id.au/

******************************************************
The discussion list for  http://webstandardsgroup.org/

See http://webstandardsgroup.org/mail/guidelines.cfm
for some hints on posting to the list & getting help
******************************************************

Reply via email to