Re: what is dt?

Shelley Powers writes:

> The rejection of the idea, because of how browsers currently implement
> the DOM for HTML4 puzzles me, since we're changing the DOM for HTML5,
> anyway.

Hi Shelley.  Often HTML5 changes don't change the dom -- even brand new
elements may not involve dom changes, if they happen to be how existing
browsers behave with unknown elements.

But the issue isn't just with the dom; it's also with how existing
elements are rendered.

> I am less concerned about issues related to browser companies having
> to change their code, than I am introducing levels of new confusion
> with HTML5. This specification should have, as its primary audience,
> the larger of the groups who are directly impacted by its contents,
> which would be the web developers/designers.

The problems with redefining existing behaviour aren't that browser
developers would need to make changes (they need to make plenty of
changes for HTML5 anyway!); they are problems for authors.  There are
two sorts of limitations:

* Not breaking existing pages:  Unfortunately there are existing pages
  which expect certain behaviour, such as what happens to a <caption>
  even if it's in a really stupid place in the source.  Changing this
  behaviour in HTML5 will break how such pages render.  Which will make
  users avoid HTML5 browsers, cos they break pages.  Which will prevent
  authors from ever being able to use any of the new HTML5 features.
  (See also XHTML2.)

  This is a permanent problem, in that such behaviour can never be

* Being able to create new pages using the HTML5 elements:  Even when
  HTML5 browsers are released many users will still be on older
  browsers.  Authors are familiar with the idea of having to support
  legacy browsers.  So any new HTML5 element or meaning has to have
  reasonable behaviour in existing browsers, else can't be used until
  everybody has upgraded.

  Things like default padding on <dd> (in places where an HTML5 browser
  would not add it) are not particularly a problem, because an author
  can use CSS to remove unwanted the padding in legacy browsers.

  In contrast the odd way in which <legend> is currently treated cannot
  be overridden by authors with CSS or JavaScript.

  This is a temporary problem; HTML5 browsers could start treating
  <legend> differently, then once all users have upgraded authors can
  start to use it -- something which is likely to take a decade or so.

> The needs of the browser makers should be secondary.

Indeed.  The needs of browser makers do not come into this.

> I would rather a new element be defined, clean of past semantics, and
> used consistently

Everybody would prefer a well-named element which can be used now.
Unfortunately that doesn't seem to be possible, so we either have to put
up with a badly named element or wait a long time to be able to use it.

Obviously different people can legitimately find one of those worse than
t'other -- this is a judgement call rather than a matter of being
'right' or 'wrong', and whatever happens there are clearly going to be
some people unhappy, who can (legitimately) point to the downside of
that option.  (We know this because Ian has committed each in turn to
the spec, and been slated both ways round.)

Shelley Powers writes:

> Simon Pieters wrote:
> > On Thu, 17 Sep 2009 15:02:42 +0200, Shelley Powers
> > <> wrote:
> >
> > > Actually, label has been found to be acceptable for use with
> > > Figure.
> >
> > I don't think <label> is acceptable, because it interacts with form
> > controls and is generally allowed anywhere. What if you want a form
> > control in the figure caption? What if you want a <label> as the
> > figure content? It wouldn't work if <label> was used as the figure
> > caption.
> >
> > Also, <label> is rendered as an inline element in legacy browsers,
> > but a figure caption should be block level.
> >
> > <dt> does not have these problems.
> Interestingly enough, there's an existing bug about dt/dl because of how
> they are physically implemented by legacy browsers[1].
> [1]

That bug isn't to do with how <dd> is implemented in legacy browsers;
it's that HTML5's own rendering section needs updating to be in sync
with recent changes.


Received on Thursday, 17 September 2009 15:40:26 UTC