Re: UI WD

Matthew Brealey wrote:
> 
> I would like to see reversion to the original 'hand' type for cursor on
> the basis that this is what has been implemented in millions of released
> browsers to date (i.e., Internet Explorer).

"Original" in what sense? You refer inyour subject to the recently released
CSS3 UI working draft,and you comment might be taken by the casual reader
to imply a change between CSS2 and this CSS3 WD. Thatis not the case.

Also, while I have some sympathy for avoiding gratuitous changes to
implemented but unproposed technologies, I also see a clear neeed to
balance this with the need for implementors to implement what the WG has
decided should be actually specified, rather than their own preferred
variants. Interoperability is not best served by changing a stable spec
years after its release, when the portion of the spec is clear,
unambiguous, and there are implementations of that stable spec which would
be upset by such a change.

In the case of the values of the cursor property: the CSS2 Recommendation
of 12-May-1998 clearly states

Value:  
      [ [<uri> ,]* [ auto | crosshair | default 
      | pointer | move | e-resize | ne-resize 
      | nw-resize |  n-resize | se-resize 
      | sw-resize | s-resize | w-resize
      | text | wait | help ] ] | inherit 

'hand' does not occur on that list. 

"hand" is a platform specific, culture-specific and badly thought out
value. It was proposed by a person (no names, no pack drill)  who was
familiar with a single operating system, had never used another OS, and
believed that a "hand" was a clear and unambiguous way to indicate a
traverable link, or pointer to another document.

This was challenged by Internationalisation experts, who pointed out that a
figure of a hand in general, and a hand with one finger outstretched in
particular, was an offensive gesture in many cultures and  a blasphemous
one in some. 

It was also challenged by people with a wider experience of other OS - to
take one example, BeOS uses a "hand" as the default cursor shape (which is
worse, of course, though the shape can be changed at least; but shows that
the function could not be unambiguously inferred from the form). 

Lastly, it was challenged on gounds of consistency; the other cursor values
describe function, not form.

So, the CSS WG decided to use a different name, indicating function not
form, and which did not have these problems.

  pointer 
     The cursor is a pointer that indicates a link. 

That was decided a long time ago, and was certainly abundantly clear and
final in the CSS2 Rec, 21 months ago (three Web Years), and before that was
clear in the Proposed Rec and before that, in the CSS2 Working Draft [1] of
28 Jan 1998 and before that, in the draft of 4 Nov 1997[2].

Any implementations which, in February 2000, do not accept the value
"pointer" and require the value "hand" are gratuitously non-compliant; it
is they, not the spec, which should be changed. There has been plenty of
time for code change and code freeze and QA and beta testing and product
release, between CSS2 publication and the present.

As we move into a better world in which compliance to spec is the rule
rather than the exception ;-) and where specs reference each other much
more, and people are building on a foundation of interlocking specs - the
number of implementors who are inconvenienced by suddenly reversing a
long-standing decision is greater than those who are helped by it. 

Web content creators are best served by finding out what to use by reading
the specs, rather than by reverse engineering a large number of
implementations on an increasingly diverse range of platforms. Reverse
engineering was already an unfeasible approach a couple of years ago, when
the Web was an expanding but peripheral and experimental part of the global
infrastructure. The Web is now a central part of the global infrastructure;
browsing is only a small part of it, and HTML browsing shrinking to a
smaller part of that, and a particular make and revision of HTML browser,
on a particular platform, is an even smaller part of that. Relying on
reverse engineering is an anachronism, an incredibly costly one, and
totally infeasible as we move forward.

[1] http://www.w3.org/TR/1998/WD-css2-19980128/propidx.html
[2] http://www.w3.org/TR/WD-CSS2-971104/ui.html#propdef-cursor

--
Chris

PS
I see you post from "thelawnet"; to take a legal analogy, accepting a plea
for changing the law on the basis of each single non-compliance would
result in no-one every being convicted, and the law changing with every
case that was tried, and new criminals being created with every change.

Received on Saturday, 19 February 2000 13:17:28 UTC