browser consistency [was: Agenda ]

Daniel W. Connolly (connolly@beach.w3.org)
Wed, 12 Jul 95 10:45:49 EDT

In message <199507120511.WAA09377@blob.best.net>, "Peter K. Sheerin" writes:
>
>Well, I'm new to this list, I'm not a member of the official WG,

You're as official as anybody else! The way to become a member
of the WG is to participate. So you're in!

> That you at least discuss changing the language to support some
>minimalist way of defining what browsers do with the standards the group
>designs.

Hmmm... there is such language in the HTML 2.0 spec. e.g.

Hypertext Markup Language - 2.0 - Introduction
Fri Jun 16 19:56:20 1995
http://www.w3.org/hypertext/WWW/MarkUp/html-spec/html-spec_1.html#SEC6

|User Agents
|
|An HTML user agent conforms to this specification if:
|
|[...]

>I suspect there have been great flaming debates on this point,

as on any point... :-)

> but I truly
>think there needs to be a consistent implementation of some aspects of the
>standard.

Hmm... I truly think there needs to be consistent implementation
of _all_ aspects of the standard. That's what a standard is all
about, right? I think you're asking for consistent implementation
of stuff that's _not_ in the spec (yet). So I think you're
asking that we expand the scope of the spec.

Reasonable request, but let's be clear, no?

> Not much, but small things, like what to do with character set
>mappings where gaps are left in the defining specs,

Huh? Where are there gaps in the spec? Do you mean the character
positions that are "unspecified"? They're unspecified for a reason:
different platforms behave differently, and it's not worth trying
to get all the world to march together on those characters. The
spec just says to information providers: "if you want consistency,
DO NOT USE those."

> and other things where
>differences in interpretations or using loopholes in different ways leads
>to browsers that don't work alike.

There is a dilemma here: we don't want to prescribe everything; we
need to leave room for creativity and innovation.

> Things like whether to display an
><isindex> tag inline or at the base of the document.

OK. Enough handwaving: here's a direct criticism of the spec. The
spec currently says:

http://www.w3.org/hypertext/WWW/MarkUp/html-spec/html-spec_5.html#SEC28
Hypertext Markup Language - 2.0 - Document Structure
Fri Jun 16 19:56:22 1995

|Keyword Index: ISINDEX
|
|The ISINDEX element indicates that the user agent should allow the
|user to search an index by giving keywords. See section Queries and
|Indexes for details.

There was some discussion a while back about where the <ISINDEX>
element should be allowed in a document (Hmmm... I can't find them
anywhere in the archive. I need to make the archive full-text
searchable). It was specified in early drafts of HTML as only being
allowed inside HEAD, but experience showed that folks were using it in
interesting places in the BODY. I think Terry Allen ended up in a
situation where he _had_ to put ISINDEX in the body for some reason
that I don't recall exactly -- something to do with a change in Mosaic
when FORMs were introduced.

So there is something of a loophole: the "standard" version of the DTD
allows <ISINDEX> in the body, but the "recomended" version only allows
it in the head. The prose of the spec only describes the recommended
syntax.

I think this reflects the consensus of the working group that
information providers _should_ stick to putting <ISINDEX> inside HEAD,
but implementors had better be prepared to see <ISINDEX> in the body.

Perhaps it could be more explicit, but I think what's in there works.

>As a web user, I want things to work about the same no matter which
>browser I happen to use, or which browser was a particular webmaster's
>favourite.

"work about the same" is a tricky thing to define. If you're not
careful, you can rule out creative ways to process HTML. So while I
agree with this sentiment, we have to weigh each specific behaviour
separately.

>As a page developer, I want things to be reasonably consistent, so I don't
>have to test several different browsers, under several different
>configurations, to see what else I need to tweak.

Amen.

I believe that if you create documents that conform to the HTML 2.0
specification, they will be interpreted faithfully on the vast
majority of existing web browsers; moreover, I believe that they will
be interpreted consistently by anything that conforms to the HTML 2.0
specification of an HTML user agent. If you can present evidence to
the contrary, please do so.

Dan