Re: Some comments on the current draft

On 23 September 2006, Benjamin Hawkes-Lewis wrote:
[a very sensible list of criticisms of the draft]

If this weren't the Internet, I would be standing up and applauding.

I think this comment really highlights what I regard as two categories
of problems with the current draft:

1. Semantic abdication

Having recognized that a single language cannot rationally mark up the
semantics of every document in the world, XHTML has thrown up a
variety of new options for adding semantics -- chief among them
classes and roles. However, the draft does not create or even require
the creation of any specific additional standards for creating
semantic value.

This leaves classes and roles with no advantages in creating semantic
value over custom XML brought in on another namespace, apart from
marginally simpler syntax, and the significant disadvantages of
overloading classes (which are supposed to carry strictly
presentational information) and removing the utility of @role for
accessibility, as well as complicating machine processing of

2. Backwards semicompatibility

Having made the huge step of declaring backwards incompatibility with
XHTML 1.0, the draft nevertheless includes a large number of elements
whose only function appears to be to "simulate" backwards
compatibility. This will either encourage lazy conversions from HTML
and XHTML 1.0 to 2.0 -- which produces no semantic advantage -- or
confuse new users as to what tags are appropriate.

The XHTML 2.0 spec worries me. I have already seen the W3C produce a
brave, technically admirable, backwards incompatible specification --
it was called HTML 3.0, and it was a failure that significantly set
back the progress of web standards.

The role of a standards body should be to standardize what people are
already doing, possibly nudging them gently towards more flexible or
accurate practices. This is not what XHTML 2.0 is doing. XHTML 2.0 is
instead turning into an endless quibble over semantics without
producing anything of value to the web world. XHTML 2.0 has been in
draft form for more than four years without anybody adopting even the
most stable of the new ideas in it -- such as "href" being a universal

This is not to belittle all the hard work that has been done, and all
the good ideas contained in, XHTML 2.0. But it is time something was
actually produced. Be brave, and as Benjamin suggests, opinionated.

- Throw out all the pseudo-backwards compatible elements
- Stop overloading classes with semantic information
- Avoid @role for semantic information; give it the role originally
intended -- accessibility -- and clearly specify a set of values that
@role can take, giving non-visual user agents a specification to
develop to.
- Recommend that any semantic extension be produced via namespaced XML
extensions. If any of these extensions become particularly popular,
the W3C should get involved in standardizing them too.
- Remove the incomplete modules -- specify them later, in separate
documents produced by smaller groups. That why the system is modular
in the first place.
- RELEASE THE SPECIFICATION, warts and all. It will take years for the
browsers to support it anyway as we've missed the window for IE7
and FF 2.0. When people start supporting it, find out what works and
what doesn't, and release XHTML 2.1, 2.2 etc. with the fixes.

XHTML 2.0 needs to be released, and soon, or the W3C risks being as
irrelevant to the actual shape of the web as it was with HTML 3.0.

Laurie Voss
Developer, Yahoo! Mobile
[sentiments expressed are my own and not of my employer]

Received on Sunday, 24 September 2006 13:01:30 UTC