W3C Logo

CSS3 Basic User Interface module — Disposition of Comments

Date:
2004-05-05
Editor of disposition:
Tantek Çelik (Microsoft) <tantekc@microsoft.com>
Authors of responses:
Tantek Çelik (Microsoft) <tantekc @microsoft.com>
Ian Hickson (invited expert) <ian @hixie.ch>
Sebastian Schnitzenbaumer (Mozquito) <schnitz @mozquito.com>

Abstract

This document details the responses made to issues in the CSS3 Basic User Interface module Last Call specification. The comments were raised by the public (via www-style@w3.org) or other W3C Working Groups.

Introduction

This document describes the disposition of comments in relation to the Last Call Working Draft of CSS3 Basic User Interface module that were made during the Last Call period which ended 31 July 2003, though some followup or related comments that were made afterwards, and some comments that missed the deadline by only days or so, have also been included. Each issue is described by the name and contact information of the first commentator(s) on the issue, a description of the issue, and either the resolution or the reason that the issue was not resolved.

Comments regarding the Last Call are shown in the left column like this.

Comments that were accepted are shown with a light green background like this. Typically as a result of such comments, one or more changes were made to the CR draft of the specification.

Comments that were declined with no further objection from the commenter are shown with a light yellow background like this.

Comments that were declined but which the commenter is still objecting are shown with a light pink background like this.

Items deferred to a subsequent version or another specification (such as feature requests or comments regarding features that have been dropped) are shown with a light blue background like this.

Finally, simply informative responses (answers to questions, elaborations, comments that don't functionally involve the specification etc.) are styled with a light gray background like this.

Comments Received

[css3-ui] CSS3 modification: vertical-align From: Chris Moschini (Chris.Moschini@amdocs.com), Date: Thu, 3 Jul 2003 and Response 1
# Comment Answer
1

recommend that vertical-align be amended

I'd like to recommend that vertical-align be amended in one of 2 ways:

1) if the vertical-align property is specified in an element having position: absolute/fixed, that it position boxes inside it relative to its own inner dimensions; thus:

#container { position: absolute; height: 100%; vertical-align: bottom; }

<div id="container">
<div id="example">Bottom</div>
</div>

places "example" effectively at the bottom of the window.

2) A property be added that works as above in any context; for example, vertical-box-align, etc. vertical-align would be left be for backwards compatibility.

'vertical-align' is not in the CSS3 Basic UI module, it is in the CSS3 Line Box Module.

http://www.w3.org/TR/css3-linebox/#vertical-align-prop

Although your suggestion sounds like something for the either the CSS3 Box Model or CSS3 Positioning Modules.

CSS3-UI: 'box-sizing' (2) From: fantasai (fantasai@escape.com), "J. King" (mtknight@dark-phantasy.com). Date: Thu, 03 Jul 2003 and Response 1
# Comment Answer
2

Move box-sizing to Box Model module?

http://www.w3.org/TR/2003/WD-css3-ui-20030703/#box-sizing

Wouldn't this fit better in the Box Model module?

~fantasai


I found that very strange, also. I once went looking for the box-sizing property because Opera Software's documentation didn't elaborate on the legal values. I had, shall we say, a hard time finding it. It seems to make much more sense to have it in the box model module, since that's what it relates to.

J.

Yes, but the box model module is not near publication, whereas the box-sizing property is stable and needed for some vendors in conjunction with the other UI properties.

Expect a second UI module CR draft with this property removed to be released around the same time as the box model module goes to CR. (Or, if UI goes to PR or REC before then, expect the relevant version to be updated or marked with an errata or whatever.)

Re: [css3-ui] box-sizing - Remove (2 ) From: Scott Romack (sromack@PTSTEAMS.com), Dave Shea (dave@mezzoblue.com), Date: Tue, 18 Nov 2003 and Response 1
# Comment Answer
3

Please keep 'box-sizing' in CSS3-UI!

The reference in CSS3 UI [to 'box-sizing'] should NOT be removed.

[Scott]


Whoa! Not so fast. This is the first time I've heard anyone was planning on dropping this. Why?

This new box-sizing property was something I and a lot of other developers were looking forward to. The original box-sizing model simply does not work in a lot of instances.

If I set an element to fill the viewport - ie. width: 100%; - then I cannot, with the CSS2 model, add padding to it. I either have to pad child elements, or more likely in real-world scenarios, insert an extra empty container and give it the padding instead.

What prevalent wisdom has decided we don't need this?

(note - specific implementation is not my concern, I don't care where it's applied; I just want the ability to choose my box-sizing model)

d.

There is no plan to drop this. In fact, there have been multiple implementations for quite some time. IE5/Mac implements it. I *think* Opera7 also does, and Moz has the "-moz-box-sizing" variant.

Ian Hickson addressed the issue of why it is in CSS3-UI and not CSS-Box [1].

This new box-sizing property was something I and a lot of other developers were looking forward to. The original box-sizing model simply does not work in a lot of instances.

Agreed.

If I set an element to fill the viewport - ie. width: 100%; - then I cannot, with the CSS2 model, add padding to it. I either have to pad child elements, or more likely in real-world scenarios, insert an extra empty container and give it the padding instead.

What prevalent wisdom has decided we don't need this?

None.

(note - specific implementation is not my concern, I don't care where it's applied; I just want the ability to choose my box-sizing model)

Don't worry, 'box-sizing' will be in the CSS3-UI CR

[css3-ui] Last? Call From: Alexander Savenkov (w3@hotbox.ru), Date: Mon, 7 Jul 2003 and Response 1
# Comment Answer
4

What's a "pseudo"?

3.2.2. ::choices and other

----------------

What's a "pseudo"? The specification should not contain abbreviations like this. Change to pseudo-class/pseudo-elements.

Good catch. After reading this draft several hundred times, editorial errors like this start to become unnoticeable.

5

'appearance'

4.1. The 'appearance' property

------------------------------

Who's idea was this? What's the purpose of this? Why not just use 'display' property with the new values?

'display' controls the layout of the element, while 'appearance' controls only its appearance.

You could, for example, have a row of buttons in a table-like arrangement:

   button { display: table-cell; appearance: button; }

...or you might want to keep them inline:

   textarea { display: inline-block; appearance: field; }

The two aspects are independent.

As to who thought of it, I do not remember when this was first mentioned, but Mozilla has implemented a version of this for around a year now. (As '-moz-appearance'; it is used to render the user interface in the "classic" skin so that it matches the OS.)

6

System fonts

4.2. System fonts

-----------------

Why just fonts? What if someone wants to style the padding of the images according to the padding of system radio button? What if the other one believes the margin of his paragraph should be equal to the system checkbox-group?

That's what 'appearance' is for; the extra fonts are useful primarily for matching the font in other parts of a document with the fonts used by controls.

7

how is 'display:icon' different from 'content:url()'

5.1. Additional value(s) for 'display' property

-----------------------------------------------

I guess this ought to look like this:

 p { display: icon; icon: url(blah); }

Tell me, how is this different from

 p { content: url(blah); }?

Functionally, the difference is limited, but in practice it is useful to be able to control the icons used in one stylesheet and have the element switch in and out of the icon representation on the fly.

Note that the 'content' property will have an 'icon' value as well, so that it is possible to say:

   p { content: icon; }

The typical usage will be something like:

   #save { icon: url(save); }
   #open { icon: url(open); }
   #print { icon: url(print); }

   button { content: icon '\A' contents; }

While it would also be possible to say:

   #save { content: url(save) '\A' contents; }
   #open { content: url(open) '\A' contents; }
   #print { content: url(print) '\A' contents; }

...it is a lot harder to maintain.

The 'display:icon' value may be removed at a later stage depending on implementation experience. The following rule:

   foo { display: icon; }

...is basically equivalent to:

   foo { display: inline-block; content: icon; }
   foo::before, foo::after { content: inhibit; }
8

Is 'outline-offset' important?

6.5. 'outline-offset' property

------------------------------

This reminds me of the "marker-offset". Is this really important? The specification should leave this to the user agents.

The behaviour controlled by 'marker-offset' is now controlled by 'margin', but it is still controllable.

Some people have requested control over the offset of the outline.

9

'key-equivalent' problems?

8.2.1. Keyboard equivalents: the 'key-equivalent' property

----------------------------------------------------------

"There may be platform and user agent limitations to key-equivalents which conflict with those inherent in the user agent and operating system."

Great news. What about the UA behavior in this case?

"Should we include "standard" keys from other consumer computing devices?"

Could you expand on this? You call this a last call. Where's the solution? This section should be completely reworked.

The term "user agent limitations" implies that in those scenarios the behaviour is UA-defined.

I believe this [Should we include...] is an editorial note that was supposed to be removed but was forgotten.

[UPDATE: 'key-equivalent' has been dropped from this version of CSS3-UI.]

10

document should be rewritten

Etc., etc., etc. This document is not in its Last Call. I'd say it still looks like a list of requirements. It has to be carefully reviewed and rewritten.

Rewriting a draft is an incredibly time-consuming task for all involved. The document has already been carefully reviewed and rewritten several times, it has reached the point where those involved could no longer see problems, possibly due to their over-familiarity with the document. That is why we published the document: to get further feedback.

Your input is appreciated, but it would be more helpful to point out specific problems rather than generally requesting that it be rewritten.

Re: [css3-ui] Last? Call From: Alexander Savenkov (w3@hotbox.ru) Date: Fri, 11 Jul 2003 and Response 1
# Comment Answer
11

'appearance' is useful

'display' controls the layout of the element, while 'appearance' controls only its appearance.

You could, for example, have a row of buttons in a table-like arrangement:

   button { display: table-cell; appearance: button; }

...or you might want to keep them inline:

   textarea { display: inline-block; appearance: field; }

The two aspects are independent.

This one is pretty useful then.

Agreed.

12

Are -moz- extensions adopted by policy?

As to who thought of it, I do not remember when this was first mentioned, but Mozilla has implemented a version of this for around a year now. (As '-moz-appearance'; it is used to render the user interface in the "classic" skin so that it matches the OS.)

Is it the policy of the W3C to cover Mozilla's implementations in the specs?

The 'appearance' property was something that myself, Sho Kuwamoto and Peter Linss came up with many many years ago during a CSS working group meeting, as a drastic simplification (for both authors and UA developers) to provide access to presentation of system user interface defaults. I believe it was actually introduced in a working draft of CSS-UI *before* Mozilla implemented -moz-appearance, although I'm not certain if that draft was *published* before it was implemented.

13

what about 'padding' of radio buttons for images?

That's what 'appearance' is for; the extra fonts are useful primarily for matching the font in other parts of a document with the fonts used by controls.

Rephrasing: What if someone wants to style *just* the padding of the images according to the padding of the radio buttons?

The short answer is they don't. Want to that is. This a theoretical need for which we have seen *no* practical need. Adding values for all the various different properties would *hugely* expand, complicate the spec in return for little or no value to authoring community (actually, some negative value in that it would make CSS more complex for everyone) in exchange for costing UA developers a lot.

14

why not use DOM for icon feature?

Functionally, the difference is limited, but in practice it is useful to be able to control the icons used in one stylesheet and have the element switch in and out of the icon representation on the fly.

I agree, that's very useful. Why not use the DOM for this?

Short answer: using the DOM is both more complicated and less reliable.

In general is *strongly* desirable to provide simple declarative solutions to "common" problems that typically have procedural solutions.

And for more complicated interactions, where the condition upon which the icon display switches is some sort of computation, this property actually makes it easier (simpler) to use the DOM (rather, the CSS-OM) as well.

15

explain what is "harder to maintain"

Note that the 'content' property will have an 'icon' value as well, so that it is possible to say:

   p { content: icon; }

The typical usage will be something like:

   #save { icon: url(save); }
   #open { icon: url(open); }
   #print { icon: url(print); }

   button { content: icon '\A' contents; }

While it would also be possible to say:

   #save { content: url(save) '\A' contents; }
   #open { content: url(open) '\A' contents; }
   #print { content: url(print) '\A' contents; }

...it is a lot harder to maintain.

Ian, could you explain what is "harder to maintain"?

For whom or for what? I'm pretty sure you didn't mean editing CSS by hand here, so what is it?

More rules, especially more rules and are dependent in an intertwining way are "harder to maintain", or, put another way, more fragile.

The fewer the necessary rules to achieve a particular effect, the easier and more reliable it is for the author to write the rules, come back to them later and modify the rules, and see by example what others are doing and learn the rules.

It's also easier for UA implementers to *test* a feature if it requires fewer rules.

16

'display:icon' is useless

I consider the usefulness of the 'icon' value of the 'display' property equal to zero.

The 'display:icon' value may be removed at a later stage depending on implementation experience.

It spoils and litters the spec.

Not all properties are expected to be useful to all authors (or user, or devices, or media for that matter). In this particular case, needs have been expressed by the WAI community for this functionality.

Feedback noted. If implementation experience yields that the 'display:icon' functionality is unnecessary, or provides little to no benefit, it may be dropped from the spec (as any other feature might).

[UPDATE: 'display:icon' is dropped in favor of 'content:icon']

17

how do you know it is the most frequent?

The following rule:

   foo { display: icon; }

...is basically equivalent to:

   foo { display: inline-block; content: icon; }
   foo::before, foo::after { content: inhibit; }

Too bad. This case is just one among many. And how do you know it is the most frequent?

I don't understand - why is this too bad? And what does the frequency matter?

18

can only W3C members/employees request features?

Do I have to be an employee of a W3C Member organization to request properties?

No. Many CSS3 properties and values are derived from suggestions that folks on www-style have made over the years. See the list of suggested extensions to CSS:

http://www.w3.org/TR/NOTE-CSS-potential

That list itself links to proposals made on www-style, and much of CSS3 has been developed as a result of such feedback mechanisms.

Typically the working group has been fairly conservative about adding new features to CSS, that is, they've only been added if a number of representatives are supportive of the additions, and there are no strong objections.

19

stylesheet for XHTML 2.0?

What if I politely ask you to include a stylesheet for XHTML 2.0?

I think that may be either/both inappropriate or/and premature since CSS3 UI is expected to go to CR within a month or so, whereas XHTML 2.0 has not reached last call yet.

And it is also more appropriate for the default style sheet in the XHTML 2.0 spec to state list style rules using whatever CSS3 UI features are intended as default presentation/behavior.

E.g. perhaps something like:

 *[href] { appearance: hyperlink }

Since 'href' can be utilized on (nearly) every element in XHTML 2.0.

Last Call comments for css3-ui From: Micah Dubinko (MDubinko@cardiff.com) Date: Wed, 23 Jul 2003 and Response 1 ACCEPTED responses during face-to-face meetings and discussions at 2004 W3C Plenary
# Comment Answer
20

Dependencies on other modules

The following are Last Call comments on behalf of Cardiff Software. They are individually lettered for easy reference, and arranged by heading in the specification.

2 Dependencies on other modules

a) Section 3.1.4 contains the statement "This spec[ification] does not define what is a form element". This statement applies to multiple sections, and should be moved to a more central place, such as section 2 which deals with dependencies.

Agreed.

21

:default more than one?

3.1.1 :default

b) Please clarify: can the default pseudo-class simultaneously apply to more than one element in a group?

Yes.

22

two buttons with same function

For example, in a set of buttons, if two of them had the same function, could they both be considered :default?

Agreed. That sounds right. Also, consider a <selectmany> where multiple items can be simultaneously selected (like pizza toppings).

23

limits on group for :default?

Are there any limits or guidelines on what can make up a "group" for purposes of :default?

Not at the moment.

24

:valid and :invalid clarification

3.1.2 :valid and :invalid

c) Please change "the bound instance data constraints" to "data validity semantics defined by a different specification".

Agreed.

25

:in-range and :out-of-range clarification

3.1.3 :in-range and :out-of-range

d) This section speaks of "in range or out of range of the *visual* representation of the element" (emphasis added). Is it the intent that this applies only to visual media? Please change it to apply to any media. For example, an audio browser should still be able to do something useful with the :out-of-range class.

Agreed.

26

more :in-range and :out-of-range clarification

e) The text currently says "In summary: an element is :out-of-range when it does not accurately reflect the state of the model." Please change "does not" to "cannot". For example, if a form control didn't accurately reflect the state of the model just because it needed to be refreshed, etc., it would not be :out-of-range. Only when some kind of logical contradiction is present, is a form control :out-of-range.

Agreed with your correction of the concept. The "in summary" sentence was problematic and will be dropped. The rest of the section will be revised as you requested.

27

even more :in-range and :out-of-range clarification

f) Please add a sentence along the lines of "An element that lacks data range limits or is not a form control is neither :in-range nor :out-of-range."

Agreed.

28

::value illustration please

3.2.1 ::value

g) Please add a graphical illustration of what part of a form control is styled by ::value.

Agreed.

29

::choices minor fix

3.2.2 ::choices

h) Minor editorial. "pseudo." -> "pseudo-element."

Agreed.

30

::repeat-item rewording

3.2.3 ::repeat-item

i) Current text: "Its position is as a parent to all the elements in a single repeating item." We believe this is technically correct, but awkward to read. Could the sentence be improved?

Agreed.

31

::repeat-item/index pseudo-element textual example

j) Please add a textual example showing where the pseudo-element appears.

Agreed. As discussed during the recent W3C plenary, a fictional tag sequence will be added.

32

::repeat-index as pseudo-class instead?

3.2.4 ::repeat-index

k) Reportedly, this is difficult to implement as a pseudo-element. Should it perhaps be a pseudo-class instead?

Disagreed. As discussed during the recent W3C plenary, It must be a pseudo-element because pseudo-classes which are used to indicate a state, may only be placed on real element rather than pseudo-elements. Thus a pseudo-element in a particular state can only be represented by another pseudo-element, named specifically to reflect that state, which is precisely what ::repeat-index is.

33

add 'submit'

4.1 The 'appearance' property

l) please add the following possible values (listed under respective broader categories)

* button

- submit

Disagreed. As discussed during the recent W3C plenary, 'submit' buttons have the same presentation as 'push-buttons' in today's UIs.

34

add 'signature'

- signature

Accepted, but, As discussed during the recent W3C plenary: a field makes more sense, typical use is a signature field where you have to type in a specific string (like first last name precisely).

35

add 'tab'

- tab (as in tabbed dialog, etc.)

Accepted.

36

add 'static-text'

* field - static-text (like <xforms:output>)

Disagreed because, as discussed during the recent W3C plenary, elements by default are unstyled like spans. No need for an appearance value.

37

add 'multiline'

- multiline (like <xforms:textarea>)

Disagreed because, as discussed during the recent W3C plenary, multiline is just a field that has a height greater than one line.

38

add 'password'

- password (like <xforms:secret>)

Accepted.

39

add 'styled-text'

- styled-text

Disagreed. As discussed during the recent W3C plenary, how/when is this ever different from just 'field'?

40

add 'combo-box'

We would also like some kind of appearance value to represent a "combo box" affordance, or a control that allows either selecting from a list or manual data entry.

Agreed. As discussed during the recent W3C plenary, 'combo-box' will be added as a special field.

41

rename 'field'

m) "field" is a confusing choice of terminology, as some users might consider several of the controls listed under "menu" also as a "field". Please use a different term, such as "data-entry".

Disagreed. 'field' is a more user-friendly term.

42

make similar additions to 'font' property

4.2 System fonts

n) This property has the same values as the 'appearance' property. See comments l) and m).

Agreed that any values added to the 'appearance' property should be added as values for the shorthand 'font' property.

43

'box-sizing' confusion

5.2 'box-sizing' property

o) This property is confusing, and doesn't add any new functionality. Please remove it from CSS3 Basic UI.

Disagreed. As discussed during the recent W3C plenary, authors want this property, and it adds the ability to do width 50%-20px etc.

44

update references

Normative References

p) Please update your reference to XForms 1.0 to the latest that's available at publication time.

Agreed.

Re: Last Call comments for css3-ui From: Michael Day (mikeday@yeslogic.com) Date: Thu, 24 Jul 2003 and Response 1
# Comment Answer
45

problems with :default, :valid, :invalid

3.1.1 :default

3.1.2 :valid and :invalid

I think these pseudo-class names are unfortunate, as they suggest alternative meanings to their specific use with form controls.

For example, *:valid seems to suggest "all valid elements", but in fact it means elements that represent form controls whose contents are currently valid. It might be prudent in the long run to avoid such name collisions by using :form(valid) or some other mechanism.

This seems more relevant given the CSS3 Selectors candidate recommendation which introduces so many structural pseudo-classes that truly do apply to the *element* itself, such as :root, :nth-child, :empty, etc.

If a new pseudo-class was introduced to match empty form controls, such as text boxes with no content, calling it :empty would clash, while calling it :form(empty) would not, as well as being more descriptive.

(I have raised this point in the past regarding :visited / :link(visited), but that example is already too entrenched to remove).

3.1.1 :default

3.1.2 :valid and :invalid

I think these pseudo-class names are unfortunate, as they suggest alternative meanings to their specific use with form controls.

I understand your point and see what you're trying to avoid, however would like to express my view on this because I don't see a problem, and disagree with changing the syntax to something like :form(valid), arguing in favor of keeping it as-is, and I'll try to explain why I think so...

For example, *:valid seems to suggest "all valid elements", but in fact it means elements that represent form controls whose contents are currently valid. It might be prudent in the long run to avoid such name collisions by using :form(valid) or some other mechanism.

... there is no distinction between those two things. You argue that elements being valid against a DTD or Schema and form controls whose contents are currently valid / invalid are two distinct things that need seperation. This is not true. You can think of a form control being invalid to be exactly the same paradigm as a element being invalid against its Schema or DTD, whereas the only difference is that in a form control there is probably one or more levels of indirection to the actual invalid element - the invalid element is defined somewhere else and bound to a form control, via XPath in XForms for instance.

In XForms, you bind UI controls to any arbitrary XML instance data, and the validation rules set forth in the Schema of the XML instance are the validation rules of the XForms, in other words, validation in a form is validation of data against a schema, presented thru a defined UI (e.g. "the form").

Whether the invalid element is invalid because it does not conform to its schema, or whether it is invalid because it does not conform to its schema and is also bound to a form control, are both semantically exactly the same definition of :valid or :invalid.

This seems more relevant given the CSS3 Selectors candidate recommendation which introduces so many structural pseudo-classes that truly do apply to the *element* itself, such as :root, :nth-child, :empty, etc. If a new pseudo-class was introduced to match empty form controls, such as text boxes with no content, calling it :empty would clash, while calling it :form(empty) would not, as well as being more descriptive.

A UI control in XForms that is empty is empty because it is bound to an instance node that is empty.

Getting away from XForms, looking at JavaScript forms, I'm arguing that essentially each JavaScript form is an attempting to define a schema and a tree data structure on a per form basis in a procedural way. A processor or user agent will have a hard time figuring out whether a UI control is ":valid" or ":invalid" since there are no clear semantics.

All other semantic forms languages gravitate towards the exact same concepts: Data is defined in one place, logic and constraints are defined in another place, and then there is a View and something that binds / negotiates between all of them.

Now validation of XML instance elements against a DTD or schema can actually be seen as an xForm with a specific, fixed UI and logic. The W3C validation service validates your XML against its DTD or Schema and shows you the results as XHTML. Control over the XHTML presented is specific to this validation service, just as validation is specific to each JavaScript form today.

Whether we talk about extremely "local" validation (e.g. in JavaScript), or very generic language (e.g. XML validition) is orthogonal to the semantics of :valid and :invalid, and just as CSS is e.g designed to make no distinction between "local" (X)HTML markup and generic XML markup, CSS shouldn't make a distiction between :valid / :invalid coming from a DTD, a schema, an xForm or any other validation technique.

some WAI comments on CSS3 Basic UI, forms terminology in CSS3 Basic UI, more WAI comments on CSS3 Basic UI (private message) From: Al Gilman (asgilman@iamdigex.net) Date: 31 Jul 2003 - 6 Aug 2003 and Response 1 ACCEPTED responses during face-to-face meetings and discussions at 2004 W3C Plenary
# Comment Answer
46

automatic icons

1. Automatic icons

Specific Reference:

http://www.w3.org/TR/css3-ui/#box-model

The document introduces the new 'icon' value for the 'display' property of an element and adds an 'icon' property which identifies a resource which replaces the element in the rendered content if the the value of 'display' is 'icon.'

However, it goes on to include an 'auto' value for the 'icon' property which is "as defined by the user agent."

Agreed.

47

when one icon vs. another

But there is no clue as to when the user agent will use one icon vs. another.

Does this not open wide a barn door for entire UIs to be constructed without the faintest semantic clue in the 'content' as to what is going on?

Disagreed. The 'auto' value is only there to capture initial default styling, and it is necessary for precisely that reason.

48

no standard taxonomy of icons

The standing problem with the "separation of content and presentation" afforded by CSS is that there is no standardization of the 'class' tokens that govern the selection of style rules. This innovation perpetuates or exacerbates that problem, in that there is no basis in any standard taxonomy for the selection of UA-supplied icons.

Disagreed. There is no worsening of any problem because the 'auto' value in this case only reflects default styling behaviors which already exist.

This allows the behavior typical of the environment to flow through.

The UAAG says that user agents should follow the interface conventions of the environment when possible.

The 'auto' value for the 'icon' property enables style sheet authors to explicitly do so, when they don't have a better icon to offer.

49

icon use cases

Delivery contexts where we would be interested in the re-binding of elements where the author's presentation used display:icon and icon:auto would include:

Simplified verb vocabularies, for severe learning disabled -adaptive presentation as described in

http://www.learningdisabilities.org.uk/html/content/webdesign.cfm

a similar verb-vocabulary-reduction transform for operability from a telephone or computer number keypad. Used in mobile device transform and for users with good fine motor control but bad gross motor strength.

Personalized verb-vocabulary-transformation for auxiliary communication device uses with a large but personal vocabulary of one-button utterances.

Anyone else with high cost of input symbol actuation needing a normalization of the verb vocabulary as part of optimizing the binding of shortcuts.

Agreed. These are all excellent use cases for the 'icon' property.

50

don't put hyperlinks in focus navigation

2. Directional [focus] navigation introducing hyperlinks? Don't.

At first:

Disagreed. This is functionality that has been requested (and to some extent already implemented) by various companies and other standards bodies (specifically in the television space, e.g. DVB, ATSC). We (W3C) have been asked to normalize this functionality so that there can be a consistent set of properties, values and behaviors, rather than differences among implementations and various standards bodies.

[UPDATE: Compromise. directional focus navigation now takes <id> instead of <uri>, therefore hyperlinking aspect essentially dropped, without dropping features needed by other standards bodies etc.]

51

directional focus navigation is content?

Specific Reference:

http://www.w3.org/TR/css3-ui/#nav-dir

The specification introduces a mechanism by which a stylesheet can identify multiple navigation destinations (hyperlink equivalents) bound to an element in the document which are navigated-to and given focus on receipt of directional-navigation user-input events.

Each navigation destination may be an arbitrary URI-reference i.e. off the current web page, and the back button is by [the draft] specification broken.

This functionality should not be included as drafted here. Navigation destinations associated with an element are content, not style.

Disagreed. *Directional* focus navigation is very much dependent on the layout of the page, and thus goes hand in hand with the styling of the page. Thus *directional* navigation hints are very much style, not content.

52

multiple/selectable hyperlinks proposal

The equivalent functionality should be implemented by

a) in the content, creating vectored, that is to say multiple/selectable hyperlinks using the results of the currently-active consultation on linking.

Agreed that this would be useful functionality. Disagreed that it should be in CSS3-UI. Note that this kind of functionality should NOT preclude directional focus navigation — both functionalities are useful.

52

directional-navigation UI events for directional navigation?

b) in the styling, binding arrow keys or other directional-navigation UI events to these navigation arcs using the keyboard-control facilities established in section 8.2 above.

Agreed postponed. It could certainly be useful to bind the directional focus navigation to elements indicated by arbitrary attributes or other elements. This is functionality that could be added to a future version of the directional navigation properties and should be thusly considered. At the moment, implementation experience has shown that no such immediate need exists, therefore it makes sense to postpone this feature.

53

key-equivalent problems

4. Navindex and keyboard control:

For languages where an accesskey or similar function exists, the accesskey 
attribute should take precedence. It may be years before CSS figures into 
the interaction between sites and assistive technologies.

Key equivalents and nav-index items should also be displayable via menu, to 
allow users to discover them.

For the purposes of re-mapping, the user agent implementation of key 
equivalents and the navigation index ordering should be treated like event 
handlers as discussed in

http://www.w3.org/TR/UAAG10/guidelines.html#tech-device-independent-handlers

In the case of re-mapping because an indicated key is not available in the
delivery context, it is not enough to 'ignore' the indicated key.  *Some*
alternative mode of activation needs to be provided.  The provisions as
stated in XForms on this point should apply, here.

<quote
cite="http://www.w3.org/TR/xforms/slice8.html#id2623376">

  accesskey
         Optional attribute defines a shortcut for moving the input
         focus directly to a particular form control. The value of
         this is typically a single character which when pressed
         together with a platform specific modifier key (e.g., the alt
         key) results in the focus being set to this form control.

         The user agent must provide a means of identifying the
         accesskeys that can be used in a presentation. This may be
         accomplished in different ways by different implementations,
         for example through direct interaction with the application or
         via the user's guide. The accesskey requested by the author
         might not be made available by the player (for example it may
         not exist on the device used, or it may be used by the player
         itself). Therefore the user agent should make the specified key
         available, but may map the accesskey to a different interaction
         behavior.

 </quote>

Not applicable / postponed.

As discussed, the problematic 'key-equivalent' property is being dropped from CSS3-UI based on your feedback and the feedback of others, until it can be fixed with major changes to address the problems and concerns that have been raised.

54

system font and user prefs interactions

5. System fonts and colors:

If a user has extra large system fonts set at the OS level, and has their browser set to increase the size of Web sites by 200%, this could be a problem, in that the resulting font could become absurdly large.

Disagreed. The problem statement does not make sense, because EITHER:

1. The web site (or element) uses a system font, and thus EXACTLY reflects the user's OS level font preference.

OR

2. The web site (or element) DOES NOT use a system font, and thus has its size increased by 200% by the user preference.

The way you have worded the problem, it is not possible for both situations to occur, thus the problem situation you pose cannot occur.

55

small text with large icons, then large text?

At the same time, some users with low vision keep their icons small, but want larger text when they are reading rather than interacting with the OS. This is a thorny issue due to the juxtaposition of operating system and user agent accessibility conventions.

Agreed. The UAAG should address this issue.

56

user should be able to override system appearance

Users should be able to override system font or appearance selections with their own choices or proportions, within the user agent.

Agreed. The CSS2.1 specification (which CSS3 UI normatively references) requires user agents to allow turning off style sheets.

The UAAG should provide specific advice about user agent preferences.

CSS3UI will mention your suggestion.

57

compare with UAAG

Compare with the requirements in the User Agent Accessibility Guidelines such as

http://www.w3.org/TR/UAAG10/guidelines.html#gl-user-control-styles

Agreed. Those are excellent suggestions and I will add a link to them in the next draft.

58

xforms terminology consistency

[individual comment, not reviewed in PF group.]

General Reference:

http://www.w3.org/TR/css3-ui/

1. :out-of-range

In

3.1.3. :in-range and :out-of-range
http://www.w3.org/TR/css3-ui/#pseudo-range

there appears to be a mis-use of XForms terminology.

Where it says

<quote
cite="http://www.w3.org/TR/css3-ui/#pseudo-range">

  v... In summary: an element is
  :out-of-range when it does not accurately reflect the state of the
  model.

</quote>

..should it not say "the state of the instance"?  Suggest you cross-check 
with XForms.


A possible re-wording of the whole paragraph would be:

<draft class="possible clearer">

The :in-range and :out-of-range pseudo-classes are defined with respect to 
the limitations of the rendered or concrete interface, as opposed to the :valid
and :invalid pseudo-classes defined above which reflect the logical 
limitations imposed by the application or business logic through the model.

A rendered element is :out-of-range when the value in the bound instance that
it should display is beyond its capability to display.  For example, a slider
which can show values from 1-10 when the value in the instance is 11 would
have :out-of-range true and :in-range false.

</draft>

Agreed. This section has been cross-checked with XForms and made consistent with the corrections requested by the XForms folks.

59

what is a form element

2. What's a form element?

<quote
cite="http://www.w3.org/TR/css3-ui/#pseudo-required-value">

   3.1.4. :required and :optional

  A form element is :required or :optional if a value for it is,
  respectively, required or optional before the form it belongs to is
  submitted. Elements that are not form elements are neither required
  nor optional. This spec does not defined what is a form element.

</quote>

The last two sentences taken together form a semantic hole in the 
specification.  This will lead to semantically-incompatible use by 
different users and implementers and the feature will become disreputable 
and will be avoided in practice.  Unsuitable in a specification.

Consider instead:

Cite specifically the items in the XForms schema and HTML specification
which have the intended semantics, and extrapolate gracefully from there.

Say things like

processors MUST recognize the following conditions as :required and 
:optional
where the XForms schema applies:...

processors MUST recognize the following conditions as :required and 
:optional where HTML 4.01 semantics applies by specification:...

processors MAY recognize these pseudo-classes in formats which use clearly
equivalent semantics

processors SHOULD NOT recognize either :required or :optional in the absence of
any of these conditions.

Disagreed. In discussions with the XForms group, the better suggestion was to simply leave outside the bounds of the specification of "what is a form element". Thus a general statement was placed earlier on that states that the specification does not define what is a form element. This makes the most sense, because other specifications can much better define what is a form element, and if CSS3-UI also did so, it might accidentally contradict such other specifications in that manner, and that is undesirable.

[CSS3 UI] Last Call comments From: Susan Lesch (lesch@w3.org) Date: Thu, 31 Jul 2003 and Response 1
# Comment Answer
60

many editorial suggestions

Hello,

These are very minor Last Call comments for your "CSS3 Basic User
Interface Module" Working Draft [1]. I think it looks nice.

In the Status section, please match caps to the W3C Process Document [2]
(e.g., s/working group/Working Group/, s/working draft/Working Draft/,
s/style activity/Style Activity/). Also the CSS21 link would be
http://www.w3.org/TR/CSS21/

When HTML 4 comes up, you might add XHTML 1.0.

s/This spec does not defined/This spec does not define/
s/which portion of a the contents/which portion of the contents/
s/all the elements contents/all the element's contents/
s/it and the platform is capable/it and the platform are capable/
s/recommendation/Recommendation/

External links need a reference like this for people who print:
    HTML4 attribute TABINDEX
becomes:
    HTML4 attribute 'tabindex' ([HTML4], section 17.11.1)
(see http://www.w3.org/2001/06/manual/#linking-within)

In citations, the title of the work would be the link. There's an
example here: http://www.w3.org/2001/06/manual/#ref-section

This sentence:
    The <uri> should indicate (through the use of a fragment
    identifier) the element to which the focus is to be navigated to in
    response to directional navigation input respective to the specific
    property.
could read (I think. You can probably do better.):
    In response to directional navigation input, the <uri> should
    indicate the element to navigate to through the use of a fragment
    identifier.

Please spell out first occurrence: user agent (UA). Then you can use
UA. Or else use user agent throughout.

It would take some work to do but it might help if each occurrence of a
property, element and attribute was marked up in lowercase 'code'. (I
think this will help translators decide when to translate for example
'icon', and it might make the spec easier to read in English.) Some
specs also differentiate properties from elements from attributes with
color.

[1] http://www.w3.org/TR/2003/WD-css3-ui-20030703/
[2] http://www.w3.org/2003/06/Process-20030618/

Hello Susan,

Upon double-checking the archives I was unable to find my response to your email. Thus apologies for the belated reply.

In short, all your comments were accepted and the changes you suggest have been made for the CSS3-UI CR draft.

I18n review of CSS3 Basic UI, CSS Basic UI I18N Review, Re: I18n review of CSS3 Basic UI From: Richard Ishida (ishida@w3.org) Date: Tue, 12 Aug 2003 and Responses 1, 2
# Comment Answer
61

i18n issues with CSS3-UI

Apologies for lateness.

Please find the comments of the I18N group at http://www.w3.org/International/2003/css3basicui/css3basicui-feedback.html

We hope this proves useful.

Hello Richard,

I believe we discussed and resolved any of these issues that were
outstanding when we met face-to-face at the recent W3C all group meeting in
Mandelieu, however I couldn't find an email trail of those discussions, so I
wanted to make sure it was captured at least here.

In summary, I believe all your comments were accepted, and some (in
particular relating to key-equivalent) pointed out flaws serious enough to
cause reconsideration (dropping) of that feature for CSS3-UI.

In particular:

On 8/14/03 5:26 AM, "Richard Ishida" <ishida@w3.org> wrote:

> Hello Ian,
> 
> Thanks for these unofficial answers.
> 
> See some additions below...
> 
> RI
> 
> ============
> Richard Ishida
> W3C
> 
> tel: +44 1753 480 292
> http://www.w3.org/People/Ishida/
> http://www.w3.org/International/
> http://www.w3.org/International/geo/
> 
> See the W3C Internationalization FAQ page
> http://www.w3.org/International/questions.html
> 
> 
> 
>> -----Original Message-----
>> From: Ian Hickson [mailto:ian@hixie.ch]
>> Sent: 13 August 2003 09:33
>> To: Richard Ishida
>> Cc: www-style@w3.org; 'i18n'; Bert Bos; Tantek Çelik
>> Subject: Re: I18n review of CSS3 Basic UI
>> 
>> 
>> On Tue, 12 Aug 2003, Richard Ishida wrote:
>>> 
>>> 
>> http://www.w3.org/International/2003/css3basicui/css3basicui-feedback.
>>> html
>> 
>> This isn't an official reply from the working group, but
>> since our Editor for the UI specification is on holiday, I
>> thought I'd give you a quick reply to some of your comments:
>> 
>>> 1: 8.1 pointer: we assume that directional mirroring of the pointer
>>> for middle eastern platforms is taken care of by the
>> platform itself?
>> 
>> The system-defined cursor types may be rendered as the OS
>> wishes. Note that the 'pointer' type is typically rendered
>> like a hand; you are probably referring to the 'default' type
>> which renders like an arrow on most platforms.
> 
> 
> 
> You are correct - I meant default.


Agreed.  Note that the draft specifically does not mention which direction
the 'default' cursor points.


>> Cursors specified as URIs would not be mirrored.
>> 
>> I don't think anything needs to be added to the spec for
>> this, as the spec already implies the above.

Agreed.


>>> 2: 8.1 vertical text: shouldn't this happen automatically
>>> based on the 
>>> direction of the text? Note that scripting can be used to alter the
>>> direction (see eg. at
>>> http://people.w3.org/rishida/scripts/samples/japanese.html - only
>>> works on IE). Even if styling is changed manually (eg. for
>>> translation) seems a pain to have to remember to switch the cursor
>>> too.
>> 
>> I am not sure what you mean.
> 
> 
> 
> We have 'text' which may, as an example, be rendered as a vertical
> I-beam.  'vertical-text', in a similar scenario may be rendered as a
> horizontal I-beam. The difference is related to the direction of the
> text, but the direction of the text can be changed by altering the
> writing-mode or block-progression properties.  Note also that vertical
> text commonly includes short runs of horizontal text (tate chuu yoko).
> (Especially since I think that setting these latter properties is the
> only way to achieve vertical text) could we not automatically align the
> I-beam/cursor with those properties, rather than forcing the designer to
> change the cursor manually each time?

Agreed.  As we discussed at the plenary meeting, the 'text' cursor should be
able to automatically  change direction based on the text/context.


>>> 3: 8.2.1 key-press-combination: If you have not already done so,
>>> please cross-check this against DOM events to ensure
>> maximum coherence
>> 
>> This spec does not define the events related to
>> 'key-equivalent'. A future draft from the working group
>> currently in development will probably cover this. (The
>> intention is that this UI spec can be implemented in a
>> resource-limited, DOM-free environment, while a separate spec
>> will define the DOM and dynamic aspects.)
>> 
>> 
>>> 4: 8.2.1 key-press-combination: "Each character must be
>> specified in 
>>> upper case" Why do you not allow a distinction between
>> upper and lower 
>>> case characters? What does the shift + key combination signify for,
>>> say, an English keyboard?
>>> 
>>> Note that in a case insensitive approach, some language specific
>>> special casing will need to be taken into account, such as
>> no single 
>>> letter UC form of ß (goes to SS); same for French œ (OE);
>> Turkish i, 
>>> etc.
>>> 
>>> Please clarify the relationship between particular Unicode
>> characters 
>>> and key codes.
>>> 
>>> 5: 8.2.1 key-press-combination: "Each character must be
>> specified in 
>>> upper case" Does this signifies a possible issue with
>> languages that 
>>> do not distinguish between upper and lower case versions but that
>>> nonetheless use the shift key to access additional characters.
>>> 
>>> 6: 8.2.1 "character [CN]" What does this mean?
>> 
>> I will let Tantek reply to these issues.
>> 
>> 
>>> 7: 8.2.1    accesskey-attr(<attribute>)
>>> 
>>> We guess that this means you use the key defined by the attribute
>>> cited (eg. HTML's accesskey), but we don't see it defined.
>> 
>> This should indeed be defined. It is the wrong syntax, too.
>> Probably an editorial oversight.
>> 
>> FYI it should be:
>> 
>>    attr(<attribute>, key-equivalent);
>> 
>> ...or some such, and results in the specified attribute being
>> parsed as a key-equivalent value.
>> 
>> 
>>> 8: 8.2.1 We think you have omitted the alt-graph key. Very
>> common and 
>>> regularly used on many keyboards.
>>> 
>>> 9: 8.2.1 Presumably 'caps' stands for 'capslock'? (Note
>> that this is 
>>> used like a shift or alt key for keyboards such as Hebrew -
>> to access 
>>> Latin keys - and Swiss German - to access additional keys)
>>> 
>>> 10: 8.2.1 Have you considered how someone using an IME (eg. for
>>> Japanese) would specify characters? Are there issues there?
>> 
>> I will let Tantek reply to these issues.
>> 
>> 
>>> 11: 8.2.1 non nmstart characters
>>> 
>>> It might be helpful to define nmstart - for example, we
>> wonder if it 
>>> covers letters from the non-ASCII Latin range and non-Latin
>> scripts. 
>>> (We would definitely hope you do not to have to escape all
>> cyrillic, 
>>> arabic, etc. characters.)
>> 
>> nmstart will be defined in the CSS3 Syntax module. It incluse most
>> (all?) characters above U+000FF.
> 
> 
> Looking at the current nmstart definition, I'm thinking it may be
> simpler for the reader to state what the characters that must be
> escaped.  At any rate, I would suggest a link or pointer to the location
> of the definition.
> 
> 
> 
>> 
>> 
>>> 12: 8.2.1 I would suggest that you add an example that shows a
>>> sequence of three keys pressed simultaneously - this is
>> quite common 
>>> in non-English keyboards.
>> 
>> I will let Tantek reply to this issue.
>> 
>> 
>>> 13: 8.2.1 list-item-marker. For cjk numbers (often used in
>> Japanese or 
>>> Chinese) and Roman numerals, will the user be able to hit a
>> european 
>>> digit? If the key presses are case insensitive, will both a and A
>>> trigger the first item in an upper-roman list-style-type, etc?
>> 
>> I imagine that UA-discretion should be allowed. This may also
>> be good feedback for the CSS3 Lists or CSS3 Generated and
>> Replaced Content modules; maybe they should define exactly
>> what 'list-item-marker' matches or means.
>> 
>> 
>>> 14: 8.2.1
>>> 
>>> [Note also in passing that it is very common in Japan to
>> use circled 
>>> numbers or diamond shaped numbers for list-style-types, but these
>>> don't appear to be available]
>> 
>> They are available in the latest CSS3 Lists module:
>> 
>  http://www.w3.org/TR/css3-lists/#non-repeating

Comments certainly accepted.

And as discussed in Mandelieu, due to the your and many other folks'
excellent disassembly of the key-equivalent feature and its flaws, it is
being dropped from the CSS3-UI CR and being sent back to the drawing board
as it were.



Ian wrote:

> Richard wrote:
>
>> 15: general One gets the impression that conformance to the
>> specification involves conformance to an earlier version of CSS as
>> well. For example 5.1 display. It was not clear to us the extent of
>> this dependency, and we also noted that this spec refers sometimes to
>> the CSS2 and sometimes to the CSS2.1 specification. Are there issues
>> where these latter two diverge?
>> 
>> Alternatively, is the dependency in 5.1 actually to another CSS3
>> module? If so, it may help to identify that module in 5.1.
> 
> In theory it extends CSS3. The reason for the ambiguity is that the
> relevant modules that it is extending don't yet exist. In practice, some
> of the values and properties mentioned in this spec will eventually be
> transferred to more approriate specifications when they reach the WD
> stage.
> 
> In the meantime, you may assume that this module extends CSS2.
> 
> (CSS2.1 is merely a revision of CSS2 (albeit a substantial one).)

Since CSS2.1 is now a CR, CSS3-UI CR will be updated accordingly to refer to
it.


>> 16: general We are not sure that everybody will always understand the
>> concepts and terms in the specification in the same way. We feel that
>> the spec should be improved in a number of ways, which include the
>> following. Better clarification of terminology, definition of terms,
>> references to definitions/explanations of terms. We also feel that it
>> would help a lot to include more pictorial examples. For example, the
>> example in 5.2 adds little as is, but would add much if it showed one
>> possible outcome of the rule.
>> 
>> 17: 4.1 para 2 and para 3 are very repetitious
> 
> I will let Tantek reply to these issues.

Agreed.  The terminology will be clarified more, there will be better
definition of terms/references, and more pictorial examples.


> Thanks for your feedback!

Agreed.

Thank you and the whole i18n-ig as well again for your and the opportunity
to resolve the issues during the recent Mandelieu plenary.
QA review of CSS3-UI, QA Review of Review of CSS3-UI From: Karl Dubost (karl@w3.org) Date: Tue, 12 Aug 2003 and Response 1
# Comment Answer
62

CSS modularity is new to W3C

Hi, I have made the review of CSS3-UI, which is a modular spec. The technology becomes more and more modular with time. It has an influence on the way WGs organize their Spec editing. We have moved from a monolithic spec to a multiple document spec.

Disagreed. This is not really a change, in that many W3C technologies, perhaps from the beginning (URL, HTTP, HTML) were designed to be modular, and work with each other or with other technologies.

63

CSS3 is multi-spec

The last big monolithic spec have been SMIL and SVG, even if organized in modules.

Often in this reorganization, you have a master document which defines conformance, usage scenarios, etc. and the modules attached to it.

For example CSS has moved from a 1-spec (css1 and css2) to a multi-spec (css3).

Agreed.

64

1 REC = 1 Tech is no longer the case

This way of writing specifications raises a very important questions on the notion of 1 Recommendation = 1 Technology. It's not anymore the case.

Disagreed.  This has already been raised by other technologies that 
are based on multiple recommendations, such as Schema [1][2][3] and, 
more recently, RDF [4][5][6][7][8][9].

[1] http://www.w3.org/TR/2001/REC-xmlschema-0-20010502/
[2] http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/
[3] http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/
[4] http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/
[5] http://www.w3.org/TR/2004/REC-rdf-mt-20040210/
[6] http://www.w3.org/TR/2004/REC-rdf-primer-20040210/
[7] http://www.w3.org/TR/2004/REC-rdf-schema-20040210/
[8] http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/
[9] http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/
65

W3C missing concept of building block definition

1. Should a technology be considered complete when all the bricks are ready. So is there a missing concept inside W3C which defines this set of bricks?

Agreed.  That is a good question.  For CSS3, each module defines 
one or more informative profiles which can be used as such a "set of bricks".  
In addition, there are several normative CSS profiles that have 
been defined for particular domains/devices [A][B][C].

[A] http://www.w3.org/TR/2002/CR-css-mobile-20020725 
[B] http://www.w3.org/TR/2003/CR-css-tv-20030514
[C] http://www.w3.org/TR/2004/CR-css-print-20040225
66

should a CSS3 WD reach REC before others?

2. Should a WD (which is a module of this set) be authorized to reach the status of Rec (and even Last Call without the other bricks)?

Agreed. The answer is the same as any other WD which is dependent on other specifications.

67

how define dependencies?

2.1 If a module can become a Rec without other elements of the set - How do we define depencies?

Agreed. For the CSS3 Basic UI module, the dependencies are defined in section 2 Dependencies on other modules.

http://www.w3.org/TR/css3-ui/#dependencies

68

usage scenarios?

- How do we create usage scenarios? etc

Agreed. Each specification should contain one or more examples demonstrating to authors how to use the features contained therein.

69

conformance section?

AND more important ***How do we apply QA Spec Guidelines?*** There's a big issue here. We can't for example find the conformance section because sometimes it's in a document which is not written yet.

Agreed. Each module should have at least a minimal conformance section. A conformance section will be added to the CSS3 Basic UI module.

70

additional process mechanism?

2.2 If we think that a module can NOT become a Rec without others elements of the set. - How do we create the mechanism in the process document that specify this.

Disagreed. No additional mechanism is necessary, since the presumably the process document already handles the case of one specifications normatively depending on another.

71

how is QA Spec Guidelines working?

- We have to check that QA Spec Guidelines is working well with modular docs Notion of table of contents, references, etc.

Agreed.

72

Question about Abstract

You have written “The ability to style the appearance of various standard form elements in HTML4 and properties to augment or replace some remaining stylistic attributes in HTML4.” Could it be misleading for developers that it doesn't address XHTML 1.0 or XHTML 1.1 or any future versions of XHTML?

Agreed. I will add text to the Abstract that references XML, XHTML and XForms.

73

How to read the comments in the table

We have decided to make a difference between negative answers when you do not comply. CSS3-UI is a module of a bigger set as you have written in the status section: “This document is a draft of one of the "modules" for the upcoming CSS3 specification.”. One issue is to establish if you do conform to the QA Specification Guidelines. It is impossible if we consider only this specification. It might be a QA issue. A mail will be sent to www-qa@w3.org

It raises the question if a WD of a modular set can reach the status of W3C Recommendation if other parts are still at another stage.

Disagreed. As noted previously, the CSS3 Basic UI specification is not the first (and certainly won't be the last) specification which is modular and yet normatively depends on other specifications.

74

how do apply QA Spec Guidelines

If yes, it means that the QA Spec Guidelines have an issue making it impossible to apply.

If no, it means that the CSS WG will have to define the master document which defines the missing part before to go to final stage.

Disagreed. The QA Spec Guidelines should be applied as they are to any other specification which normatively depends on additional specifications.

75

respond to "NO" squares

So There will be a lowercase no when it's dependent on the master specification and a uppercase NO with red background when it's an issue of this module only.

Agreed. All such "no" or "NO" notes will be responded to.

76

Checklist table

Degree A Conformance

To be A-conformant with the guidelines, the following Priority 1 checkpoints must be fulfilled: Nbr Checkpoint Yes No N/A Guideline 1. Define Scope.

1.1 Include the scope of the specification. YES

Agreed.

77

Guideline 2. Identify what needs to conform and how.

2.1 Identify all classes of product. no: there's no mention of the products which should implement it. You do not define also what's an UA. No glossary for this acronym.

Agreed. A conformance section with definitions and classes of products will be added.

78

conformance

For each class of product, define the conformance requirements. no: See General comments. Guideline 3. Specify conformance policy.

Agreed. A conformance section will be added.

79

3.4 special terms

If special conformance terms are used, include a definition in the specification. no: See General comments.

Agreed. A conformance section will be added which defines special conformance terms.

80

3.5 dimension of variability

Justify any usage of a dimension of variability by reference to usage scenarios and requirements no: See General comments.

Disagreed. This seems much too heavyweight of a documentation requirement without much benefit to implementers and/or authors. Specific dimensions of variability are documented in individual properties and informative profiles will be added to document more granular dimensions of variability. It is better left up to implementers to judge which dimensions of variability apply to the usage scenarios particular to their product(s).

81

Guideline 4. Address the use of profiles to divide the technology

4.1 Indicate whether or not the use of profiles is mandatory for conformance. no: See General comments.

Agreed. An appropriate indication will be added to the conformance section.

82

Guideline 5. Address the use of modules to divide the technology.

5.1 If modules are chosen, indicate any mandatory conditions or constraints on their usage. no: See General comments.

Disagreed. This requirement does not make sense as a separate requirement for modules as compared to any other specification which has normative dependencies on other specifications.

83

Guideline 7. Identify the relation between deprecated features and conformance.

7.1 Identify each deprecated feature. NO: this is a very tricky case. It's not exactly a deprecated feature but a redefinition of another technology behaviour. How people are supposed to implement them. How User Agents should implement HTML 4.01 with CSS3-UI when the two compete? N/A

Disagreed. First, there are no deprecated features in CSS3 Basic UI. Second, for any features which may be considered to be "redefined", CSS3 Basic UI simply provides additional details for implementation.

84

Guideline 7. Identify the relation between deprecated features and conformance.

7.2 For each class of product, specify the degree of support required for each deprecated feature and the conformance consequences of the deprecation. N/A

Agreed.

85

Guideline 8. Define discretionary items.

8.1 State the circumstances for when discretionary items are allowed no: See General comments. it seems that any features could be discretionary. It's dependant of your notion of profiles, in this case but you haven't defined the profiles.

Agreed. Profiles will be added.

86

8.2 allowable diffrences.

For implementation dependencies, address the allowable differences between implementations YES

Agreed.

87

Guideline 9. Allow extensions or NOT!

9.1 Indicate if the specification is extensible. NO: You should define if the extension are allowed or not. State it.

9.2 If extensions are allowed, define their scope and constraints. N/A: just because we don't know if the specification is extensible or not.

9.3 Prevent extensions from contradicting the specification. N/A: just because we don't know if the specification is extensible or not.

Agreed. An Extensions section will be added to the Conformance section.

88

Guideline 10. Provide a conformance clause.

10.1 Include a conformance section. no: See General comments. You didn't provide any conformance clause. You have to give one explaining how the different classes of products should conform to your specification. Make a reference to the conformance section in this spec to the one where it will be defined.

Agreed. A Conformance section will be added.

89

Guideline 11. Specify how to make conformance claims.

11.1 Identify and define all conformance designations. N/A: Only because you don't have any conformance sections.

Agreed. RFC2119 conventions will be used.

90

11.4 impose no restrictions on reports.

11.4 Impose no restrictions about who can make a claim or where claims can be published. N/A: No conformance section.

Agreed.

91

Guideline 13. Clearly identify conformance requirements.

13.1 Use conformance key words. no: See General comments.

Agreed.

92

13.2 Distinguish normative and informative text.

NO: You do not define the section of your documents which are normative. Please add after each section, a word to show that this part is normative, or that part is informative.

Agreed.

93

13.3 Use consistent terminology

YES: It seems correct. Define the terms which are not defined or acronyms.

Agreed.

94

Guideline 1. Define Scope

1.4 Provide examples. YES

Agreed.

95

Guideline 3. Specify conformance policy

3.1 Specify any universal requirements for minimum functionality. no: See General comments.

Agreed. A Conformance section will be added.

96

Guideline 4. Address the use of profiles to divide the technology.

4.2 If profiles are chosen, define any minimal requirements. no: See General comments. Profiles are chosen but we are unable to determine how they will work.

Agreed. Example profiles will be defined.

97

4.3 profile relationships/interaction

If profiles are chosen, define their relationships and interaction with other dimensions of variability. N/A. To be defined.

Agreed. Such relationship (or lack thereof) will be defined..

98

4.4 rules for profiles and implementations

If profiles are chosen, address rules for profiles. N/A. To be defined.

Agreed. Implementation suggestions with respect to profiles will be added.

99

Guideline 5. Address the use of modules to divide the technology and Guideline 6.

5.2 If modules are chosen, define their relationships and interaction with other dimensions of variability. YES

Guideline 6. Address the use of functional levels to divide the technology.

6.1 If levels are used, define their relationships and interaction with other dimensions of variability. YES

Agreed.

100

Guideline 8. Define discretionary items.

8.3 Indicate any constraints on the number of choices/options that can be implemented for discretionary choices no: See General comments.

Disagreed. Individual features (e.g. properties, selectors) indicate any choices/options that can be implemented for discretionary choices.

101

8.4 consistent handling of discretionary choices.

8.4 Promote consistent handling of discretionary choices. no: See General comments.

Disagreed. There is consistent handling of discretionary choices in one of two ways: 1. Most features provide *no* discretionary choices (preferred), and 2. A few features permit some property values to be handled as other values.

102

Guideline 10. Provide a conformance clause.

10.2 Make normative reference to specifications on which the current specification depends YES

Agreed.

103

Guideline 13. Clearly identify conformance requirements.

13.4 Provide a fast way to find conformance information no: See General comments.

Agreed. A conformance section will be added. Notes will be added to the top of each section and appendix indicating whether the section is normative or informative.

104

Guideline 14. Provide test assertions.

14.1 Provide test assertions NO: You have a test suite, but you don't provide in this document a way to know what is testable.

14.2 Provide a mapping between the specification and the test assertions list NO: You don't have this list.

Agreed postponed. A discrete and separate set of testable assertions may be extracted and listed during test suite development.

105

Degree AAA Conformance. Guideline 1. Define Scope.

1.3 Provide Usage Scenarios. NO

Agreed. More examples will be provided.

106

Degree AAA Conformance. Guideline 2. Identify what needs to conform and how.

2.3 Identify which of the categories of object are specified in the document as a whole. no: See General comments.

Agreed. Notes will be added to the top of each section and appendix indicating whether the section is normative or informative.

107

Degree AAA Conformance. Guideline 7. Identify the relation between deprecated features and conformance.

7.4 Include an explanation for the deprecation. NO: not always. (wrt HTML 4.01)

7.5 Include examples to illustrate how to avoid using deprecated features. NO

Disagreed. There are no deprecated features in this specification. These checkpoints should show "N/A".

108

Guideline 9. Allow extensions or NOT!

9.4 Define a uniform mechanism to create an extension. NO

Disagreed. The specification does not define any mechanism to create an extension, and that should be ok. CSS2.1 will be referenced for its mechanisms.

109

publish extensions and alterantives

9.5 Require that extensions be published. N/A. because not defined.

9.6 Require that implementations provide interoperable alternatives to extensions N/A. idem.

Agreed, these checkpoints are N/A.

110

Guideline 11. Specify how to make conformance claims.

11.2 Provide specific wording of the claim. no: See General comments.

Agreed. A Conformance section will be added.

111

11.3 Provide a conformance disclaimer.

no: See General comments.

Disagreed. I think this is an excessive guideline that should be dropped.

Note that NO W3C specification (other than QA specifications) provide such a disclaimer:

http://google.com/search?q=site%3Awww.w3.org+%22conformance+disclaimer%22

112

Guideline 12. Publish an Implementation Conformance Statement proforma.

12.1 Provide an Implementation Conformance Statement proforma. no: See General comments.

12.2 Require the ICS be completed as part of the conformance claim. no: See General comments.

Agreed postponed. An implementation report template should be provided as part of the test suite so that implementers can note explicitly what features hey have implemented when they run their implementation against the test suite.

(private mail) [CSS3 Basic User Interface Module] From: Domel [mailto:ddooss@wp.pl] Sent: Tue 8/19/2003 and Response 1
# Comment Answer
113

could you add scrollbar-* properties?

Do you add Scrollbar Property like in MSIE scrollbar-*-color (for example: scrollbar-shadow-color: #DEE3E7; or scrollbar-face-color: #DEE3E7; ). I think it should be added because scrollbars are like cursor. There are a lot of scrollbars in forms and in other block with overflow: scroll

Though it may make sense to design a styling mechanism to control the presentation of scrollbars, the MSIE scrollbar-*-color properties make too many assumptions about a particular scrollbar appearance design.

The working group considered adding the scrollbar-*-color properties and rejected them quite some time ago.

For CSS3 Basic UI, it is too late to add such a significant new feature. It could be considered for a future version.

[css3-ui] Last Call Comments on 3 July 2003 draft, [css3-ui] Last Call Comments on 3 July 2003 draft From: Bjoern Hoehrmann (derhoermi@gmx.net) Date: Fri, 01 Aug 2003 and Response 1
# Comment Answer
114

summaryOfComment

Hi,

My comments can be found at

http://lists.w3.org/Archives/Public/www-archive/2003Jul/0036.html

regards.

Due to the length of this comment email and the resulting response, only a summary is provided here:

Paragraphs starting with the word "Agreed" in the reply email indicate accepted comments.

There were 49 Comments that were accepted and changes made accordingly.

Paragraphs starting with the word "Disagreed" in the reply email indicate rejected comments.

There were 19 Comments that were rejected, and because the commenter followed up with a general objection to any rejection, we must unfortunately presume objection to all comment rejections.

(note by Philipp Hoschka: Bjorn's response (member only))