- From: L. David Baron <dbaron@fas.harvard.edu>
- Date: Wed, 4 Aug 1999 12:54:52 -0400 (EDT)
- To: www-dom@w3.org
Here are some comments on chapter 3 of the current DOM2 WD [1]. These
stem from my own personal interest in the draft, not from anything I am
doing this summer at Netscape.
Interface StyleSheet
--------------------
- If no media are specified, what is the media attribute? I suggest it
be created automatically with one item: "all". If not, then it could
have length 0 and cssText of "". I think making it null would be a
bad idea.
- How do media and disabled interact?
1) (my preference) If the medium is not matched by the media list,
the stylesheet is not applied and the disabled attribute is
ignored. I like this because:
* a change in media would automatically change which stylesheets
are applied, without requiring changes to disabled
* printing would make sense
* the mechanims I propose below are simple
2) The disabled attribute is initially false if the medium is not
matched by the media list, and setting disabled throws an
exception.
3) The disabled attribute is initially false if the medium is not
matched by the media list, and setting disabled applies sheet in
spite of the media list.
Interface StyleSheetList
------------------------------
The notion of setting a disabled attribute on the stylesheet runs
somewhat counter to the mechanism used in HTML 4.0 [2] (and thus in
xml-stylesheet [3]) for selecting between alternate stylesheets. I
therefore propose the following mechanism in addition to the disabled
attribute to allow for the selection of groups of stylesheets by their
titles. The current definitions assume that the interaction between
disabled and media is defined by my first choice above. I don't like
all the names I used below, but I just gave them names so the proposal
would be concrete. I'm not at all attached to this particular proposal
(although I still think it's good), but I want to put something
concrete on the table because I think the capabilities it provides are
important.
interface TitleList {
readonly attribute unsigned long length;
DOMString item(in unsigned long index);
};
Attributes
length
The number of DOMString in the list. The range of valid
indices is 0 to length-1 inclusive.
Methods
item
Used to retrieve a title by ordinal index.
Parameters
index
Index into the collection
Return Value
The title at the index position in the TitleList, or
null [the empty string??] if that is not a valid index.
interface StyleSheetList {
attribute DOMString selected;
// raises(DOMException) on setting
attribute unsigned long selectedIndex;
// raises(DOMException) on setting
readonly attribute TitleList names;
readonly attribute unsigned long length;
StyleSheet item(in unsigned long index);
}
Attributes
selected
The stylesheet title currently in use. Initially, this is set
to the title of the preferred stylesheets as defined by HTML
4.0 [2] or xml-stylesheet [3] or to the empty string if there
is no preferred stylesheet. If the disabled attribute of a
stylesheet in the list is set, this does not change. [Is this
the best behavior?] If this is set to a string that is an item
in the names attribute, it sets disabled to false on any
stylesheets in the StyleSheetList that have a title equal to
that string (the new value of selected) or the empty string,
and sets disabled to true for any other stylesheets. If it is
set to the empty string, all stylesheets with non-empty titles
have disabled set to true, and those with empty titles have
disabled set to false. In either case, the value of
selectedIndex is changed to reflect the change to selected.
Exceptions on setting
DOMException
NOT_FOUND_ERR [ Probably the wrong one? ]
If the specified string is not in names and is
not the empty sting.
selectedIndex
This string gives the index of the current selected attribute
in names, or -1 if selected is the empty string. Setting it
to any value between -1 and names.length-1 changes
selected appropriately and causes the corresponding changes
to the disabled attribute of the stylesheets in the
StyleSheetList.
Exceptions on setting
DOMException
INDEX_SIZE_ERR
If the specified index is not between -1 and
names.length-1, inclusive.
names
A TitleList containing the titles from which the user can
select alternate stylesheets, as defined by HTML 4.0 [2]
or xml-stylesheet [3].
length
AS CURRENTLY DEFINED
Methods
item
AS CURRENTLY DEFINED
David
[1] http://www.w3.org/TR/1999/WD-DOM-Level-2-19990719/stylesheets.html
[2] http://www.w3.org/TR/1998/REC-html40-19980424/present/styles.html#h-14.3
[3] http://www.w3.org/1999/06/REC-xml-stylesheet-19990629/
L. David Baron Rising Sophomore, Harvard dbaron@fas.harvard.edu
Links, SatPix, CSS, etc. < http://www.fas.harvard.edu/~dbaron/ >
Summer Intern, Netscape - however, opinions are entirely my own, etc.
Received on Wednesday, 4 August 1999 12:55:02 UTC