[CSSWG] Minutes F2F 2008-08-20

Attendees:
   David Baron
   Bert Bos (staff contact)
   John Daggett
   Elika Etemad
   Daniel Glazman (chair)
   Richard Ishida (observer)
   Anne van Kesteren
   Bruce Lawson (observer)
   Philippe Le Hégaret
   Håkon Wium Lie
   Peter Linss (chair)
   Alex Mogilevsky
   Saloni Mira Rai
   Steve Zilles

<RRSAgent> logging to http://www.w3.org/2008/08/20-css-irc
Scribe: Bert, fantasai

Topic: Text layout
Chair: #css
People are setting up the projector. Alex will project a demo.
Picture on the screen shows many combinations of text directions.
Including different positions of scrollbars
Fantasai: I think the scrollbar positions are wrong. Should always be
           in the same place, for usability.
howcome and glazou arrive
Attendees: howcome, dbaron, glazou, salonir, philippe, jdaggett,
             stevez, alexmog, bert, fantasai, anne
peterl walks by the window, will be here soon we hope
+peterl
+rishida
Interlude: quick round the table, now that everybody is here.
Text layout topic postponed.

CSS2.1 Issues
-------------

   Topic: CSS 2.1 issue 14
   http://csswg.inkedblade.net/spec/css2.1#issue-14
   David: Proposal needs replacing. The condition it includes is always true.
   David: Issue is when element's top & bottom collapses in presence of
          min-height.
   David: If min-height happens to be exactly the intrinsic height, spec
          currently says margins don't collapse.
   Fantasai: My proposal: don't say less than or equal, but say "affecting
             height."
   Fantasai: Bert had some reference to another part of the spec. which
             might help as well.
   <fantasai> alternate proposal, change "less than" to "not affecting" and
              "greater than" to "not affecting"
   Steve: David, are you concerned about the word "affect"?
   David: Yes.
   Steve: True that height is *always* affected by min-height in a sense...
   <fantasai> http://lists.w3.org/Archives/Public/www-style/2008Jul/0586.html
   Fantasai: This is Bert's message.
   <fantasai> ACTION: dbaron write new proposed text for Issue 14
   Peter: Issue also affects max-height.
   David: Yes, the action applies to that as well.
   Peter: Are we sure everybody agrees with the behavior, apart form the
          wording?
   David: I can make text before the end of this ftf.
   Daniel: Let's try to come back to this tomorrow then.
   RESOLVED: to change spec so that case where auto height is equal to
             min/max height margin collapsing is not disabled. Exact wording
             to be determined later

   Topic: CSS 2.1 issue 42
   <fantasai> http://csswg.inkedblade.net/spec/css2.1#issue-42
   Fantasai: About static position, should also include assumed 'clear: none'
   Fantasai: I have no opinion.
   David: I don't like to think about that...
   <fantasai> https://bugzilla.mozilla.org/attachment.cgi?id=308701
   Fantasai: I have a test case that shows that clear is not honored when
             finding static position.
   Fantasai: The second blue has the same 'clear' as the first, but is
             positioned. You can see the second blue is not pushed down as
             the first one is.
   Alex: The easier it is to compute the static position the better.
   Alex: Ignoring clear thus seems right thing to do.
   Fantasai: No opinion on whether it is better, but at least we have more
             interop that way.
   Steve/Daniel: Still confused about what it means...
   David explains the basic case, 'position: absolute; top: auto'
   Steve: It does seem to make sense to use the initial valiue of clear...
   Fantasai: It makes it easier to express that to say "as if clear had
             been none."
   Alex: A number of things happen, becomes block, taken out of flow... so
         concept of where it *would* have been becomes dificult.
   <fantasai> I was saying that if you consider that there may have been
              text/margins after the cleared-positioned element, then it
              gets complicated to figure out the static position
   Alex: Who wants to guess at where it would have been if it had floated!?
   Alex: For 'display: block', logic is fairly simple: the static pos. is
         on the next line. For clear there is more work to do.
   David: It's not that much more complicated, just yet another thing to
          look at.
   Peter: And 'clear' can make things move *up* can't it?
   Fantasai: We fixed the spec that that doens't happen anymore.
   David: The spec also says that the UA is free to approximate the position...
   Proposal strawpoll: 3 yes, rest abstains
   Anne: We're probably OK with changing to the proposal...
   People are looking at Opera's behavior. Opera seems to apply clear, but
     also seems to have some problem, maybe with margins.
   Firefox ignores the clear.
   <glazou> Opera has no interoperability issue, it only has a bug :-)
   IE7 behavior appears difficult to interpret.
   <fantasai> Webkit is compatible with Firefox
   Daniel: apparently the proposal makes sense to all browser vendors
   Daniel: Seems we have implementations and promises of change, so we can
           accept the proposal. Is that correct?
   Alex: IE8 *does* ignore clear, what you see is an artifact of something else.
   RESOLVED: accept proposal for Issue 42

   Topic: CSS 2.1 issue 53
   http://csswg.inkedblade.net/spec/css2.1#issue-53
   How does justification work in pre?
   Deferred for lack of testcase.

   Topic: CSS 2.1 issue 60
   The issue is described in a 25-page document...

   Topic: CSS 2.1 issue 48 & 49
   <fantasai> http://csswg.inkedblade.net/spec/css2.1#issue-48
   <fantasai> http://csswg.inkedblade.net/spec/css2.1#issue-49
   dbaron: goal is to use the next available bolder/lighter font
   dbaron: definition of computed value used to be incompatible with this
   dbaron: we fixed this, but didn't remove the old text completley
   David describes issue. Computing 'bolder' involves stepping to next
     available weight. But computed value may be a non-existent weight.
     Not all text in spec was corrected to reflect that.
   David: You don't know the available weights and there may also be
          multiple fonts involved in an element.
   jdaggett: Windows has problems with weights. In Windows you have only
             two weights. On Mac this is more of an issue
   glazou does not like the way computed values for font-weight is a tuple
     while the property takes a single value.
   glazou: If the computed value is not a valid value, it is very complex
   jdaggett: we have a similar issue with font-stretch, where we have
             wider and narrower
   Daniel: I don't like that value is one keyword, but computed value can
           be *two* keywords. You cannot write down the computed value.
   dbaron: whatever we decide for font-weight should also apply to font-stretch

   dbaron: the other issue is that the way multiple occurrences of
           bolder/lighter compound with each other isn't really defined
           in the spec
   David: Spec is unclear about sequences of multiple bolder and ligher.
   dbaron: you could view the computed value of font-weight as a base weight
           followed by an ordered sequence of bolders and lighters
   dbaron: or you can see it as the sum of bolders and lighters, e.g.
           bolderx3 or lighterx2
   dbaron: this gives different results
   John: Have to carry around complex datastructures for cases that rarely
         happen.
   John: Want to make it simpler. Bolder just bumps the weight by two steps.
   John: We should do something simpler.
   John: 400 to 500 usually won't trigger a bolder font
   John: bumbing it up to 600 will get you a bolder font, because 500 falls
         back to normal
   Discussion about stepping by 100 or 200 and what the effect is if font
     has *all* weights (synthesized, e.g.).

   dbaron: there's three options for what the computed value should be
   David draws on white board.
   * glazou wonders how many users use more than 'normal' and 'bold'
   dbaron: option A: computed value is a single number 100-900
   dbaron: Option B: it's some value 100-900 and then an integer representing
           the number of bolders/lighters applied
   dbaron: Option C: weight 100-900 and *sequence* of steps bolder and lighter.
   dbaron: Options B and C are not the same, depending on the fonts.
     <span> <span> <span> [jing] B </span> </span> </span>
   dbaron explains how they are not the same using a mixed script testcases
   dbaron: Option C is more complex.
   Steve: Now I understand why this is an edge case... :-)
   <glazou> C is better, right, but it's also totally crazy and means nobody
            will ever use the computed value of font-weight
   John: The computed style is not itself a useful value in options B/C.
   Steve: There are many fonts where weights differ in only one step (100).
   * fantasai votes for B :)
   glazou: a lot of websites use 'bolder' rather than 'bold'
   Daniel: Many people who use 'bolder' expect to go from 'normal' to 'bold'.

   dbaron: For GetComputedStyle, there are many things you could do. You could
           look up the fonts and return a numeric value.
   dbaron: I'm more concerned about what inherits.
   Steve: If you mix fonts, option C seems overly complex for little gain in
          practice. It's the theoretically right way, but is it worth it?
   David: I think there are problems with C as well.
   Peter: Say you have a set font. Later you go bolder. Inside that you go
          lighter. Shouldn't you be back where you started?
   Peter: After 'bolder' and 'lighter', don't you expect to be back where
          you were?
   Steve: 'bolder' is more reliable, because fonts don't always have bolder
          weight at 700.
   Daniel/David: I expect many people use 'bolder' and 'bold' as synonyms.
   <glazou> glazou: most web authors don't even know 100-900 values exist...
   Peter: Saying normal and then bolder, the author expects to see something
          bolder if it exists, so just bumping by 100 doesn't work.
   Peter: Trick I used was encoding B all in a single integer, something
          like 101 stands for weight 100 + 1 times bolder.
   David: The spec has been modified many times and not always consistently.
   * plh hides under the table with he hears DOM Level 2 style spec
   * glazou suggests a first break in 15 minutes or after this issue, the
       earliest
   dbaron notes that GetComputedStyle doesn't return the "computed style"
     in the CSS2.1 sense, but rather the "computed style"  of the CSS2 spec,
     which is more like the "used style" of CSS2.1
   David: The text I want to remove is that, if there is no darker font,
          the computed value is bumped by 100.
   David: because it is leftover from before we fixed the computed value to
          use a tuple
   Peter: If the OS *can* make an arbitrary weight, then that is what the UA
          should use.
   David: There were two parts to this issue: removing the text just quoted
          about unavailable weight, and chosing between options B and C.
   John: if you have bolder, bolder, lighter and only two weights available,
         with B you get bold, with C you get normal
   John: One typical question is what we expect after normal + bolder + bolder
          + lighter: If font has one bold only, are we back at normal?
   <anne> http://hixie.ch/tests/adhoc/css/fonts/weight/
   <jdaggett> http://www.hixie.ch/tests/adhoc/css/fonts/weight/002.xml
   <anne> http://hixie.ch/tests/adhoc/css/fonts/weight/002.html
   <anne> (works prolly better in IE)
   <dbaron> http://dbaron.org/css/test/2008/font-lighter
   David gives a simpler test.
   Moz is bold, Opera is normal, Safari is normal.
   Peter: What does the author expect in this case?
   Peter rephrases the difference between C and B. Does 2 bolder + 1 lighter
     end up at normal or at bold (if font has only one bold)?
   John: There are few systems in practice with fonts with multiple weights.
         Basically only some Macs.
   Hakon: We need to cater for higher quality fonts, there will be more of them.
   Steve: Many fonts have weights that are not normal and bold, has to support
          those.
   Fantasai: We can't really answer the question what an author expects after
             bolder+bolder+lighter because we have no web designers here today
   SteveZ: the other important question is should bolder+lighter give you back
           the normal font?
   SteveZ: the sequence won't always do that, if e.g. there is no bolder font
           but there is a lighter font
   <dbaron> Should we take a B vs. C straw poll?
   <glazou> yes
   Steve: Think e.g., about the case that there is no bolder, but there is a
          lighter one. In option C, normal + bolder + lighter will give you
          that ligher one, not the normal one. So option C is not correct for
          this case.
   Philippe: Maybe this is not worth fixing in the time scale for CSS 2.1.
   Discussion about whether it is important (and if so, when) that computed
     value is a "string" in CSS syntax.
   It's an issue for the DOM, is it also for CSS 2.1?
   Daniel: Should we do a strawpoll?
   Anne: abstain
   fantasai: B
   Bert: 60% B 40% C
   John: The behavior and the syntax of the computed value are separate questions.
   Richard: abstain
   Alex: C
   Peter: B
   Steve: B
   John: B
   Phillippe: Abstain
   Saloni: Abstain
   Daniel: 60% B 40% C
   David: B
   Howcome: B
   glazou: Add a note saying that GetComputedStyle is unpredictable for
           anything aside from normal and bold
   John: IE already has an extesnion to getcomputedstyle for the font weight.
   Daniel: Seems we have preference for B, but do we have consensus?
   Peter: My concern is what happens when we start getting rich fonts with
          multiple weights.
   Peter: I want to be sure that result is intuitive for fonts with more than
          two weights.
   Peter: Imagine a font with seven weights and he does lots of 'bolder' and
          maybe one lighter, but then the page gets displayed on a system with
          just one bold.
   Peter: We need to describe what we want 'bolder' to really *mean*. Different
          people have a different interpretation.
   Daniel: Take a break and come back a bit later?
   Fantasai: Could ask Molly and Jason, but maybe can also just resolve it now.
   RESOLVED: Accepted proposal for Issue 48
   (49 still open)
   [Break 15 mins]
   Daniel: Extra agenda for Friday: charter
   Daniel: about process, milestones, etc., and explaining things to Philippe.
   Back to issue 49.
   Alex: Not sure the implementations will want to change.
   Peter: How about in a future version?
   Alex: Maybe designers should avoid 'bolder' and 'lighter' and we should say
         so in the spec.
   Alex: Because it may have effect on soem systems and not on others.
   Richard: You were trying to find out how people use it. Should maybe ask
            that of some actual users.
   John: We're defining edge case behavior. Should not say "don't use this"
         because in a world with two weights, it works as expected.
   Fantasai: Even if we don't say anything in level 2, we should be precise in
             level 3.
   Philippe: But there is something in level 2 already.
   John: How about font-stretch: wider?
   <fantasai> http://www.w3.org/blog/CSS/2007/08/29/backlog_resolutions
   <fantasai> "RESOLVED: The Markus Principle: ..." :)
   Peter: Only reason to not define in CSS 2.1 might be that we have differing
          implementations.
   Peter: But still want to decide what we'll have in level 3, even if we leave
          level 2 undefined.
   Alex: Feedback from designers is necessary here.
   Fantasai: Can Peter take an action to ask Molly and others?
   Discussion about leaving it undefined in level 2 and under what conditions.
   Fantasai: OK with leaving CSS 2.1, as long as we decide what to do for level
             3.
   Daniel: Or just say that we will resolve for level 3, without saying what
           way.
   Steve: We can put a note that sequences of bolder and lighter may have
          different results on different systems.
   Fantasai: add that this will be defined in CSS3
   Daniel: "Seq. of bolder and lighter may have unpredictable result in level
            2, but will be defined in level 3."
   Peter: Add dependence on UA, OS, and font availability
   Peter: So authors know how widely they need to test
   ACTION: fantasai Draft a note
   RESOLVED: Leave undefined in CSS2.1, add note as described above for ISSUE 49
   ACTION: Peter Consult Jason, Molly, other web designers, about what is
           expected behavior for bolder + lighter, bolder+bolder+lighter
   Philippe: Can you add an issue on CSS3 Fonts about this, so that it doens't
             get lost?
   Fantasai: Doing it right now...
   Philippe: And can you add the test cases to that issue?
   <fantasai> ISSUE-61 recorded against CSS3 Fonts

CSS 2.1 Issue 52 and Definition of BR
-------------------------------------

Scribe: Bert
   Topic: CSS 2.1 issue 52
   <fantasai> http://csswg.inkedblade.net/spec/css2.1#issue-52
   <dbaron> http://lists.w3.org/Archives/Public/www-style/2008Aug/0154.html
   Issue is about practice of putting page-break on BR, which is not allowed by
     spec (unless BR is made a 'block')
   David: Seems page-break is a bit like clear, for which we allow UAs to apply
          it to inlines.
   Alex: Think it should apply only to BR, not to all inlines.
   Bert: What is the difference between BR and SPAN?
   Alex: Not a lot of interoperability on BR, e.g., applying :before to it.
   <fantasai> br { content: '\A'; white-space: pre; }
   <fantasai> but need to make 'clear' apply specially
   Anne: That (Fantasai's rule) is what Opera does,
   Alex: What is the size and position of BR in Opera in DOM?
   Fantasai: Same as <span> with a line feed...
   Daniel: A 'page-break-before' on BR puts a blank line at the top of the page.
   Steve: Whether page break applies shoudl depend on how the element is styled,
          in particular whether it is block-level.
   Daniel: One use case is a BODY consisting of nothing but text and BR. Want
           to break page at some BR. Or <pre> and <br>
   Daniel: Users of word processors often work like that: turn some line break
           into a page break.
   <anne> (Opera's behavior with respect to the interaction of 'content',
           'clear', and <br> is slightly weird.)
   Steve: 'last-line-align' applies to last line before the BR.
   <anne> (The moment you use 'content' on <br> it no longer has special 'clear'
          behavior, even if it is "\A".)
   Steve: So it looks also like a natural break point. It *looks* like a
          paragraph.
   Daniel: BR could be used for page breaks as well. HTML doesn't have a page
           break element, but could imagine <BR TYPE=PAGE>
   fantasai: The same applies to '\A' in a white-space: pre element
   Saloni: What if we apply page breaks to all elements, not only block-level?
   Fantasai: We would make an exception for HTML: page break applies to
             block-level, except in HTML it also applies to <br>.
   Steve: Everywhere where last-line-align applies should also accept page
          break properties.
   <anne> fantasai, (since people are talking) you could just define some
          special construct and then HTML5 says that <br> is such a construct
   David: Lines in PRE also have last-line-align' applied.
   <anne> fantasai, then magic languages work too
   David: Which of many "last" lines has the page break applied to?
   Fantasai: Imagine a pre, *all* lines would have page break properties
             applied.
   Steve: The alternative is that 'last-line-align' doens't apply.
   Fantasai: The 'last-line-align' applies because there is a forced line break.
   Steve: I wouldn't call that an inline element (because it contains a line
          break).
   David: Maybe the term [inline] is not fully intuitive, but it *is* precisely
          defined.
   Daniel: What about some XML format (because there are many now), where I
           want to turn some element into a page break? Think MS Word.
   Alex: Many cases: line breaks, page breaks, paragraph breaks, and any of
         there with or without last line behavior.
   Alex: Seems we need 'display: break'
   Peter: Steve's argument is a negative argument. He says *if* we do this then
          we have to do that. Not that we have to do "that."
   Anne: Just adding 'display: block' when needed to make an element into a
         page break element is not a big deal.
   Daniel: Consider editing perspective. It's easy to insert an empty element.
   <fantasai> br { white-space: pre; content: '\A'; }
   Fantasai: Just insert an empty element with both page break and display:block
   <fantasai> br[type="page"] { display: block; content: none;
                                page-break-before: always; }
   Daniel: But we can't reproduce HTML's BR in XML.
   Hakon: Yes you can, the sample style sheet shows how.
   Fantasai: Anne and I are saying that you can get the functionality you want
             in XML. Just without the quirkcs
   Anne: Or we introduce an abtract magic element and then any language can
         declare that some element act as that magic element.

   Several people explain the problem of sequences of BR. The second and
     subsequent ones cannot be 'block' because they shouldn't collapse.
   Hakon: Can solve that with selectors, BR + BR.
   <anne> http://www.joelonsoftware.com/articles/fog0000000018.html
   Fantasai: The quirky behavior of BR is that 'clear' applies.
   Peter: Now imagine I want to set 'content' on my BR, I lose the line breaking
          behavior.
   Several: Just add the \A as well.
   Peter: I want an extra property, or a 'display' value, for BR.
   Hakon: But that doesn't work in current browsers.
   Steve comes back to what "inline" means, doesn't think a \A can be called
     "inline."
   Fantasai: So you don't want to call the span in
               <pre>foo <span>test[linebreak]test</span> bar</pre>
             inline? In CSS it is defined as inline.
   Daniel: The width of the line box before the break is different.
   Hakon: Really? And does that matter at all?
   Daniel: You can ask for the bounding rect of Fantasai's SPAN in the DOM. But
           it may not be relevant for this discussion.
   Saloni: Do we all agree that page break applies to BR, independent of how we
           explain it?
   Bert: No, don't make exceptions for HTML.
   Alex: We (IE) have a special 'display' tupe (more or less) for BR.
   Hakon: What then happens in IE if I set :before{content:"\A"} on the BR?
   Hakon: Is that display type hardcoded? Or can you override it with a style
          rule?
   Steve: Can you change BR to list-item?
   Hakon: Should work in Opera, yes.
   Peter: How can a user override the rules?
   Peter: I like there to be a simple rule to make the BR behave one way or
          another. Make it not break a line, e.g.,
   Hakon: That works in Opera.
   Peter: I also want the way to override it consistent among browsers.
   Daniel: That's not the question we are discussing. We started with page
           breaks...
   Peter: And I don't want to use the 'content' proeprty.
   Hakon: Why not?
   No resolution for issue 52 right now.
   David: If we decide for 'display: break', we can say that it applies to BR
          and in level 3 we can say that page-break and clear applies to
          elements with that display type.
   Alex: We can just say in 2.1 that level 3 will provide a more generic
         approach.
   Peter: I think we need the Markus principle again, because we cannot define
          it better in CSS 2.1.
   Strawpoll proposed question: Should page-break-before/afetr apply to BR in
                                CSS 2.1?
   Peter: Make it more generic, and ask about a BR-like element instead of BR
          itself?
   <glazou> <br type="LUNCH">


-!- jason_cranfordtea [jason_cran@64.236.128.12] has joined #css
<fantasai> hi jason_cranfordtea!!
<jason_cranfordtea> hey
<fantasai> jason_cranfordtea: we had a long discussion about font-weight
             today. I assure you you wouldn't have wanted to listen to it
             all, but finally it has boiled down to a question for you and
             Molly.
<jason_cranfordtea> yeah
<jason_cranfordtea> I saw that in the transcript
<fantasai> jason_cranfordtea: cool
<fantasai> up, we are restarting the meeting
<jason_cranfordtea> expected behavior of lighter and bolder
<Bert> Read: we didn't want to leave the discussion without deciding at
         least something, and so we decided to ask you :-)
<fantasai> yes
<fantasai> when nested
<jason_cranfordtea> so it's a question of inheritance?
<fantasai> no
<jason_cranfordtea> or absolute?
<fantasai> it's a question of
<fantasai> if you have three nested spans
<fantasai> the outer two with 'bolder'
<fantasai> the inner one with 'lighter'
<fantasai> but your font only has two weights, normal and bold
<fantasai> what is the text of the innermost span?
<fantasai> is it normal or bold?
<jason_cranfordtea> right
<jason_cranfordtea> that's what I was thinking of
<fantasai> then take that same page and render it with a font that has
             three weights
<jason_cranfordtea> let me think of it
<fantasai> the behavior should make sense to the author in both cases
<fantasai> of course

Scribe: Steve
We are resuming after a lunch break

Definition of BR (continued)
----------------------------

   This discussion is for CSS3
   The definition is currently in the Generated Content draft
   The content property does not apply to all elements in CSS 2.1
   <anne> (you need br { content:"\A"; ... } for cases such as
           <br>foobar</br> (possible in XHTML))
   <Bert> (You can do that with ':before {content: "\A"} br
          {content: none}' as well and still be compliant with the sample
          style sheet from level 2.)
   Anne, listing solution mechanisms:
   1. treat the HTML <BR> element as a special HTML only case
   2. use display: block
   <fantasai> s/block/break/
   Anne: using content(/A) would not make "clear" apply to the element
         because it would still be an inline element
   3. add a "line-break-*" properties that could apply to inlines
   BB: would this mimic the current <BR> behavior w.r.t. one BR vs two BRs
   EE: does "clear" apply sometimes to a run-in element, depending on what
       it is followed by?
   DG: requirements include avoiding a special exception for HTML and
       making the BR element special
   EE: would it be possible to make BR be a run-in; i.e. display: run-in
   DB: can you have multiple run-ins into the same block?
   BB: if there are multiple run-ins only that last one is before the next
       block and has the run-in behavior
   DB: note that BR adds height to the line before, note that line after.
   DB: This may only apply in "quirks mode", but I am not sure about this
   * glazou needs to know how many people need to check in at the hotel
       today ; we probably need to end the meeting before the cancellation
       limit...
   DB: It should not matter in standards mode unless a font-height is
       appled to the BR
   * fantasai call the hotel
   * glazou fantasai: that obsolete "telephone" protocol ?-)
   Anne: in Opera, changing the font-size on the BR does not affect the
         line-height of the previous line
   Anne: It does not in IE6 either
   Anne: only Firefox shows the change of line-height
   <anne> 
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!doctype%20html%3E%3Cstyle%3E%20span%20{%20font-size%3A2em%20}%20%3C%2Fstyle%3E%0A...%3Cspan%3E%3Cbr%3E%3C%2Fspan%3E...
   <anne> 
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cstyle%3E%20br%20%7B%20font-size%3A1.5em%20%7D%20%3C%2Fstyle%3E%0D%0A...%3Cbr%3E...
   Anne: and the line-height change does not show up in quirks mode
   Above are the test cases
   HL: we have a way of defining BR in CSS, namely using the content property
       to insert a /A
   Opera allows the content property on all elements
   AM: the issue is having a definition that triggers that special behaviors
       of BR w.r.t.  clear and page-break-*
   SZ: the Opera solution does not work for clear or page-break-*
   AM: is it OK to have content language (e.g. HTML) special exceptions
   EE and Anne: we already have special cases
   Anne: it is the element in the HtML namespace that is special cased
   <anne> What I said was that the HTML <body> element is special cased in
          HTML and XML (though the CSS 2.1 still needs an update regarding this)
   DG: It is mandatory to have a way to put in hard line breaks, but special
       casing BR in HTML only is a hack that does not help in XML
Scribe: fantasai
   Steve: there four things about <br>
   Steve: 1. You get a line break
   Steve: 2. You get last-line alignement behavior in the previous line
             (due to the forced break)
   Steve: 3. Clear applies
   Steve: 4. Maybe page-break applies
   Steve: Most of these are because of the line break
   <jason_cranfordtea> Is there a reason that point 4 is not a certainty?
   <fantasai> it's not in the spec currently
   <fantasai> so it's the issue that started this whole discussion :)
   Anne: if you want properties 3 and 4, you should set the display: block
         property on the BR
   Elika: The problem isn't with XML dialects. It's with backwards compatibility
          wrt clear on BR.
   Elika: In a new XML dialect, you can create a break element that behaves
          like <br> by using CG line breaks
   Elika: And if you want the element to clear (or page break) then you need
          to set display: block; at the same time.
   <Bert> (The "problem" is the same problem we have much too often,
          unfortunately: browsers have bugs and don't dare fixing them :-( )
   Elika: The problem we have here is that you can't do that with BR for
          backwards compatibility reasons
   Elika: Because right now you can set 'clear' on <br> without setting
          'display: block;' and it works.
   Anne: I don't think it makes sense to spend so much time on this based on
         hypothetical XML vocabularies.
   Anne: If someone comes forward and says I need this behavior without setting
         'display: block', then we can discuss it further
   <dbaron> <br><br><br clear="both"><br>
   <dbaron> (or do I mean "all" instead of "both"?)
   <anne> Google says all
   <dbaron> (For the record, I was saying verbally that markup like that is
            probably used a good bit on the Web.)
   Anne and EE: you probably do not need all the quirks of BR if you are just
                trying to satisfy the requirement for a hard line break in XML
   <fantasai> hard line break, clear, and page-break
Scribe: Steve
   PL: what is wrong with adding a "break" value to display?
   Anne: I think it adds more complexity, to the code and the tests
   DG and PL: it simplifies the spec, because it removes all the special cases
   EE: if you add the new display value, you must update the spec for the
       influence of this new value on the other properties.
   EE: If I were to define <br>, I'd define it as an inline element whose
       contents are a preserved line feed and to which the 'clear' property
       applies.
   Many: it does not appear that the spec get vastly simpler whether or not
         you special case the <BR> element or add a "break" value
   Anne: it is more difficult to test because one must test the behavior when
         this property value is combined with most of the other properties
   BB: Since we have not needed a better defintion of BR up to now why are we
       so concerned about it now
   SZ: becuase the issue of how does page-break-*  apply
   SZ: What I got from this discussion is that using display: block; would
       satisfy the use case requirements for XML.
   SZ: So I would conclude that we should special-case BR, but also add a note
       explaining how to get similar behavior with another mechanism.
   SZ: since display: block gives most of the properites that an XML document
       would want for a hard line break, we should adopt solution 1 with a
       note to explain the display: block mechanism
   AM: if we are adopting option 1 in CSS2.1, it can describe all the
       specialiality, including page-break-* behavior
   <fantasai> Straw Poll for CSS2.1:
   <fantasai> 0. No change to CSS 2.1
   <fantasai> 1a. Special-case (X)HTML <br> to take page-break and clear, add a
                  note explaining how to get it to work for other elements (by
                  using 'display: block')
   Peter: I'm ok with saying that page-break also applies to "other elements",
          not calling out HTML:br
   PL: we could have a note, like that in Clear which does not call out the
       elements to which page-break-* applies
   <fantasai> 1b. Say page-break may apply to "other elements"
   The above Straw Poll is w.r.t. Issue 52 only and not for CSS3
   Furthermore, the options apply to what is said about the page-break-*
     properties
   <Bert> (option 4: page break applies to all elements?)
   PL: option 1b was proposed so that we can, in the future, adhere to the
       Markus Principle, agreeing to define in CSS3 this clearly ambiguous
       behavior; the behavior is, at this point, intentionally left ambiguious
       to reflect current implementations
   <fantasai> display: block; (or some other block-level value)

   <fantasai> 0. No normative change.
   <fantasai>    Add a note to say that if you want this property to apply
   <fantasai>    you have to set display: block; (or some other block-level
   <fantasai>    value)
   <fantasai> 1a. Special-case HTML:br to say that page-break also applies
   <fantasai>     Add a note to say that you can get page-break to apply to
   <fantasai>     other break elements by saying 'display: block'.
   <fantasai> 1b. Say page-break applies to block-level elements and may
   <fantasai>     also be applied to "other elements"
   <fantasai> 4. Page-break applies to all elements
   <fantasai> Howcome: 0, could live with 1a
   <fantasai> David: 1a, second choice 0
   <fantasai> Daniel: 0
   <fantasai> Saloni: 1b, then 1a
   <fantasai> John: abstain
   <glazou> Richard, PLH: abstain
   <fantasai> Steve: I can live with anything but 4
   <fantasai> Peter: 1b
   <fantasai> Alex: 50% on 1a or 1b
   <fantasai> Bert: 0, can live with 4 and 1b in that order
   <dbaron> (this is for CSS 2.1; options (2) and (3) could be relevant for
            css3)
   <fantasai> Elika: 0 or 1a
   <fantasai> Anne: 1a
   <fantasai> Steve: So we've observed that some implementations currently
                     do this
   <fantasai> Steve: 2.1 should reflect what implementations do
   <fantasai> Steve: 1b seems consistent with that
   <fantasai> Steve: It seems you /may/.
   <fantasai> David: It seems unnecessarily broad to me.
   <fantasai> David: The clear definition is necessarily broad because of what
                     CSS1 said
   <fantasai> Anne: The 'clear' part is a non-normative note. Normatively it's
                    not allowed
   <fantasai> Peter: So to move CSS2.1 forward we either need a consensus, or
                     we need to leave it vague and tackle in CSS3.
   SZ: I thought the goal of CSS2.1 was to document what CSS implementation
       actually do and to be ambiguous where agreement cannot be reached;
       the goal of CSS3 is to remove ambiguities
   BB, PL and DG: I cannot live with 1a
   Daniel: I see no consensus on definition of <br> or on whether page-break
           should apply to it
   Daniel/Steve: How do we ask the next question, how do we find the best
                 option that people can all live with?
   Fantasai: I note that 1b would allow page-break to apply to table-row
             elements, which we may actually want
   DB: how about narrowing 1b to say "may apply to inline elements"
   Philippe: When you do a straw poll, you ask three questions: what do you
             want, what can you live with, what can you not live with?
   <fantasai> Straw poll: Which options can you not live with?
   Everyone can live with 1b
   AM and SR cannot live with 0
   Anne, EE, AM, SR, DB cannot live with 4
   RESOLVED: Say that page-break "may apply" to other elements besides
             block-level elements

   We returned from a break at 15:40

Test Harness
------------

   EE projects test harness at http://www.w3.org/2008/07/test-harness-css/
   EE: HP is working on this, has sent a prototype
   EE: can run test from groups or single tests; has option to run least
       tested tests first
   EE: What kinds of charts should the results component generate?
   PL: How are tests placed in the harness?
   EE: There is a script that can be run by someone on the W3C server team
       to move testcases into the harness
   EE: currently, every night there is a build of the testsuite; can add to
       chron job to run the script
   PlH: Can you add a button that says, "I think this test is incorrect" to
        flag tests in question
   EE: We think this will not be useful for tests used by the general public;
       getting e-mail messages seems to work better, but still not very well.
   EE: we do not yet have a good system for reviewing tests
   PlH: is there a way to delete results either because the tester has a bad
        track record or because the test has been changed?
   EE: not yet
   EE: the intent is that if a test changes, all past results will be removed
       so there is no prior history
   EE: Have a display that shows a table with the tests as the row labels and
       the UAs and their context as the column labels; the cells show how many
       checked which box on the test
   EE: the tests will have metadata that will indicate if special device
       characteristics (e.g., 9dpi displays, letter paper, ...) to run the
       test. These will appear when test is selected for execution.
   PlH: prior to running a series of tests, it is desirable to have the set of
        requirements for all the tests in the series.
   SZ: The groups defined by the WG should avoid having conflicting requirements
       in the series
   PL: there will be a Skip button on the test to allow it to be skipped because
       the special requirements for the test may not be met.
   EE: the goal is to write the test so that they are DPI independent
   EE: the goal is also to be font independent, but some tests may require the
       use of a standard set of public usable fonts.
   EE: the tests require a blank user stylesheet.
   PL: we should create one or more test that test the assumptions for the test
       suite
   PlH: what does "full color" mean to the average user?
   PlH: I would like for other groups in the Interaction Domain to be able to
        use this test harness
   SZ: can I use the test harness in automatic mode, for example to do regression
       testing against stored bit maps
   EE: not using the harness, but the test suite is in CVS and it can be pulled
       and used for anything consistent with the license.
   DB: in Mozilla, we have tests that have to pieces of HTML that must either
       render to the same bit map or to two different bit maps
   EE: the test are designed without reference rendering; the tester should read
       the instructions and determine the correctness of the results
   EE: it would be possible to accept reference renderings, however.
   JD: note that with text renderings are rarely, if ever, the same among
       browsers
   PL: I would like to see Implementation Reports generated from the test
       harness results
   <plh-css> 
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/test-suite/Dashboard.html?rev=1.85&content-type=text/html;%20charset=iso-8859-1
   SZ: when implementations are generally passing most tests, it would be
       useful to have the subset of tests that are still being failed
   PlH: suggests that the above dashboard was useful for WSDL WG and might
        suggest ways to organize the CSS results (which are more complex)
   PlH: one thing that was nice was to see what test assertion(s) were
        being failed in a given test run
   <plh-css> -> http://dev.w3.org/cvsweb/2008/test-harness/ CSS test harness
   JD and EE: there is a bunch of build scripts that build the metadata and
              other stuff for the test harness which grabs the data from
              the build process
   EE: one of the reasons for having a user friendly test harness is to
       allow volunteers to do some of the testing for this.
   HL: I would like to have a large page with a collection of tests in a
       group, perhaps using IFrames, that I can scroll thru to see the
       failures myself
   EE: HL wants a page like DG did for selectors
   EE: one can add a script to build such an IFrame test; please do not
       change any of the existing scripts
   <fantasai> http://www.w3.org/Style/CSS/Test/CSS2.1/current/xhtml1/by-section.xht
   EE: this is the index by section of all the tests in the CSS2.1 test suite
   RI: some of the I18N tests have changed recently; are you picking these up?
   EE: Eira has been working on picking up such tests, but she will be
       leaving Opera soon.
   EE: for tests that arrive in the wrong format, a repository will be
       created to store them until that can be adapted to the system
   PlH: could I18N write there tests for the above test harness?
   RI: right now, constructing the test in format suitable is extra work
       beyond what is being done by I18N (which often means me)
   RI: the I18N format has multiple test per page and has additional info
        beyond that used by CSS
   EE: there is a relatively simple template for the test; the scripts build
       the harness code around that test file matching that template
   <fantasai> http://lists.w3.org/Archives/Public/public-css-testsuite/2008Aug/0009.html
   <fantasai> http://csswg.inkedblade.net/test/css2.1/format
   The above is the URL for the test template
   RI: how does one indicate what the requirements for running a given test are?
   RI: e.g., a special font must be loaded
   EE: uncommon requirements should be in the test instructions, but this
       will not be pulled out in a requirements summary
   RI: Why not have a "requirements" metatag that takes a string to be
       displayed as part of the requirements display
   SZ: how could we internationalize such requirements strings?
   EE: the other requirements that are common to many cases are coded as
       flags that can be internationalized
   EE: the build process generates three versions of each test, 1. mostly
        a direct copy of the test, 2. an HTML file and 3. an HTML print file.
   Supporting the test harness and the test for langauges other than English
     is out of scope
   <r12a> example of what PLH is saying:
          http://www.w3.org/International/tests/test-encoding-detection-6
   EE: agreed that files must be served with specific headers, but that is
       out of scope for the test harness
   RI: I have a bunch of test for character encoding that require specific headers
   EE: The test harness doesn't contain or serve up the tests. They need
       to be hosted elsewhere. The test harness just links to them
   EE: If you have special hosting requirements, you need to set those up
       where the tests are hosted. There's no interaction there with the
       test harness
   EE: the test harness just links to the test; therefore it is the server
       on which the tests are stored that is responsible for generating the
       correct headers
   <fantasai> http://lists.w3.org/Archives/Public/public-css-testsuite/2008Jul/0000.html
   The above URL is a message about the BiDi test that were being converted
      for the test harness
   That completes this topic
   <glazou> dsinger: we just adjourned the meeting for the day !
   The meeting is now adjouned for the day

Received on Tuesday, 9 September 2008 01:54:36 UTC