W3C

Document Object Model Level 2 Style/CSS issues list

This version:
TBD
Date:
$Date: 2002/09/23 14:19:52 $
Editor:
Daniel Glazman <glazman@netscape.com>

Copyright © 2000 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.


About the Document Object Model Level 2 Specifications

The Document Object Model Level 2 Specifications was produced by the Document Object Model Working Group (DOM WG) as part of the Document Object Model Activity.  Further levels of DOM Style and DOM CSS are now edited by the Cascading Style Sheets Working Group (CSS WG) as part of the Style Activity.

This document lists the known issues to the Document Object Model Level 2 Style and CSS specifications. Each entry has the following information:

The title of an entry gets a green background color when the issue is resolved, an orange backgroundcolor until then. The description of an entry gets a green background color when the the issue is resolved and the relevant modifications have been made to the current DOM 3 Style draft.

Please send general comments about this document to the public mailing list www-style@w3.org. An archive is available at http://lists.w3.org/Archives/Public/www-style/.


DOM Level 2 Style

style-1. 2002-08-02. [error]. MediaList

The MediaList interface provides the abstraction of an ordered collection of media, without defining or constraining how this collection is implemented.

should read

The MediaList provides an interface to an alphabetically ordered set of Media items.

Perhaps also add note:

Adding the same media item multiple times to a medialist has no effect since the medialist is a set. Also, the last item added to amMedialist may not necessarily be the last retrieved when iterating since the items in a medialist are always returned in alphabetical order.

Resolution: agreed

DOM Level 2 CSS

css-1. 2001-07-11. [error]. Java bindings

The documentations in the Java source files contains errors and formatting issues. This new zip file should fix the problems.

Issue raised to DOM WG : can a binding for a language not maintained by a standards body be normative ?

css-2. 2001-08-31. [clarification]. CSSStyleDeclaration.getPropertyPriority.

Used to retrieve the priority of a CSS property (e.g. the "important" qualifier) if the property has been explicitly set in this declaration block.

should read:

Used to retrieve the priority of a CSS property (e.g. the "important" qualifier) if the priority has been explicitly set in this declaration block.

and

A string representing the priority (e.g. "important") if one exists. The empty string if none exists.

should read:

A string representing the priority (e.g. "important") if the property has been explicitly set in this declaration block and has a priority specified. The empty string otherwise.

Resolution: make the second change but not the first one

css-3. 2001-08-31. [clarification]. CSSStyleDeclaration.setPriority.

The new priority of the property (e.g. "important").

should read:

The new priority of the property (e.g. "important") or the empty string if none.

Resolution: agreed

css-4. 2001-08-31. [clarification]. CSSStyleDeclaration.setProperty.

The following note should be added:

Note: setProperty permits to modify a property or add a new one in the declaration block. Any call to this method may modify the order of properties in the item method.

Notes: (a) the same note should be added for CSSStyleDeclaration.removeProperty (b) does it make CSSStyleDeclaration.item a "live" object in all cases ?

Resolution: agreed

css-5. 2002-08-01. [error]. CSSUnknownRule

The CSSUnknownRule interface represents an at-rule not supported by this user agent.

should read

The CSSUnknownRule interface represents a rule not supported by this user agent.

Note: there are security issues related to CSSUnknownRule.

Resolution: this issue is moved to the CSS Editing Object Model list of issues .

css-6. 2002-08-01. [clarification]. CSSPrimitiveValue.setStringValue

CSSPrimitiveValue.setStringValue() should throw an exception if the string parameter is invalid, for example a malformed URL, or a CSS_IDENT that contains illegal characters.

Status: discussion pending in CSS WG mailing list

css-7. 2002-08-01. [clarification]. CSSStyleDeclaration.getPropertyPriority

Used to retrieve the priority of a CSS property (e.g. the "important" qualifier) if the property has been explicitly set in this declaration block.

Return Value: A string representing the priority (e.g. "important") if one exists. The empty string if none exists.

should read

Used to retrieve the priority of a CSS property (e.g. the "important" qualifier) if the priority has been explicitly set in this declaration block.

Return Value: A string representing the priority (e.g. "important") if the priority has been explicitly set in this declaration block. The empty string if not.

Resolution: duplicate of issue css-3

css-8. 2002-08-01. [clarification]. CSSStyleDeclaration.setProperty

CSSStyleDeclaration.setProperty can modify the order of items of a CSSStyleDeclaration. A note is needed.

Resolution: duplicate of issue css-4

css-9. 2002-08-01. [clarification]. various comments by Björn Höhrmann

CSS WG should discuss the contents of his message and possibly file new entries in the current list.

css-9-a: the cascade Resolution

Add to CSS Editing OM list of issuesthe need of supporting style declarations as a list,
due to the need for fallback, e.g. "position: absolute;
position: fixed".

css-9-b: CSSValueList Status deferred
css-9-c: constructor methods Resolution Added to DOM Level 3 Style requirements/RFE
css-9-d: remove throwing of exception for syntax error Resolution agreed
css-9-e: need for a Selector API Resolution CSS WG is working on such an API
css-9-f: CSSStyleDeclaration Resolution Duplicate of css-4
css-9-g: Are font descriptors described in the DOM? Status Postponed until @font-face is in a CSS spec that's going through CR
(css3-webfonts)
css-9-h: conversion between value types Status WG agrees but not formal decision
css-9-i: are Unicode ranges described in the DOM Status Same as issuecss-9-g
css-9-j: should the CSS OM provide access to actual values Resolution The WG is not sure it is needed but this is added to the requirements/RFE list
css-10. 2002-08-01. [clarification]. CSSImportRule.stylesheet

Are the media attribute of a CSSImportRule and the media attribute of StyleSheet for the imported stylesheet equal ?

See also http://lists.w3.org/Archives/Public/www-dom/2001JanMar/0041.html

Resolution: agreed

 

css-11. 2002-08-01. [clarification]. various comments by David Baron
  1. CSS2Properties : the normals are initial values, and are implied by use of the longhand property should read the normals are initial values, and are implied by use of the shorthand property

    Resolution: agreed

  2. how should CSSStyleDeclaration.removeProperty handle shorthand properties?

    Resolution: Removing a property on a shorthand should remove all of the elemental properties that the shorthand would reset if the shorthand were set to 'initial'. Added to CSS Editing OM requirements/RFE.

  3. setProperty to empty string should set to 'initial' in the declaration

    Resolution: rejected

css-12. 2002-08-01 [enhancement]. getCascadedStyle

Proposal by David Baron to add DocumentCSS.getCascadedStyle method.

Resolution: added to DOM 3 Style requirements/RFE

css-13. 2002-08-01. [enhancement]. canonicalization of values

Canonicalization of CSS values

Resolution: added to DOM 3 Style requirements/RFE

css-14. 2002-08-01. [clarification]. linked stylesheets

Is <link title="" rel="stylesheet" ...> a persistent or a preferred stylesheet?

Status: HTML working group asked to clarify HTML4 by stating that title="" makes a persistent stylesheet

css-15. 2002-08-01. [error]. CSSCharsetRule.encoding

CSSCharsetRule.encoding should be readonly.

Resolution: agreed

css-16. 2002-08-01. [enhancement]. Namespaces

Introduction of CSSRule.NAMESPACE_RULE and CSSNamespaceRule.

New exceptions thrown by the addition or removal of a CSSNamespaceRule to preserve the validity of the stylesheet.

Resolution: add namespace rule proposals to next version of DOM 3 Style

css-17. 2002-08-01. [clarification]. CSSStyleDeclaration.parentRule

CSSStyleDeclaration.parentRule can be ambiguous in case of a rule with a group of selectors.

Resolution: DOM should clearly state that grouped selectors only lead to generation of a single CSSStyleRule.

css-18. 2002-08-02. [clarification]. CSSUnknowRule

CSSUnknownRule is never used because of the forward compatible parsing rules in CSS2.

Resolution: agreed

css-19. 2002-08-02 [enhancement]. Selectors OM

Proposal for the CSS Selectors OM.

interface CSSStyleRule : CSSRule {

attribute DOMString selectorText;
// raises(DOMException) on setting
readonly attribute CSSStyleDeclaration style;
attribute CSSSelectorGroup selectors; // new in Level 3
};

// new in Level 3
interface CSSSelectorGroup {

readonly attribute unsigned long length;
attribute CSSSelector item(in unsigned long index);
readonly attribute CSSStyleSheet parentStyleSheet;
readonly attribute CSSRule parentRule;

void deleteSelector(in CSSSelector oldSelector)
raises(DOMException);
void appendSelector(in CSSSelector newSelector)
raises(DOMException);
};

// new in Level 3
interface CSSSelector {

attribute CSSSimpleSelectorSequence subject;
attribute DOMString pseudoElement;
readonly attribute CSSSelectorGroup parentSelectorGroup;

CSSSimpleSelectorSequence createSimpleSelectorSequence(); void deleteSimpleSelectorSequence()
raises(DOMException); CSSSimpleSelectorSequence insertSimpleSelectorSequence( in CSSSimpleSelectorSequence newSequence, in CSSSimpleSelectorSequence refSequence)
raises(DOMException); CSSSimpleSelectorSequence appendSimpleSelectorSequence( in CSSSimpleSelectorSequence newSequence)
raises(DOMException); };

// new in Level 3
interface CSSSimpleSelectorSequence {

// Combinators
const unsigned short DESCENDANT_COMBINATOR 1
const unsigned short CHILDHOOD_COMBINATOR 2
const unsigned short DIRECT_ADJACENT_COMBINATOR 3
const unsigned short INDIRECT_ADJACENT_COMBINATOR 4

readonly attribute CSSSimpleSelectorSequence previous;
attribute unsigned short previousCombinator;
attribute CSSSimpleSelectorSequence next; // unused, reserved for future use

attribute DOMString nodeName; // empty string for universal selector
attribute DOMString namespacePrefix; // empty string for all namespaces
// null for no namespace

readonly attribute CSSIdentList IDList;
readonly attribute CSSIdentList classList;
readonly attribute CSSPseudoClassList pseudoClassList;
readonly attribute CSSAttributeSelectorList attributeList;

attribute CSSSimpleSelectorSequence negations;

readonly attribute CSSSelector parentSelector;

};

// new in Level 3
interface CSSIdentList {

readonly attribute unsigned long length;
DOMString item(in unsigned long index);

void deleteIdent(in DOMString oldIdent)
raises(DOMException);
void appendIdent(in DOMString newIdent)
raises(DOMException);
};

// new in Level 3
interface CSSPseudoClassList {

readonly attribute unsigned long length;
CSSPseudoClass item(in unsigned long index);

void deletePseudoClass(in CSSPseudoClass oldPseudoClass)
raises(DOMException);
void appendPseudoClass(in CSSPseudoClass newPseudoClass)
raises(DOMException);
};

// new in Level 3
interface CSSPseudoClass {

// PseudoClassType
const unsigned short SIMPLE_PSEUDO_CLASS 1
const unsigned short PSEUDO_CLASS_WITH_ARGS 2
readonly attribute unsigned short type;
readonly attribute DOMString pseudoClassName;

};

// new in Level 3
interface CSSPseudoClassWithArgs : CSSPeudoClass {

readonly attribute unsigned long length;
CSSPrimitiveValue item(in unsigned long index);

void deleteArgument(in unsigned long index)
raises(DOMException);
void appendArgument(in unsigned long index)
raises(DOMException);
void insertArgumentBefore(in unsigned long index)
raises(DOMException);

};

// new in Level 3
interface CSSAttributeSelectorList {

readonly attribute unsigned long length;
CSSAttributeSelector item(in unsigned long index);

void deleteAttributeSelector(in CSSAttributeSelector oldAttributeSelector)
raises(DOMException);
void appendAttributeSelector(in CSSAttributeSelector newAttributeSelector)
raises(DOMException);

};

// new in Level 3
interface CSSAttributeSelector {

// MatchType
const unsigned short EXISTENCE 1
const unsigned short EQUALS 2
const unsigned short INCLUDES 3
const unsigned short DASHMATCH 4
const unsigned short STARTS_WITH 5
const unsigned short CONTAINS 6
const unsigned short ENDS_WITH 7

attribute DOMString name;
attribute DOMString namespacePrefix; // empty string for all namespaces
// null for no namespace
attribute unsigned short matchType;
attribute DOMString value;
};

Status: all CSS WG members should read this proposal.

css-20. 2002-08-14. [clarification]. CSSStyleDeclaration.getPropertyPriority

What are the return values of CSSStyleDeclaration.getPropertyPriority() ? "important" and "", or "!important" (please note the bang before the keyword) and "" ?

Status: Resolution from WG w/o Microsoft is "important" and "", no bang in the return value. Microsoft representatives actioned to research whether to agree with the proposal and respond to group.

css-21. 2002-08-27. [enhancement]. CSS Editing Object Model

It is proposed to add methods at rule and stylesheet level allowing to retrieve an ordered CSSIdentList corresponding to all classes or IDs specified by class selectors or ID selectors in a given rule or stylesheet. Such methods are necessary to allow direct assignment, in an editor, of a class or ID specified by a stylesheet to the current textual/structural selection.

Status: added to the CSS Editing OM requirements list.

css-22. 2002-08-29. [clarification]. ViewCSS.getComputedStyle

getComputedStyle's definition says that the element parameer cannot be null. Should an exception be thrown in case of a null element ?

Status: yes, NOT_SUPPORTED_ERR.


Changes from initial version