Comment from CSS WG on HTML DOM draft

This is the official comment from the CSS working group on the "DOM
Level 2 HTML" working draft[1]. It is a week late, my excuses. It got
lost. Hopefully it can still be taken into account.

[1] http://www.w3.org/TR/2001/WD-DOM-Level-2-HTML-20011210



----------8<-----------
As you may (or may not) know, checkboxes and radio buttons in user
interfaces may not only be "on" or "off", they may also be an in
"indeterminate" state which means that they are neither checked nor
unchecked. Their state is - indeterminate, and becomes determinate
when a user checks them. This is useful for example when you have an
option for which there is no reasonable default (for a checkbox) or
for a collection of radio buttons for which none should be initially
selected.

The CSS working group has allowed the styling of the various states of
checkboxes and radio buttons with two new pseudo-classes in the
Selectors Candidate Recommendation:

:  :checked - selects elements which are considered toggled on in the
:  user interface.
:
:  :indeterminate - selects elements which are considered neither
:  checked nor unchecked in the user interface.

    -- http://www.w3.org/TR/2001/CR-css3-selectors-20011113/#UIstates


What we thought already existed were the respective properties in the
DOM on the <input> interface.

There is a "checked" property:

:          attribute boolean          checked

    -- 
http://www.w3.org/TR/2001/WD-DOM-Level-2-HTML-20011025/html.html#ID-6043025

...but there is no corresponding "indeterminate" property.

The official feedback on DOM Level 2 HTML is a request to add an
"indeterminate" property to Interface HTMLInputElement.

:          attribute boolean          indeterminate

It can be defined as follows:

:  indeterminate of type boolean
:
:  When the type attribute of the element has the value "radio" or
:  "checkbox", this represents whether the form control is in an
:  indeterminate state (neither checked nor unchecked), in an
:  interactive user agent. Changes to this attribute change the state
:  of the form control, but do not change the value of the HTML value
:  attribute of the element.

As far as implementation status, we will note that there are at least
two different implementations. Both IE/Mac and IE/Windows (which have
separate DOM implementations) implement input.indeterminate since
version 4 (5-6 years ago).

Thus the addition of this property should pose no problem for DOM
Level 2 HTML exiting CR since there are already two interoperable
implementations that have been shipping for quite some time.


Mozilla currently lacks this proposed property because when Mozilla's
DOM was implemented, the property was not listed in the DOM
specification. However, recent changes mean that the support for
indeterminate check boxes will be available soon, at least internally
(this support may not be exposed in the HTML DOM unless the
"indeterminate" property is added to the DOM spec).

The DOM is also missing support for some other UI pseudo-classes, such
as :hover and :active, and for pseudo-elements, such as
::indeterminate. However, we do not think it would be wise to force
this issue at the moment. In our opinion, those issues are not yet
mature. There is ongoing work in the CSS working group to find
solutions to these problems.

Adding .indeterminate to the DOM2 HTML spec is, in our opinion, a
reasonable thing to do for now, since there already exists several
years' worth of implementation experience.

----------8<-----------



Bert Bos, CSS WG chairman
-- 
  Bert Bos                                ( W 3 C ) http://www.w3.org/
  http://www.w3.org/people/bos/                              W3C/INRIA
  bert@w3.org                             2004 Rt des Lucioles / BP 93
  +33 (0)4 92 38 76 92            06902 Sophia Antipolis Cedex, France

Received on Monday, 14 January 2002 15:19:29 UTC