[CSSWG] Minutes F2F 2008-10-19

<glazou> http://wiki.csswg.org/planning/mandelieu-2008
<RRSAgent> logging to http://www.w3.org/2008/10/19-css-irc
* dbaron couldn't hear the observer's name
* anne same here, and i was sitting next to him :/
   <glazou> (observer is Hartmut Glaser from NIC.br)

ScribeNick: dbaron

Agenda
------
   Daniel: I just posted wiki URL.  Request to discuss CSS2 system colors
           with another WG, probably tomorrow morning.
   Daniel: Who is attending conflicting meetings?
   Steve: I'm chairing another meeting on Tuesday.
   Anne: I have Web Apps Monday and Tuesday; I'll try to alternate, but
         both don't have an agenda yet.
   Daniel: To those who won't be here Monday/Tuesday, anything you want
           discussed today?
   Anne: I want to attend the cross-WG one listed at the bottom of the
         page ("User control over UI").
   Anne: "Special behavior of BODY" we could do, but it should be trivial.
   Steve: My preference is that things like syntax and selectors occur
          on Tuesday.
   fantasai: Melinda wants paged media on Tuesday.
   Steve: Although I'd prefer paged media not on Tuesday.
   Anne: Dean Jackson wanted to discuss Apple proposals... he's not here now.
   Daniel: maybe Monday
   Anne: We'd like it as well, and Mozilla has implemented parts of it.
   Daniel: <goes rapidly over list of topics>
   Daniel: While everybody is here, we should probably discuss 2 things:
           (1) next f2f meetings

F2Fs next year
--------------

   Peter: I'd like 4 2-day meetings.
   fantasai: That's tough for people travelling from far away
   Steve: I think 3 3-day is more practical... especially given travel budgets.
   fantasai: It takes a couple days just to adjust to the new time zone
   Daniel:  What time of year?
   David: One issue we've had the past few years is that we've put the summe
          meeting late in the summer and thus very close to the fall meeting
   Daniel: We could do February, June, November...
   John: Can't confirm for sure, but could do one in Tokyo.
   (February)
   ?: Sophia-Antipolis in June?
   Bert: My holidays are first half of June.
   Daniel: And TPAC in October/November.
   Daniel: Either Boston or Santa Clara.
   Daniel: Let us know about days that are bad in Feb/Mar and late June.
   fantasai: I can't do second half of March.
   Steve: Week of President's Day (US) can be a good week.
   Daniel: I think Haakon may have offered to host in Oslo...
   Daniel: Tentative plan is Tokyo in Feb/Mar, Sophia-Antipolis in June, TPAC
           in US in Oct/Nov.
   Daniel needs to check school vacation calendar
   Daniel: I'd like to be home 25 Feb.
   Anne: No constraints
   Bert: First 2 weeks of June
   Bert: can't do
   Steve: June is difficult, but I can probably work around it
   Daniel: I prefer after March 2nd
   Alex: MSFT March 18-20 not a good time
   David: I have a weak preference for avoiding US Government holidays
   Peter: no constraints
   John: no constraints
   fantasai: Not second half of March
   Alex: Also SxSW is March 13-22
   Discussing dates in June
   Steve prefers week of 22n-26
   Bert is returning on the 23rd
   fantasai: I can't do May 29-June1
   Daniel: So, target 24-25-26 June 2009
   Daniel: Target for 1st meeting, 2 first weeks of March
   ACTION: glazou email w3c-css-wg with proposed dates and ask for
           comments/constraints

Web designers as invited experts
--------------------------------

   Daniel: Jason Cranford Teague has left the WG
   Daniel: Since his perpsective is exteremely valuable, we wanted to
           propose to keep him as an Invited Expert to the WG
   Daniel: This raises an issue because AOL is the kind of company
           that could join the WG, but they are leaving the WG
   Daniel: Jason was never really representing AOL as much as himself
           and the web designers, so I think it makes sense
   Daniel: I understand from a W3C Process point of view it's difficult,
           but we really need web designers
   Steve: I would support that. I agree that Jason's contributions are
          from the perspective of a designer, but I think the precedent
          it establishes in W3C is potentially dangerous
   John: People who are very hard are people who are technically oriented,
        but ...
   John: A lot of issues break down to implementation issues, there has
         to be a balance between making an implementation consistent etc.
         and what will make it useful and easy for designers
   Daniel: That's a difficulty in this WG. A trivial proposal, a one-liner,
           can be extremely difficult to implement and most web designers
           don't understand that
   Daniel: Jason says he has time
   Bert: Has to pass Mauro and W3CM. He's clearly an AOL employee
   Bert and Steve want him here, but are concerned about process stuff
   fantasai: Other people?
   Daniel: We already had this discussion... remember failure of CSS 11?
   Daniel: ... strictly speaking, it is difficult to make Jason an official
           Invited Expert
   Daniel: but almost everything we do here is public, so he can still
           contribute
   Steve: We have to be careful about IPR
   (various discussion)

Margin Collapsing in Vertical Text Mode
---------------------------------------

   Bert: Was wondering about margin collapsing in vertical
   Bert: If you have a vertical block inside a horizontal one
   Alex: That's a yes-or-no question. In our implementation they do collapse
   David: You'd be making a new block formatting context
   (break)
   RESOLVED: make a new block formatting context when block direction
             switches, margins outside the bfc do collapse

Special behavior of BODY
------------------------

   Daniel: Proposal by Simon Pieters is to make the body element in
           XHTML magic just like in HTML.
   Anne: Was partly implemented per spec, marked at risk, implementations
         shifted back.
   David: Originally everyone did what simon is proposing
   David: Then the XHTML WG asked us to make this change, and some browsers
          followed
   David: There are two different quirks. One for background, one for overflow
   David: I think Mozilla followed both briefly
   David: Webkit followed one but not the other
   David: So we didn't have two implementations of both
   David: so we marked it at risk
   David: Mozilla, Opera, and Webkit currently treat HTML body and XHTML body
          the same way
   David: And simon has a test suite for this quirk stuff
   fantasai: Can we get these tests in the 2.1 test suite?
   fantasai: Anne, make sure they're in the right format and check them into svn?
   David: HTML5 spec wants HTML and XHTML to be treated the same; don't know
          that it's been discussed in WG.
   Alex: We don't do XHTML yet; would be easiest to not do anything special
         for XHTML.
   Daniel: That sounds like a consensus?
   Bert: I'd rather do the other way around, but...
   Bert: I think it's ugly but it doesn't break anything.
   Daniel: And it helps people who want to convert a Web page from HTML4 to
           XHTML.
   Bert: But harder to convert to Docbook or other things.
   Bert: I don't like it, but I don't think it's dangerous, just ugly.
   Peter: I'd almost like to see a way of declaring in CSS that element N
          should have this behavior.
   Anne: Seems too obscure to complicate the language.
   fantasai: Seems like a quirk that we just have to deal with for HTML.
   fantasai: It's there because of backwards-compatibility, not because it's
             useful.
   Bert: But what happens if people create new formats that reuse parts of
         HTML?
   Anne: If it's in the HTML namespace, then it will have the same special
         behavior.
   Anne: ... if it meets all the requirements of being a body (second child
         of HTML element, or something...).
   Daniel: The BODY is mandatory; you can't remove it.
   David: You can remove it through the DOM.
   (discussion)
   David: We don't want to get into the discussion of what an HTML document
          is for the DOM.
   Steve: If it's invalid, then interoperability is irrelevant.
   Anne: You're confusing authoring requirements and user-agent requirements.
   (discussion of HTML and DOM issues)
   Alex: Any concern about describing behavior of invalid documents?
   Anne: Not at all unusual... e.g., style sheets missing closing }
   Daniel: I abstain (no objection).
   Anne, fantasai, David, Alex: in favor
   Anne: We should separate user-agent requirements and authoring requirements.
   (in response to comment by Alex)
   Daniel: ok, resolved.
   <anne> http://www.w3.org/Style/css2-updates/issues-4-20061106.html#issue-31
   RESOLVED: accept proposal in http://www.w3.org/Style/css2-updates/issues-4-20061106.html#issue-31
   <dbaron>http://lists.w3.org/Archives/Public/www-style/2007Mar/0035.html
   <dbaron> (Were we accepting the 17.5 changes as well?)
   <fantasai> http://wiki.csswg.org/spec/css2.1#issue-80
   RESOLVED: accept proposal in http://www.w3.org/Style/css2-updates/issues-4-20061106.html#issue-31
             (chapters 11 and 14 parts)

Margin collapsing (issue 79)
----------------------------

   <fantasai> http://wiki.csswg.org/spec/css2.1#issue-79
   Alex: When min-height has an effect, it prevents the bottom margin of
         the element from collapsing with the bottom margin of its last child.
   Alex: What exactly does this mean?
   Alex: Does it mean that the element's height is exactly the min-height, or
         bigger?
ScribeNick: fantasai
   Alex draws a blue rectangle.
   Alex: Here we have a parent with some margin, and it has a child with some
         other margin
   Alex draws a short margin below the blue box
   Alex draws a red box inside the blue box, with a large margin that extends
        outside the box
   Alex: If the height was not specified, the parent would be as big as its
         child, and their margins would collapse, and the box after it (Alex
         draws a green box below the margin) would be after the collapsed
         margin.
   Alex: What's going to happen if we add a min-height that is bigger than
         the natural height?
   Alex: The parent box would grow
   Alex: but the bottom margins no longer collapse
   Alex: What happens to the margins?
   Alex: We have two options
   Alex: We treat the min-height as height,
   Alex: which causes us to ignore the bottom margin of the child
   Alex: which means the effective margin is much smaller than before, and
         the green box moves higher
   Alex: the other option is for the child's margin to be included in the
         parent's content box
   Alex: so the parent box grows bigger than the min-height in order to
         contain the margin
   Alex: and this is another interpretation of not collapsing the margins
   Alex: I have two options here. I could go with Firefox's behavior (the
         former) which is the easiest to implement
   Alex: Other option is to do the second option, which requires redoing
         size computation
   David: You'd have a discontinuity
   fantasai: You have one in both cases
   <dbaron> http://dbaron.org/css/test/2008/min-height-margin-collapse
   fantasai: In FF's case the green box jumps up once min-height takes effect
   We look at dbaron's testcase
   Alex: In this case it can become 200px or 400px
   Alex: That would be the difference between the different options
   Alex: Once the bottom margin doesn't collapse anymore, then you lose
         the distance between the bottom of this box and the next box
   David: It seems to me that it should be 200px high but you should have
          a 200px margin as well
   fantasai: That wouldn't make sense if the parent's min-height would
             contain its child including its margin
   Peter: What I don't want to see is the margin collapsing of the child
          change behavior based on whether the min-height is applying in
          this scenario...
   Peter actually said something about large margins appearing and
         disappearing mysteriously when you hit a discontinuity point
   ...
   David: In Oslo in 2003 we rewrote margin collapsing, and I didn't like
          that we introduced a discontinuity. We had a big discusison on
          how clearance, margin collapsing, and height computation interact
   Peter: If the height of an elemetn depends on the viewport width and
          resizing the window causes a giant margin to appear and disappear,
          nobody  is going to be happy with that result
   Alex: So I think we should include the margin in the parent's height
   Steve: I realize the agreements reached in Oslo are very fragile, would
          doing what Alex says break those agreements?
   David: No
   Anne: So it seems all browsers are doing different things
   ....
   Alex: we could do Opera's solution (collapse the bottom borders even in
         the presence of min-height)
   fantasai: That would not make sense if the min-height is big enough to
             contain the margin
   Alex: but its behavior is continuous
   Discussion about what is intuitive
   Steve: It really bothers me that we don't have any designers here
   Steve: At least Alex's proposal is consistent with what happens when
          margin collapsing is turned off elsewhere
   David: I think from a designer's pov parent-child margin collapsing was
          a mistake
   Peter: There are cases where it makes sense from a designer's pov
   Peter: what doesn't make sense is the margin collapsing turning on and
          off for inexplicable reasons
   ...
   Peter: The margin of a box should not begin somewhere far below the box,
          it should always be attached
   fantasai: You're asking for partial collapsing
   David: That's what we decided never to do in Oslo
   ...
   Alex: Let's suppose the next element has a top margin of 300px, what will
         that margin collapse with?
   Steve: It shouldn't make any difference, it will collapse with the
          collapsed result of what we get here
   Steve tries to explain the margin collapsing model
   Bert: What about when we introduce vertical-alignment?
   fantasai: We decided that that would create a new block formatting context,
             then you wouldn't collapse the parent and child margins
   Alex: ... partial collapsing
   Bert: That was the original intention, that you take the lowest of the
         bottom of the relevant margins
   Anne: Is it really worth making margin collapsing that much more complicated?
   discussion of usage of margins
   Margin collapsing is designed not for layout, but for when you have a
     continuous flow of content: headings, paragraphs, etc
   fantasai: We have several options here, let's list them
   A. Firefox's behavior, which to truncate to min-height and ignore the
      child margin
   B. Alex' 1st proposal, which is to growt include the child and min-height
   C. Opera behavior: collapse margins, then apply min-height
   D. Define partial collapsing
   David: I don't think it's really partial collapsing that you want to define,
          it's putting the edge of an element in the middle of a margin collapse
   David: But that's really a huge change at this point
   Steve: Are there other cases where this happens?
   David, Bert: There are other cases with clear where something like this
                happens.
   David: The concept of clearance was created in the discussion I'm talking
          about
   David: Before 2003 clearance didn't exist, clear just added a margin which
          then collapsed
   <dbaron> It's not really partial collapsing -- it's making the top/bottom
            edge of an element be in the middle of its margin
   <dbaron> but that's what we decided to avoid in 2003.
   Alex: but floats...
   David: We ended up saying that the position of a float can be in one of
          these places
   <dbaron> To be clear, I really don't want to change the big stuff (i.e.,
            go with (D)) at this point.
   fantasai: Do we have consensus on eliminating D?
   Steve: No, because that's what would make the most sense from a designer's
          perspective
   Alex: Min-height is as currently specified has a side-effect on margin
         collapsing that is not intuitive to the designer
   Steve: I'm trying to think of reasons why a designer would set min-height
   Alex: Let's try to come up with examples
   Alex: maybe I have business cards, and I set min-width min-height to 2/3
   Alex: so if someone's card has more info at least it shows
   Steve: in that case I wouldn't want the child margins to spill outside the
          box
   Alex: Say I have a series of paragraphs and a div around some of them
   Alex: Don't want setting min-height to make the margins between the
         paragraphs
         to disappear
   <dbaron> E. Say min-height != 0 always prevents collapsing.
   Daniel: I use min-height all the time.
   Daniel: I have a <pre>, and I want a minimum height for my code box
   <dbaron> Designers aren't really using min-height in the wild because of
            IE support, I think.
   everybody has a different idea of what designers would want for min-height
     and margin collapsing
   fantasai posts to twitter and gives up trying to minute
   Discuss dbaron's option E
   Alex: That's what IE8 impelements, and I'm not convinced it's more intuitive
   Alex: Min-height normally doesn't have any effect when the min-height is
         very small
   David: Using min-height along with an auto height has two uses
   David: You're saying to use the maximum of the content height and the given
          min-height
   David: We don't know which is going to be the normal case, it's different
          for different uses
   <anne> (in the case where you really want to use the margin of the parent
           you just use parent > :last-child { margin-bottom:0 } )
   David: in some cases your base case using the content height, and the
          min-height is an exception
   David: and in other cases your base case is the min-height, and the content
          height is the exception (for when there's too much content)
   fantasai thinks that david baron's point here is really important!!!
   <dbaron> So one other question is whether we want there to be differences
            between "height: auto; min-height: 200px" and
            "min-height: min-content; height: 200px"
   Steve: We remove the line that says min-height turns margin collapsing off.
   Steve: Then we still have the question of how margin collapsing behaves when
          it's on and min-height has an effect
   RESOLVED: min-height does not turn off margin collapsing
   fantasai is skeptical and reserves judgement

LUNCH

ScribeNick: SteveZ

CSS2.1 issue 60 - Z index
-------------------------

   fantasai: Issue #60 is that Appendix E conflicts with chapter 9 in the
             CSS2.1 text
   <fantasai> http://dev.moonhenge.net/css21/spec/z-index/
   Start with 2.1. Stacking context–like behaviour
   This topic is postponed until tomorrow so that Hixie can participate

Value pseudo attribute
----------------------

   David: this camee out of discussion on WhatWG list
   David: there was a proposal to have text (specially identified) that can be
       typed over
   David: Styling should specify how that text is specially identified
   David: this is attribute like, but not actually an attribute
   Anne: This is sort of like a DOM attribute
   Anne: it seems to apply to placeholders
   David: you could combine it with the focus selector
   <fantasai> http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-October/016544.html
   <anne> WebKit has implemented :-webkit-placeholder for this case. That
          works for focusing the input control as well and such.
   <dbaron> http://lists.w3.org/Archives/Public/www-style/2008Oct/0144.html
   <dbaron> but it would actually need input[:value=""]:not(:focus)
   Daniel: I was wrong to complain that it would be difficult to internationalize
       because this applies only to the content of an attribute
   Anne: When this facility (sample text) is added to HTML, then having a
        placeholder pseudo element would make sense
   Bert: I find that having the placeholder disappear when a partial selection
       is done disturbing; I want to be able to select the text and cut it
       and paste it
   Bert: the above point is really an HTML not a CSS point
   * Bert (About previous topic: If there is really no room to put the label
           next to the text box, then a compromise might be to put it inside,
           but in gray rather than black text. Safari's search box does that.
           Gray text looks less "selectable" than black text.)

Selectors
---------

   Does the current Hover element apply to the parent if the child is outside
     of the display space of the parent
   <fantasai> http://www.w3.org/Style/CSS/Tracker/issues/65
   <anne> test
   Daniel: e.g. a child element is relatively positioned outside its structural
           parent
   <anne>
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0D%0A%3Cstyle%3E%20div%3Ahover%20%7B%20background%3Ayellow%20!important%20%7D%20%3C%2Fstyle%3E%0D%0A...%3Cdiv%20style%3Dheight%3A50px%3Bwidth%3A50px%3Bbackground%3Alime%3E%0D%0A%3Cdiv%20style%3Dheight%3A50px%3Bwidth%3A50px%3Bbackground%3Ared%3Bposition%3Aabsolute%3Btop%3A40px%3Bleft%3A100px%3E%3C%2Fdiv%3E%0D%0A%3C%2Fdiv%3E
   <anne> (that test tests the behavior)
   <anne> (being discussed)
   Daniel: all browsers do selection of the parent
   Alex: I have an example where I show help text outside the button to which
         it applies and I want the hover to stay on if the cursor moves over
         the help text
   Anne: There are other examples which depend on this behavior
   Daniel: I want to be sure that the specification will make clear what a user
           should expect; in particular, that it is not just the physical position
           of the cursor that triggers hover behavior.
   Daniel, fantasai: this probably needs a note in the spec
   David: you figure out which element would receive the event and that element
          and all its ancestors are in the hover state
   David: you have to keep compatibility with hovering over a link or any of
          its descendents will keep the link in the hover state
   Peter: we should define the hover processing in terms of event processing
          and accept that the specs that define event processing will say what
          elements are affected
   David: the behavior of events on hidden elements is not consistent across
           browsers
   David: SVG has a property called "pointer events" that may make sense to
          adopt at some point
   David: right now this is massively undefined in the selector spec; I would
          favor more specification as would Peter
   Anne: Say when the element is in "the hover state" (as defined by some
         spec) then the behavior is ....
   David, fantaai: but is there a spec that defines "the hover state"
   David: We can define things in terms of DOM level 2 events (a REC)
   David: we are leaving the hit testing definition to some other spec, but
          we can define the rest now
   David: why are we changing only hover and not "active"
   fantasai: "active" is not well defined
   fantasai: in IE an element remains active even after a click is released
   Alex:: this works on the iPhone
   Peter: thie activity persists during a load, but not forever.
   David: does it matter that browsers have different behaviors for "active"
   fantasai: the differences are so subtle that it is OK
   David: I am OK with differing when something begins being active and ends
          being active, but not with not saying whether the ancestors are
          active or not
   fantasai: I would say that "active" does not propogate up; e.g. clicking on
             something (a span) inside an anchor makes only the span active
   <anne> data:text/xml,<html xmlns="http://www.w3.org/1999/xhtml"><style> a:active { background:lime }</style><a
href="test">a<a href="test">b<a href="test">c</a></a></a></html>
   Anne: active only applies to the element being activated is active,
         but in Mozilla and Webkit the ancestors are active as well
   Anne: I thnk that in Firefox, nested links have some anomolies in behavior
   fantasai: CSS does not define what elements get activated or for how long
   <fantasai> or what triggers the activation
   David: current spec says "while it is being activated" not "while it is
          active".
   David: not sure that this is something that should be defined differently
          in different specs
   fantasai: e.g. clicking on something (a span) inside an anchor makes only
             the *anchor* active (not the span)
   fantasai: and clicking on a triple-nested link should only apply :active
             to the link that's been activated
   Doug Schepers: there are two specs that define states: SMIL and an MMI spec
   <shepazu> SCXML and the SMIL State module define state (but I don't know
             if they are compatible with each other, much less what CSS would
             mean by "state")
ScribeNick: dbaron
   fantasai: So I want text for the :hover issue.
   fantasai: I'm ok with saying that the parent of an element that's :active
             is not necessarily :active, but that :hover is propagated to
             ancestors.
   <anne> data:text/xml testcase as link http://annevankesteren.nl/test/css/temp/003.xml
   Bert: Leave it undefined for :active because we don't know what elements
         can be activated.
   <anne> So I said that Opera activates the innermost link, where Firefox
          activates the outermost
   David: ?
   Daniel: The original issue was just this one clarification.
   David: But it was a clarification about something that's explicitly undefined.
ScribeNick: SteveZ
   <anne> And that what Opera does is currently specified in HTML5 and probably
          matches what IE does (you can test using submit buttons and links)
   Bert: if an ancestor has a hover selector does that block propogation?
   Peter: no, the existance of selectors is independent of event propogation
   Bert: if you have two ancestors with pop-ups on hover, you will get both
         unless the first one blocks propogation
   <fantasai> proposal:
   <fantasai> If an element that is ':hover' causes its parent to be ':hover',
   <fantasai> then it is possible for an element that is not underneath
   <fantasai> the pointing device to be ':hover'.
   <glazou> if :hover applies to an element causes :hover apply to the parent
            element, then it's possible :hover applies to an element that is
            not underneath the pointing device
   <fantasai> If it's possible for ':hover' to apply to an element because its
   <fantasai> child is designated by a pointing device, then it's possible for
   <fantasai> ':hover' to apply to an element that is not underneat the pointing
   <fantasai> device.
   Bert: the typical use case for "hover" is to indicate what can be activated
         so only the things that can be activated should be in hover; not all
         ancestors
   <fantasai> If it's possible for ':hover' to apply to an element because its
   <fantasai> child is designated by a pointing device, then it's possible for
   <fantasai> ':hover' to apply to an element that is not underneath the
              pointing device.
   David: the WG did not resolve that hover was heirarchical but with IE8 all
          implementations seem to make it hierarchical
   <SteveZ> N.B. the above text by fantasai is intended as a NOTE
   <fantasai> checked in
   <fantasai> RESOLVED: proposal above accepted
   <dbaron> http://dbaron.org/css/test/sec051103b is a testcase for hierarchical
            :hover (and :active)
   Daniel: although whether hover applies to ancestors is officially undefined;
           millions of websites would break if it were otherwise defined
   <shepazu> I'd just like to note that you could define "hovered" as being defined by the host language
   <shepazu> then it's not CSS's problem
   <dbaron> http://dbaron.org/css/test/sec051103b is a testcase for
            hierarchical :hover

Grammer for an+b for nth child
------------------------------


   <glazou> http://www.w3.org/Style/CSS/Tracker/issues/66
   fantasai: we had already resolved where white space is allowed: not between
             a unary operator and the integer to which it applies nor between
             the integer and the "n"
   David: the odd and even need to be case insensitive
   <dbaron> You want the n, the even, and the odd to be written using the
            {n}, {o}, etc. productions from the grammar
   <dbaron> and it would be nice to indent so the [] and () don't line up
            with the | because they look a lot like |
   Daniel: the 'n' is escapable, but not the "+" or "-"
   <dbaron> (since units are escapable, but sign is not... right?)
   RESOLVED: the proposed grammer is accepted, with the modification to
             allow the 'n' is escapable.

::selection
-----------

   <dbaron> Ah, so we haven't had the pseudo-element argument for a few
            years, so we need to do it again...
   <fantasai> http://www.w3.org/Style/CSS/Tracker/issues/67
ScribeNick: fantasai
   David: Pseudo-elements have this thing where their boundaries don't
          line up with the tree
   David: The question is do you split the <span> into 2 pieces, or do
          you split the pseudo-element into 2 pieces?
   David: The current spec says you split the pseudo-element
   Daniel: Can the pseudo-element contain more than pcdata and replaced
           elements?
   Peter: you could have a selection, for example in the example in 67
   Peter: you can't contain the children and still be well-formed
   <dbaron> The question is: Does <span>A<pseudo>B</span>C</pseudo>
            give the tree <span>A<pseudo>B</pseudo></span><pseudo>C</pseudo>
            or <span>A</span><pseudo><span>B</span>C</pseudo>?
   Peter: the HTML5 spec might say something about this, wrt malformed
          markup
   Peter: In this scenario, what you get with the pseudo-element should
          always be describable as valid tree markup
   Daniel: It's describable as a DOM range
   David: The problem is that many CSS properties, including inheritance,
          are defined in terms of a tree
   Daniel: Question remains, do I have multiple outlines for
           richtext::selection?
   ...
   David: What Mozilla actually implements now, I think, is something
          that sounds even more complicated than these two
   David: We do both
   David: We do one for the inherited properties and one for the
          non-inherited properties
ScribeNick: SteveZ
   David: Mozilla implements that 3rd option: it treats the inherited
          and non-inherited properties differently
   Daniel: I wonder if we should just remove outline from the list of
           properties allowed?
   David: I'm not even sure if that's quite what we do
   <anne> http://annevankesteren.nl/test/css/temp/004.xml
   Anne: Opera doesn't apply outline at all
   Bert: in David's solution "outline" is an outer thing so goes around
         the whole thing and "color" is an inner thing so it would be
         inside the markup elements
   Anne: It seems nobody implements outline
   Peter: What about p::selection { color: inherit } ?
   -!- mollydotcom has joined #css
   David: Warning: at some point I may want to propose styling of multiple
          ranges
   David: "background" is non-inherited so its behavior would be the same
           as that for "outline"
   <dbaron> I think for ::selection it's important that the ::selection
            is innermost for the 'color'.
   Anne: if there is a span::selecction it should apply; it does in Opera
         but not in Firefox
   <dbaron> With ::selection, do you ever get
            <p::selection><span::selection>sel</span::selection></p::selection>,
            or something else?
   <glazou> hey mollydotcom!!!!
   <mollydotcom> greetings all
   <dbaron> and how do global ::selection styles interact with that?
   <mollydotcom> catching up on the topic, having tea to wake up, be
                 with you all in a bit
   David: Suppose you have a selection that includes an element that
          is 20 levels nested
   <dbaron> If you have a ::selection{} rule and your selection is in an
            element 20 levels nested within the tree, and your background
            color is rgba(255, 0, 0, 0.2), what happens?
   <dbaron> Do you have 20 pseudos?
   David: If you have p::selection and you set a color on it and you have
          a span inside the p, you want the selection inside the span to
          have the color you set on p::selection
   David: So this is not a tree-based approach. How do you deal with
          inheritance?
   p::selection { color: blue } span { color: purple; }
   <dbaron> <p>Text << text <span>span</span> text >> text.</p>
   <dbaron> we want the "span" to be blue rather than purple
   <dbaron> We definitely don't want to distinguish "in the selection"
            from "contains the selection" because it can be half and half.
   <dbaron> What about 'color: inherit' ?
ScribeNick: fantasai
   Peter points out that Daniel's concept of a global selection is
     incompatible with the idea of styling p::selection and
     span::selection differently
   Steve: A selection is a set of DOM ranges.
   Steve: That's the One Selection
   Steve: Then there's the issue of how to style it
   Steve: The proposal is to style it as if the selection is not there
   Steve: Then go back and for the pieces that fall into the range, you
          restyle them
   Anne: That's not desired for the span case because then p::selection
         would not apply to the span nested inside the p
   David: I think it would help to have concrete examples
ScribeNick: SteveZ
   Daniel: I will come up with a list of requirements for what ::selection
           should and should not do
   Daniel: one requirement is that we do not want nested outlines
   Daniel: we want color to nest locally
   <Bert> How about: insert <::selection> at the start, </::selection>
          before every tag, <::selection> after every tag, and </::selection>
          at the end: <p>...........<<<<::>.......</::></p><::> </::>
          <p><::>......</::><span><::>......</::>>>>.......</span></p>
   <Bert> (and then think about 'outline' separately)
   ACTION: glazou, develop requirements for ::selection behavior
   <mollydotcom> I look at this and try to imagine designers having a clue.
                 It isn't working.
   <mollydotcom> just bear in mind designers want very explicit control of
                 every piece within a given selection

   ACTION: fantasai or dbaron write double-cascade proposal for ::selection

::first-line
------------
ScribeNick: fantasai
   <glazou> http://lists.w3.org/Archives/Public/www-style/2006Jan/0209.html
   <glazou> http://lists.w3.org/Archives/Public/www-style/2006Jan/0091.html
   David: I think this is what we solved by doing the inherited/non-inherited
          properties split
   David: He put a display property on the :first-line and then
          display:inherit on a span in the first line
   <glazou> http://lists.w3.org/Archives/Public/www-style/2005Oct/0163.html
   <dbaron> http://lists.w3.org/Archives/Public/www-style/2005Oct/0163.html
   David: What we used to do on this test case was crash
   David looks up what exactly Mozilla does here
   David: If you have property: inherit; on an element that is inside the
          :first-line, then we don't inherit from the :first-line
   David: for non-inherited properties
   David: The effective change for this is only when the 'inherit' keyword
          is used on a non-inherited property
   David: That's a very uncommon case
   David: It's possible we want to change the behavior on more common cases
   David: like a tiled background image on ::first-line
   David reviews the spec
   David: no, that's should probably work...
   David: So how should we be changing the spec to try to address this?
   David: The current spec says that the span is split into two separate boxes
   Daniel: How should the spec be changed to allow/require what Mozilla does?
   David: Do we want to say what Mozilla does with inheritance is allowed,
          or required, or it's undefined, or make another change
   Alex: IE does exactly what Mozilla does at this point.
   Alex: inheritance comes not from the pseudo-class but from the actual parent
   David: but for an inherited property like color?
   Alex: doesn't inherit
   David inspects Alex's testcase
   <Bert> (Is it the case that properties that don't apply to :first-line
          are also not inherited from :first-line? Or are only non-inherited
          properties not inherited?)
   <fantasai> dbaron clarifies that in Mozilla only non-inherited properties
              are not inherited from :first-line
ScribeNick: SteveZ
   David: explicit inheritance of non-inherted properties ignores the
          firstline and firstchar properties in computed the inherited value
   David: inheritence of inherited properties do use the properties of
          firstline where relevant
   fantasai: the split between non-inheritable properties do not inherit
             from the pseudo element properties and inheritable properties
             do inhert makes sense
   Alex: background and text decoration are safe to inherit
   Bert and David: position and float are not safe to inherit
   David: if you set "whitespace: nowrap" this may change the firstline
          behavior (beyond just the inheritance question).
   Bert: The keyworld inherits from either the parent of the first line or
         the firstline; which should be used?
   Bert: one rule might be to inherit from the firstline if the property
         is applicable to the firstline and the parent otherwise.
   suggested text: The portion of a child element that occurs on the first
     line inherits properties applicable to the firstline pseudo element;
     for properties not applicable to the firstline pseudo element, the
     inheritence is from the parent of the first line pseudo element
   <fantasai> s/parent/non-pseuo-element parent/
   add: The portion of a child element that does not occur on the first
     line always inherits from the parent of that child.
   RESOLVED: proposal above accepted
   David: Firefox does not have the same rules for firstletter because
          firstletter is not layout based; it is only storage order based
   Many: but, note that a quote followed by a character whose bidi order
         is opposite from the context in which the quote occurs may
         separate the quote and the following letter by the rest of the
         embedded bidi string

<glazou> ======== ADJOURN FOR TODAY ===========
* fantasai wants ideas for http://lists.w3.org/Archives/Public/www-style/2008Sep/0142.html yo

Received on Wednesday, 5 November 2008 03:49:55 UTC