Re: [CSSWG] Minutes and Resolutions F2F Kyoto Sat: CSS3 Fonts, Regions, @viewport, Variables, @supports, Selectors4, Administrivia

Hi Fantasai,

Thanks for putting together the summary in addition to the raw log.

For the CSS Regions part, my notes have a few more resolutions and action


- use flow-into and flow-from properties and explain the interaction with
the css3 contents module definition of the content property. The flow-into
and flow-from properties should be <string>
- content selection should not be mentioned in the spec.
- confirmed that the event propagation model should not be modified.
- make the section on DOM events model informative.
- CSS OM View:
    - confirmed the current proposal (NamedFlow + Element interface
    - agreed to add event on changes to regionOverflow and flowRanges


- Regions spec. editors to specify a model for breaking flow content
across areas that accounts for regions, columns and pages. Build on paged
media and propose behavior for nested flows breaks.


On 6/10/11 9:39 AM, "fantasai" <> wrote:

>CSS3 Fonts
>   - Discussed same origin restriction on @font-face. There are differing
>     opinions on whether resources loaded through @font-face should be
>     restricted or unrestricted by default. It was pointed out that the
>     restriction s on anything loaded through @font-face, not on fonts
>     only; conversely it does not apply to font files loaded via other
>     mechanisms. It was also pointed out that the suggested solutions were
>     HTTP-secific, whereas @font-face is protocol-agnostic.
>   - Discussed superscripts/subscripts and fantasai and dbaron's proposal:

>     The proposal handles nested superscripts/subscripts, changes in font
>     size within the superscript/subscript, and the inclusion of atomic
>     inlines such as images. It works y computing values that synthesize
>     the superscripts/subscripts and then undoing the synthesis settings
>     when setting characters for which specialized glyphs are vailable.
>   - Reviewed status of spec and implementations
>CSS Regions
>   - RESOLVED: Switch content-order to take <integer>
>   - Discussed syntax for pushing to/pulling from named flows.
>   - Briefly discussed integration of regions with multicol and grid
>Device Adaptation
>   - Re-reviewed the draft. Some issues were raised against the draft;
>     some concerns were raised about putting this in CSS. No objections
>     were raised for moving towards FPWD.
>Variables and Mixins
>   - RESOLVED: Allow Tab to work on a css3 variables editor's draft,
>               no guarantee we'll move it to WD
>   - Tab presented a mixins proposal and received very strong objections.
>   - Tab presented a proposal to nest style rules which received a
>     reception.
>CSS3 Conditional Rules
>   dbaron presented a draft for
>     - @supports rule to check for property:value support in the UA
>     - @document rule to apply rules to a particular set of URLs
>     - nesting at-rules inside @media
>   RESOLVED: Add css3-conditional
>Selectors Level 4
>   fantasai presented the idea of a new level of Selectors. The current
>   draft excludes pseudo-elements (which would be a separate module) and
>   adds
>     - :matches() and :not() that take a comma-separated list of selectors
>     - :dir(ltr) and :dir(rtl) that match against the markup-determined
>       directionality
>     - the ability to choose which component of a selector represents its
>       subject
>   RESOLVED: Move forward with Selectors 4
>Other: text-overflow, gradients
>   - RESOLVED: Add the two-value <string> syntax to text-overflow in
>              marked at-risk
>   - RESOLVED: gradients use bearing angles
>Administrivia: Module Template, Test Suite Owners, Charter, F2F Scheduling
>   - RESOLVED: Update all modules to the latest module template, once
>             it has been updated with the latest Snapshot wording
>   - RESOLVED: Establish official "test owner" position parallel to the
>               who is responsible for ensuring the correctness and
>               of the test suite
>   - RESOLVED: that the charter lists should be oganized not by
>"priority" but
>               by what status we expect specs to reach by the end of the
>               (and need to be edited accordingly)
>   - RESOLVED: Meet for 3 days at TPAC
>   - RESOLVED: Try to schedule a meeting in August probably in Seattle
>               or France
>====== Full minutes below ======
>   David Baron (Mozila)
>   Bert Bos (W3C)
>   John Daggett (Mozilla)
>   Daniel Davis (Opera)
>   Elika Etemad (Invited Expert)
>   Sylvain Galineau (Microsoft)
>   Vincent Hardy (Adobe)
>   Koji Ishii (invited Expert)
>   Peter Linss (HP)
>   Luke Macpherson (Google)
>   Alex Mogilevsky (Microsoft)
>   Shinyu Murakami (Antenna House)
>   Ted O'Connor (Apple)
>   Florian Rivoal (Opera)
>   Shunchi Seko (NTT)
>   Shane Stevens (Google)
>   Steve Zilles (Adobe)
><RRSAgent> logging to

>Scribe: Ted O'Connor
>CSS3 Fonts: same-origin restriction
>   jdaggett: Two issues: same-origin restriction & super/sub-script
>   <jdaggett>

>   jdaggett: starting with the same-origin restriction
>   jdaggett: came out of discussion in fonts/woff group
>   jdaggett: description of SOR used to be in an appendix of the css3
>fonts spec
>   jdaggett: fonts group's charter calls for making SOR a requirement
>   jdaggett: now we have a split between woff spec & css3 fonts spec
>   jdaggett: objection from apple that it doesn't make sense for SOR to be
>             tied to the format
>   jdaggett: we came to conclusion that it makes sense for this to live in
>             the css3 fonts spec
>   jdaggett: the text has been moved into the body from the appendix
>   jdaggett: open issues: what should the default behavior be
>   ff & ie? restrict by default, allow CORS for relaxing
>   jdaggett: annevk thinks this is weird
>   jdaggett: inconsistent with other parts of web platform
>   jdaggett: problems with data leakage
>   jdaggett: e.g. canvas' dirty flag
>   jdaggett: [describes example of embedding security problem on
>   jdaggett: these issues are beyond fonts & images
>   jdaggett: there are even issues if script can see the response code
>             certain cross-origin images
>   jdaggett: we have normative prose (section 4.8.1)
>   jdaggett: annevk doesn't like the default restriction
>   jdaggett: he'd prefer no restriction by default & users would need to
>             explicitly set an exception
>   sylvaing: annevk's first objection is that CORS isn't the right tech
>for this
>   jdaggett: [as annevk] the web has evolved because people can link
>   florian: why solve this for fonts only?
>   Bert: fonts are different
>   <jdaggett> siteA --> siteB gimme xxx
>   <jdaggett> siteA <-- here you go (no CORS header)
>   <jdaggett> UA sees no CORS header, doesn't download resource
>   jdaggett: how does the existing text in 4.8.1 work?
>   <jdaggett> siteA --> siteB gimme xxx
>   <jdaggett> siteA <-- here you go (CORS header: siteB use ok -or- all
>sites ok)
>   <jdaggett> UA sees CORS header, check for a match, downloads resource
>   jdaggett: instead, annevk's proposal:
>   <jdaggett> siteA --> siteB gimme xxx
>   <jdaggett> siteA <-- siteB here you go (no From-Origin header)
>   <jdaggett> UA sees no From-Origin restriction, <uses default behavior>
>   <florian> link to where annevk discusses this:

>   jdaggett: explicit restriction instead of explicit relaxation
>   <jdaggett> siteA --> siteB gimme xxx
>   <jdaggett> siteA <-- siteB here you go (From-Origin: no cross-linking
>   <jdaggett> UA sees From-Origin restriction, doesn't download resource
>   jdaggett: this could be used for images, scripts, wider set of
>resource types
>   jdaggett: both ff & ie have implemeted the cors approach
>   jdaggett: others haven't implemented either
>   jdaggett: consensus that some kind of mechanism is a good thing
>   jaggett: don't want to allow cross-origin font linking by default
>   jdaggett: the cors approach hits the 80/20 point for fonts
>   jdaggett: vs. the from-origin proposal, which requires you to raise a
>             flag to get the typical behavior
>   florian: yes for fonts, but for all resources, from-origin hits the
>            default correctly
>   jdaggett: should the default for fonts be different?
>   jdaggett: our (ff) security guys think all new resource types should
>            default to SOR
>   TabAtkins: [describes attack that extracts font data out of a tainted
>               <canvs>]
>   Bert: the problem is the javascript, not the resources
>   TabAtkins: then you wouldn't be able to do anything with fonts in
>   TabAtkins: .g. canvas
>   dbaron: or figure out the width of text
>   Bert: there should be 2 kinds of things on the web: programs and
>   Bert: text/html is document, maybe application/html could have these
>        restrictions
>   jdaggett: existing content
>   Bert: the power of the web is transclusion
>   jdaggett: we can't get there from here
>   TabAtkins: [describes <iframe> v. <img> differences]
>   Bert: fonts are different
>   Bert: you can't right click on a font
>   Bert: this is why we have woff
>   Bert: need to say "this font is for this document"
>   jdaggett sylvaing: that's not what woff does
>   [eot v. woff, root string disagreement]
>   plinss: </tangent>
>   jdaggett: still contention about mechanism & default
>   jdaggett: this is not a css-only discussion
>   jdaggett: is a web-wide discussion
>   jdaggett desn't want to have things in css3 fonts that will block
>            it moving forward
>   jdaggett: has labelled what impls are doing & put wording that
>             captures where this will change if consensus changes
>   jdaggett: what the consensus  will be isn't quite clear
>   jdaggett: marked this as risk
>   jdaggett: does that suffice to move this forward? i don't know
>   sylvaing: from-origin is broader, will be more controversial
>   jdaggett: so it'll take longer
>   florian: opera prefers annevk's psition, but isn't locked into it
>   jdaggett: annevk prefers a mechanism to work across resource types
>            and the default should be no restriction
>   jdaggett: howcome is ambivalent here
>   sylvaing: This is about any resources loaded by src: in @font-face,
>not about
>             fonts v. other resources
>   fantasai: so images loaded via @font-face would be restricted by
>   sylvaing yes
>   jdaggett: we can't go back and change the default for images
>   jdaggett: wante to make people aware of the wording here that this is
>             at risk etc.
>   plinss: bottom line is we're not making the restriction decision here
>           in csswg
>   plinss: you want to decouple so we can advance
>   jdaggett: yes
>   jdaggett: delicate negotiations with the web fonts group
>   Bert: not for csswg, because fonts can be embedded via xsl, etc.
>   hober: we define @font-face, so we define restriction for that
>embedding point
>   everyone: [we didn't develop woff for origin restriction reasons]
>   Bert: sounds like annevk's proposal is better
>   Bert: what is the reason for woff if all fonts are restricted?
>  jdaggett: existing font formats weren't for the web, etc., needed to
>             be a web font format
>   szilles: woff had 2 requirements: transmission prevent dropping into
>           client os, 2. can post on web without anyone willy-nilly
>            being able to use it
>   jdaggett: @font-face is here, so restriction has to be here
>   jdaggett: web fonts group has the format
>   web fonts charter isn't woff-specific
>   plinss: bert's point is that we & svg etc should use same mechanism
>   plinss: we shouldn't be deciding the restriction
>   plinss: is there an actionable item here?
>   jdaggett: proposals have to be detailed and go to web fonts group &
>css group
>   florian opera is satisfied with this wording
>   florian: we'd welcome clearly-defined alternatives
>   florian: this is good enough, allows for alternative proposals
>   ?: we can't go to CR with this
>   jdaggett: we can mark it at risk
>   Bert: what about non-HTTP urls, we need to still work
>   plinss: yes, this is very http-specific
>   szilles: it's not woff pushing it back on us, they were conviniced this
>            is acceptable solution to one of their problems
>   szilles: if we push back, woff group would have to start over
>   jdaggett: [doesn't want to create other thing that we can't reference
>              normatively]
>   jdaggett: put it here, mark it at risk, and go on
>   jdaggett: by the time we have impls, test suite, etc. this will be
>             out one way or another
>   jdaggett: font EULAs say you need to do referrer checking when ua
>             support [sor mechanism]
>   fantasai: if user turns off Referer header, can't get fonts
>   jdaggett: post detailed proposals, not just "i want this"
>CSS3 Fonts: superscripts and subscripts
>   <jdaggett>

>   jdaggett: Next issue: dealing with superscripts and subscripts
>   'vertical-position' property
>   jdaggett: lets you turn on super/sub-script variants in fonts
>   jdaggett: within the font, variants of the number 2, say, that fit
>             in normal em box
>   jdaggett: by using this, line box doesn't change, etc.
>   jdaggett: currently, baseline shifts and font size changes
>   jdaggett: so you see changes in the line box
>   jdaggett: doesn't look good
>   jdaggett: when you shrink down the normal-sizeglyph, strokes shrink
>             too, so super/sub scripts don't have same typographic color
>             as surrounding text
>   jdaggett: 'vertical-position' addresses lots of cases [footnotes, etc.]
>   jdaggett: doesn't address putting images in <sup> or nesting other
>             sortsof things in <sup>/<sub>
>   jdaggett: superscripts&subscripts are semantic, so can't be treated
>             like other font variants
>   szilles: we've already discussed this; what's te new information?
>   jdaggett: if I use 'vertical-position: superscript' or s^2 and look
>             at content in an older browser, I see s2
>   jdaggett: authors need a way to ensure the right thing happens
>   jdaggett: the current spec makes 'vertical-position' a shorthand
>   jdaggett: [reads from section 6.4 on how fallback works]]
>   jdaggett: allows you to make styles for <sub> and <sup> that work
>             well in older UAs, as long as you only have text
>   <jdaggett>

>   fantasai describes proposal
>   fantasai: new property 'magic'
>   [fantasai & dbaron's replacement for vertical-position]
>   maic: none | super | sub
>   fantasai: [describes proposal in email jdaggett linked above]
>   fantasai: if magic matches verticl-align, then computed font size is
>             set by multiplying size ratio to parent's font size & we
>             ignore specified fontsize
>   szilles: you're setting the font size to the size that's in the font
>   fantasai: yes
>   dbaron: let's explain the gals of this approach
>   fantasai: we're trying to handle basic super/sub scripts with special
>             glyphs if available, & synthesizing if they're not available
>   fantasai: second goal: handle atomic inlines & nested super/subscripts,
>             what happens if you have a span with changed font size inside
>             these thigns
>   fantasai: we're not perfectly handling mixing special glyphs with other
>             content
>   fantasai: if font metrics are off, such mixed content will look ugly
>   dbaron: but that's true of all proposals that use font's special glyphs
>   jdaggett: adobe ships same same metrics in all of their fonts, which
>             shows that such metrics are unreliable
>   jdaggett: 99% use case, you'll (probably) be ok
>   fantasai: also don't hande using lengths or percentages for vertical
>             align & mixing with this feature
>   fantasai: won't get the right glyphs if you try to position the
>             super/sub-script differently than what the font does
>   Bert: [expresses scepticism]
>   jdaggett: this could be a case for @supports
>   jdaggett: if someone's explicitly enabling this, we document that it
>             works this way, so they're aware of the tradeoffs
>   dbaron: fantasai & my proposal makes this more complex, but allows
>           ua stylesheet to have this on by default
>   plinss: So basically you synthesize superscripts/subscripts font size
>           and vertical alignment, and anything but the special glyphs
>           will draw in synthesized state
>   fantasai: yes. You reverse the synthesis settings in order to draw the
>   szilles: is this opentype feature turned on by default?
>   jdaggett: we're not talking about unicode code points
>   plinss: if you're using those code points, you're not using <sup> or
>   Bert: you have super, sub,and none, but why not just 'yes' / 'no'?
>   Bert: turn it on from root elemen
>   fantasai: That's one of the alternatives listed at the bottom of the
>   jdaggett: vertical-align controls the baseline, if other properties
>             affect this, this makes me uncomfortable
>   jdaggett: behavior of this feature dependent on this other value
>   szilles: we've got other such cases
>   szilles: property-refining properties are common
>   plinss: it's a per-glyph undo of what vertical-align does
>   fantasai: won't change the line box if you have the right glyphs
>   jdaggett: font metrics aren't correct
>   [plinss fantasai: talk re: vertical-align causes baseline change in
>    even empty line boxes]
>   plinss: as soon as you start nesting, you want to affect the line
>   jdaggett: divergence between opentype spec and what fonts actually do
>   jdaggett: i want to set this up for people who know how to use it,
>             without breaking existing content
>   Bert: what happens if font has some of the special glyphs but not
>   jdaggett: you'll synthesize
>   jdaggett: colr won't match, stroke width will be different in
>             case
>   szilles: if you don't have all the glyphs, synthesize everything
>   plinss: if you don't have all the glyphs, pretend you have none
>   fantasai: allow the UA to be smarter, but don't require complex
>   jdaggett: wants to work on impl & experiment
>   jdaggett: expects to see things we're not anticipating
>   fantasai: that's a reasonable thing to do
>   jdaggett: same fallback issue as with vertical text
>   szilles: put a note in that points to the font feature with an
>            warning
>   fantasai: we can do that in the line box spec
>   szilles: was strongly in favor of fantasai/dbaron's proposal, but sees
>            point of @supports approach
>   fantasai: author of stylesheet might not know what's in the content
>   szilles: italic or bold isn't a problem
>   Bert: magic property seems short; can it be keyword(s) of font-variant
>         property?
>   fantasai: might make sense
>   jdaggett: tricky because font-variant is shorthand (reset problem)
>   szilles: can we put it in @font-face?
>   florian: "this font supports being magic; use it if you can"
>   fantasai: not tied to the choice of the font
>   fantasai: can we link to this email from the spec?
>   jdaggett: would pefer note that says there are alternate proposals
>   jdaggett: i have to try to impl this before we can do more
>   fantasai: what other open issues are in this spec?
>   fantasai: maybe we should defer this issue so spec can reach LC
>   jdaggett: there are a number of issues
>   jdaggett: is tightening the wording based on impl feedback
>   jdaggett: wanted to make people aware of the issue & hear other ideas
>   fantasai, Steve: i want to have this proposal findable from the spec
>Flexbox update
>   alexmog: in ie10 we have fairly complete impl of spec
>   alexmog: for ie10 we won't have the new syntax
>   alexmog: don't wnt two prefixed syntaxes
>   alexmog: the timing isn't right for ie10
>   alemog: for new spec, we want to see what other browsers are doing
>   alexmog: we need to have multiline back in spec
>   TabAtkins: will be bringing multiline back
>   TabAtkins: webkit is working on impl of the new spec
>   TabAtkins: will see that in the near future
>   alexmog: if the spec stayed in the old syntax, we could drop prefix;
>            but we don't need to reopen that
>   dbaron: we [ff] also have someone working on the new spec
>   sylvaing: any issues, dbaron?
>   dbaron: haven't heard any, don't know how far along things are
>   alexmog: we can map most of new syntax t old impl; biggest difference
>            is using the flex function notation
>   alexmog: would require parser change
>   alexmog: different alignment too
>   alexmog hopes feedback from other impls will help next version of spec
>           stabilize
>   sylvaing: flex nottion, alignment modes, multiline--want to see
>             feedback from other implementors
>   plinss: anything else?
>   alexmog: whats' the eta?
>   TabAtkins: wants to publish a new wd sometime by the end of June
>   Tabtkins: hopefully ready for LC soon after that
><br duration="15min" />
>Scribe: TabAtkins
>CSS Regions
>   vhardy: content-order is a float right now, which people say are odd -
>           z-index is an integer, frex.
>   vhardy: We did it that way so that you could, say, insert between two
>           consecutive items.
>   vhardy: But the precedent means we should just switch to <integer>s.
>   Bert: Is there any way to avoid using numbers at all?
>   szilles: The regions aren't inherently ordered - they just pull
>            whatever's in the stream.
>   Bert: Why not push to a stream?
>   vhardy: We thought of that model, but given that many regions aren't
>           named, it becomes more difficult.  It seemed simpler to name
>           the flow and have regions pull.
>   vhardy: We sketched out some ideas for an @region-chain rule where
>           you'd list the sequence of regions.
>   Bert: That's similar to what I did with Template - a property that
>         listed a chain of cells that content flowed across in order.
>   szilles: That fails somewhat in paged media, where you can have
>            copies of cells with the same name.
>   vhardy: I also had an idea to have a region-name property that would
>           name a region, but it didn't seem quite harmonious.
>   vhardy: Can we agree on moving it to <integer> for now?
>   RESOLVED: Switch content-order to take <integer>
>   vhardy: Another syntactic issue is that the 'flow' property uses
>           <string> for value, and is referred to by a string.
>   vhardy: So the question is should that just be an ident?
>   szilles: Didn't we have a similar discussion in february?
>   <arronei> Ident +1
>   TabAtkins: That was for fonts, which are a problem because their
>              names come form outside CSS. It's okay to do idents in
>              author-defined syntax.
>   plinss: But you do sometimes shoot yourself in the foot when you
>           use idents, because it makes it hard to add new
>           language-defined idents in the future, as you might collide.
>   plinss: If it's guarded as a functional value, it's a bit better.
>   szilles: I'd be afraid of it being a quoted string in 'flow' and
>            unquoted in a function in 'content'.
>   hober: Yeah, not doing that. Consistency.
>   <arronei> Yeah but I don't want a flow to have a string like this.
>             "{}{]}##<"
>   TabAtkins: I think that we can work our way around the problem later
>              if we just restrict the 'flow' to a single author-defined
>              ident for now.
>   plinss: We'll need to do something like a dummy keyword so we can
>           have a distinguished syntax for CSS-defined values, which
>           is dumb.
>   TabAtkins: Another option is to make 'flow' take a to(<ident>)
>              function for now, which pairs with the from(<ident>)
>              function in 'content'.
>   szilles: That sounds good.
>   Bert: I'm not sure we need from(), and so to() seems unnecessary too.
>   szilles: You definitely need from(), to disintiguish it from other
>            values in 'content'.
>   <arronei> Functions removes the issues if you want to add keywords
>   Bert: I'd need to familiarize myself with the syntax more, but
>         'content' may not be the right place.
>   alexmog: Given that 'content' sets the contents to something other
>            than the natural contents, it seems appropriate to use it
>   plinss: Potentially we could use another property, and still get the
>           ability to add things to the flow's contents by using the
>           'contents' keyword (defined in CSS3 Content).
>   szilles: But that's another issue.
>   [chatter about 'content' and potential 'flow-from']
>   szilles: Wouldn't that mean I need to set two properties?
>   plinss: No, setting 'flow-from' would just change the meaning of
>           "content:auto" to pull from the region.  And then potentially,
>           when "content:contents" is defined, that can combine.
>   alexmog: We're afraid of author-defined idents colliding with future
>            CSS-defined keywords, right?
>   alexmog: I think from the OM model pov I'd prefer two properties that
>            take strings than something that takes one-off functions.
>   <arronei> I still prefer content: from(...) for it's simplicity.
>   TabAtkins: Arronei dislikes strings because it becomes easier to write
>              unreadable region names.
>   szilles: You can write unreadable idents too.
>   <arronei> But it's not as easy to do
>   Bert: Can we duplicate flow content across multiple regions?
>   vhardy: That's an issue that was brought up on the mailing list.
>   Bert: In previous approaches to this idea we named the flow
>         to allow duplication. Newer approaches like Grid didn't need
>   [some difficult-to-understand discussion about being able to omit the
>    name of the flow]
>   Bert: template is naming regions, but not naming flows
>   [moving it to the list so we can throw down syntax, because everyone's
>    confused]
>   vhardy: Currently there's nothing about selecting the content in a
>   vhardy: User selections, that is.
>   dbaron: A single selection usually operates in terms of the DOM.
>   dbaron: Which could be confusing if you select across a region, and end
>           up getting some content elsewhere in the page.
>   dbaron: You could do a more visual-based selection, but no impl does
>           that yet.
>   plinss: I built a box-selection extension for Firefox that
>           the ranges.
>   fantasai: Selection is out-of-scope for this module.  Right now it's
>             UA-dependent and up to them to come up with good ideas.
>   szilles: What do we do with bidi right now?
>   fantasai: We specify absolutely nothing for that right now.
>   vhardy: Okay, so I'll remove the issue about selection from the spec.
>   vhardy: Next is about the event model.
>   vhardy: Right now there's a section that says event propogation is not
>           modified - it runs on the plain DOM.
>   vhardy: But I've had some requests that you can listen for, say, clicks
>           on a region.
>   TabAtkins: I don't want to think about event propagation being
>              to exactly when we do style recalc.
>   vhardy: Okay, so we'll keep it DOM-based.  Should I remove it entirely,
>           or make it an informative note?
>   TabAtkins: If people have asked you about it, so you should probably
>              keep a note around.
>   Bert: If you're writing an editor, you may want to, say, select a
>         to put a background on it.  How would you do that?
>   TabAtkins: From an interaction point of view, this is roughly similar
>              making a bunch of divs and then absposing content to make it
>              look like they're inside the divs. If you click the content,
>              the click fires at it and walks up the dom that way. If you
>              click the area around the content, you'll get the div.
>   szilles: Is there a way to ask an element what region it's in?
>   vhardy: That'll be in the CSSOM section.
>   szilles: That seems to satisfy the rquirement.
>   vhardy: Now, the CSSOM View section.
>   vhardy: It has two parts.  The first is the "named flow interface".
>   vhardy: [explains the "named flow interface" section]
>   vhardy: It's meant to allow you to see if the flow fits in the regions
>           that exist.
>   alexmog: Why do you have a "named flow" interface and not just a
>            of regions?
>   vhardy: If you only have it on regions, you can only access regions
>           are actually elements.
>   alexmog: If you want that, then just add elements.
>   szilles: That violates that "css zen garden" school of philosophy.
>   TabAtkins: We can already interact with pseudos in at least some ways
>              via the CSSOM.
>   alexmog: I don't think it's necessary to extend the "Element" concept
>            to pseudos.
>   [...minute overflow]
>   alexmog: It's good to still have an event that tells when a region
>   TabAtkins: Like when a region overflows?  Or more like a mutation event
>              for contents in the region?
>   alexmog: When the contents of the region changes.
>   dbaron: What sort of changes do you want to know, exactly?
>   alexmog: Whenever the contents change.
>   dbaron: We already have onresize
>   TabAtkins: I think what's useful is notification when a region goes
>              overflow state and notification when a region becomes empty.
>   vhardy: So basically you're saying that you can get X information from
>           region, and you'd like to be notified about changes in that.
>   alexmog: Yeah.
>   TabAtkins: I'd want to separate the ideas of a "regionEmpty" and
>              "regionOverflow" events from a "regionMutation" event.
>              The former are easy to see the utility of, the latter not so
>              much imo.
>   vhardy: So I can put them all down in the spec for now, and we can see
>           what exactly we want later.
>   vhardy: So next topic, how do we access regions?  Through an element,
>           or through the flow?
>   vhardy: So we can stick to the element interface in 4.2 right now, or
>           we go from the Document which returns a NamedFlow abstraction,
>           which gives you access to the list of regions.
>   szilles: I tend to like the last one, because it ties into the Flow
>            concept, which is primary.
>   hober: I don't like the Element version, because it separates regions
>          into first-class and second-class regions - DOM are first-class,
>          pseudos are second-class.
>   TabAtkins: There really *are* first and second-class, though. Pseudos
>              can't have listeners on them, for example. If we fire
>              "regionEmpty" events, frex, you can only listen for that on
>              DOM elements acting as regions.
>   vhardy: I could fire events on the NamedFlow interface instead.
>   TabAtkins: My primary problem is that making pseudos nearly-real gets
>              closer to exposing the transformed formatting structure
>              that CSS exposes into a real tree.  So far we've been able
>              to hide that for the most part.
>   szilles: We can just focus on Flows as a concept, rather than pseudos.
>   vhardy: (1) Current spec is minimal functionality for all regions
>           (2) minimal funcitonality for pseudos and full for DOM
>           (3) full functionality for DOM elements, none for pseudos
>           (4) full functionality for both pseudos and DOM
>   vhardy: And this is kind of a requirements discussion.
>   vhardy: I'd prefer 4, even though it's painful.
>   alexmog: I think we should start with DOM and see how far we can go.
>   TabAtkins: I think we'd be okay with functionality for DOM elements,
>              plus a simple way to ask a flow if it's overflowing.
>   TabAtkins: Basically, what's in the spec.
>   alexmog: If you duplicate a flow into multiple views, you can't get a
>            single answer to "is the flow overflowing?".
>   vhardy: Right now multiviews don't exist - they're talked about in an
>   vhardy: So I'll keep it as it is right now, and put in an issue
>           accessing the flow directly.
>   vhardy: Next is about content duplication (multiviews).
>   vhardy: Right now, if you put an element into a flow, it gets displayed
>           once - a region consumes it and then it's not available
>   vhardy: Someone asked if there's a way to duplicate flow contents.
>   vhardy: It would cause a lot of issues, though, so right now I suggest
>           not doing it.
>   fantasai: Wouldn't this let you do pullquotes?
>   vhardy: From talking to authors, it looks like pullquotes are very
>           the literal content from the document.  There are rewordings,
>           elidings, etc.  They're really separate content.
>   szilles: Another use-case is ToC.
>   vhardy: For now, Regions is complex enough that I think we should skip
>           it for now.
>   plinss: I think it's appropriate to push it to Regions 2.
><br type=lunch duration=1h/>
><fantasai> jdaggett:

><jdaggett> hmmm, that's in an example
><jdaggett> that wording isn't strong enough
><fantasai> what is not strong enough about it?
><jdaggett> form elements are included in this list
><jdaggett> *normative* wording needs to say this includes form elements
><jdaggett> otherwise you give folks too much weasel room
><fantasai> form elements are either replaced, or they're not
><fantasai> if they're replaced, then that word applies
><fantasai> if they're not, then 'writing-mode' applies because it's CSS
><fantasai> where's the gap here?
><jdaggett> well, we already have problems because css sorta affects them,
>            sorta doesn't
><jdaggett> just do the right thing... ;)
><jdaggett> you understand and mean the sentence to mean xyz
>ScribeNick: fantasai
>   Topic: Afternoon Agenda
>   Discussion of agenda for this afternoon
>   Florian: Would like device adaptation, should not take long
>   Tab: I want variables
>   that was what we agreed
>   the normative text is above the two examples
>   dbaron: would like to discuss @supports briefly
>   Topic: F2F Scheduling
>   plinss: Proposal is to possibly add another F2F
>   dbaron: Feels like we have a lot to do, and have a pretty crammed
>           schedule here
>   dbaron: Our summer meeting is at the early end, and the next meeting
>           is a shortened meeting at TPAC
>   dbaron: We have only TPAC for the next 9 months
>   dbaron: So either we need another meeting, or significantly longer at
>   Vincent: Personally propose second meeting, gives us time to work
>            on drafts in between f2f days
>   some concern about people who have to travel
>   jdaggett: Can't travel in September
>   suggestion to do combined fx and css meeting in August
>   plinss: Missing ppl who likely to have date conflicts
>   Bert: I have some budget problem, unless I host it myself
>   plinss: A lot of ppl would have trouble paying for another trip this
>   plinss: unless we do Europe or Bay Area
>   Alex: Could do 3 TPAC days plus another meeting
>   dbaron: For the 2 TPAC days, we should assume one full day of CSSF2F
>           amount of work
>   fantasai: Likely options are West Coast or Europe to reduce budget
>   fantasai: Note TPAC is in bay area
>   fantasai: Who's got budget constraints?
>   Bert, Vincent maybe, Daniel probably, anyone else?
>   Alex: For some ppl end of year is July 1st
>   dbaron: Would be nice to know where TPAC and AC will be
>   plinss: I'm hearing another meeting would be good, and adding a day
>           to TPAC would be good
>   RESOLVED: Add a day to TPAC
>   RESOLVED: Try to schedule a meeting in August probably in Seattle
>             or France
>Device Adaptation
>   danield: On desktop browsers viewport is same size as the window
>   danield: On mobile devices, that's not true.
>   danield: You can force page to lay out at device width or arbitrary
>   danield: So the veiwport meta tag is obviously a meta tag
>   danield: One problem with this currently is it's not completely
>   danield: There isn't a full spec available to the public
>   danield: undefined whether commas or semicolons used, e.g.
>   danield: If I do this, it's viewable without zooming
>   danield: The details .. Apple currently
>   danield: The width can be in pixels or same as device width
>   danield: Can also set scale, to not allow user to scale, so it behaves
>            more like native app
>   danield: but has accessibility problem
>   danield: This W3C CSS spec CSS Device Adaptation effectively lays out
>            what exists as a CSS specification
>   danield: Benefit is it's an open spec, also it's not content it's
>   danield: The syntax of it is [shows syntax]
>   jdaggett: What have Safari guys said about this?
>   plinss: They said the meta tag is a hack and they'd like to get rid of
>   danield gives demos
>   danield: We have prefixed demo in Opera
>   jdaggett: So what would be the meaning of this for desktop browsers?
>   danield: Probably nothing
>   fantasai: where do you draw the line between desktop browser and
>             non-desktop browser?
>   plinss: I would think that any rules like this could be targetted
>           with media queries
>   jdaggett: It seems weird that you're implying that a desktop browser
>             would blow these off
>   danield: So maybe you'd show it at 320px and zoom in
>   plinss: zooming could be a UI choice
>   plinss: Might have other reasons to use this, e.g. someone might want
>           to display their page as landscape paged
>   dbaron: A lot of this is really a hack to get around the fact that vast
>           majority of pages on the Web don't work on mobile the way
>           were originally specified
>   dbaron: So they had to come up with this zooming thing
>   dbaron: viewport meta was designed to allow pages to opt out of that
>   jdaggett: You're saying that it should be shown ...
>   ?: That depends on the page design
>   discussion of designing pages for mobile
>   jdaggett: I don't think all pages that fit into the idea of designing
>             for 320px
>   fantasai: Right. But if there's a minimum width beyond which the page
>             design doesn't work, that width should be set as min-width
>             on the root element
>   fantasai: And then the UA knows to display at minimum at that size and
>             zoom out accordingly.
>   Florian: The iPhone's zoom and pan model is good for the Web as
>             designed.
>   Florian: You can have a media query and design for the small screen
>   Florian: But if you don't do that, then pan+zoom is better
>   plinss: Most of the pages that use this meta tag have different content
>   plinss: my mobile banking has mobile versions of their pages --
>           down content
>   plinss: wikipedia does the same thing
>   Florian: It's valid to use this
>   Florian: And it's valid to us min-width as fantasai said
>   Florian: But one method is in use
>   plinss: right, I agree with fantasai that honoring the width and height
>           of the root element would be better, but there are a lot of
>           that don't do this
>   danield: If I set the width of the root to 320, then I have all this
>            blank space I scroll around in
>   fantasai: That's kindof stupid then
>   plinss: That's a bug. If there's nothing to scroll to, don't scroll to
>   plinss: If you don't have overflow, you shouldn't scroll to it
>   ?: Another issue is, if you do set the width of the root element, but
>      have a long string that sticks out
>   fantasai: then that's overflowing the ICB. You should be able to scroll
>             to it, but it's outside the ICB.
>   ...
>   plinss: I'm concerned about having a zoom control in CSS
>   danield: So author should not be able to turn off zooming?
>   plinss: Why should I be *not allowed* to zoom in on a page?
>   plinss: Designer designed page for my iPhone, but I'm old and I want
>           to make it bigger. Why can't I do that?
>   ?: First reason is you want to disable zooming gestures from zooming
>      the page to use them for something else
>   ?: Say you have a webapp inbox that's just a vertical column of
>   ?: If the user is allowed to zoom and pan, and therefore change the
>      so that they can pan
>   ?: then that changes the interaction with the app
>   plinss: That's a usability issue, that's not something web page authors
>           should be able to dictate
>   ?: I think web page authors should be able to dictate
>   Bert: But if they create a page that's unusable...
>   plinss: Firefox zooms in and out on my desktop. Should I not be able to
>           do that?
>   dbaron: This is a different notion than the zoom in your desktop
>   dbaron: Someone could add zoom like in desktop browser to a mobile
>           but this is a different thing.
>   plinss: Zoom is a UA thing. Not something the web author should be able
>           to override and disable
>   dbaron: WebApps need the ability on a mobile device to use the gestures
>           that in this default huge-page scenario that are used for other
>           things
>   plinss: That's not a CSS issue, that's an event model issue
>   ...
>   sylvaing: They also want to turn of user-selection, e.g. in a menu in
>             their webapp
>   Florian: We think the spec is good and needs more review, so we want
>            to do a WD
>   dbaron: I think you should have something in the spec that answers
>           John's question
>   dbaron: The question is, what does this do on the desktop browser?
>           (And what's a desktop browser)
>   Florian: So do we do that as an editor's draft or what?
>   fantasai: You have two options: address it in the draft, or mark it
>             as an issue.
>   Bert: 2 questions
>   Bert: What's interactions of @viewport and @page
>   Bert: If you put @viewport, can you put @viewport in @media? Say what
>         it means?
>   fantasai: would it make sense to have the media query in the @viewport
>             directly?
>   Florian: Question of when you match media queries, before or after
>            processing @viewport
>   fantasai: Similar to @page. Copy text from @page?
>   dbaron: I'm not convinced this belongs in CSS; it really seems like
>           a different layer.
>   Bert: I would throw away pixel-sized viewports. Should never use pixel
>   ? talks about dashboard widgets
>   <dbaron> fantasai, I don't see text in css3-page that describes how
>            'size' and media queries interact.
>   ACTION: Rune add 3 questions above to draft
>   <trackbot> Created ACTION-328
>   Bert: I'm fine with publishing if there's red text making it's clear
>         that there are issues
>   plinss: Yeah, just opening it up for discussion. Might decide not to
>           do this, but need to discuss it
>   dbaron: I'm somewhat concerned about things progressing down REC track
>           just because they're on the REC track even if it's not desired
>           to move down REC track
>   dbaron: Would like document status to discuss status of the document
>   fantasai: Problem is there's so much W3C boilerplate in the status
>             section that nobody ever reads it
>   <dbaron> <h2>Status of this Document</h2> should have a subsection
>            called <h3>Status of <em>this</em> Document</h3>
>Variables and Mixins
>   plinss: I would like to set a time limit on this discussion
>   Tab: half-hour
>   plinss: ok
>   Tab: This is the draft I have right now.
>   Tab: Variables is sth we've talked about for a decade
>   <dbaron>

>   <shans> oh :)
>   Tab: It's never gotten anywhere unfortunately, but it's more and more
>        necessary as years go by
>   Tab: Applications keep getting more complex
>   Tab: CSS include more and more duplication
>   jdaggett: Don't think this is delayed due to desire to solve problem
>   jdaggett: Just there's hard problems to solve
>   Tab: Just want to make sure group wants to work on this
>   Florian: Not sure that's the universal view
>   Florian: Variables is a hard problem, but we've solved harder problems
>   Florian: It makes things a little more difficult for authors to
>   Florian: For the big guys, this is not necessary, because you have
>            a backend system that can generate that on the fly
>   Florian: For small ppl learning CSS from a book, this is likely
>            to go way over their head.
>   Florian: It gives some convenience, but doesn't allow anything new.
>   Florian: Things that this simplifies can be done on the server side
>   Tab: I think your concern about small authors being confused is
>totally wrong.
>   Tab: If you're doing minor page of few hundred lines, you won't need
>   Florian: But you'll see it anyway
>   ...
>   Sylvain: If you think CSS is easy, you're crazy. Cascading and
>            inheritance is hard
>   ?: Variable declarations are easy to understand.
>   Tab gives example of modifying a color everywhere.
>   <sylvaing> (meaning it's 'crazy' to say CSS is easy until this
>               capability is added)
>   Alex: We have 3 issues
>   Alex: 1. There are reasons for variables.
>   Alex: 2. Hard problems for variables
>   Alex: 3. What Tab is proposing
>   Bert: Different people may want different things from variables.
>   fantasai: If you look at a real CSS preprocessor, it does a lot of cool
>             stuff. I'm concerned about going down that path.
>   Tab summarizes his proposal.
>   @var $main-color blue;
>   p {
>     color: $main-color;
>     background: url(foo) $main-color;
>     list-style-image: radial-gradient($main-color, $secondary-color);
>   }
>   Tab: Not allowed to define cycles, but allowed to use variables within
>        variable declarations
>   Tab: Variables are global
>   Tab: last declaration wins
>   Tab: Not expanded as parse time
>   Florian:
>     a = foo
>     b = a
>     a = bar
>   Florian: What's b?
>   Tab: bar
>   Alex: What about naming conflicts, e.g. if I import a style sheet that
>         uses the same name I'm using
>   ?: You want your variable names to be conceptual.
>   ...
>   dbaron: One thing ppl wanted with variables was ability to change them
>           dynamically later on from JS
>   dbaron: If you want that, I don't see how to have the later set
>           overrides the earlier set.
>   Tab: This is consistent with defining identifiers in an at-rule
>   Tab: e.g. with @font-face
>   jdaggett: This is actually wrong. If you look very carefully, we have
>             a unicode-range.
>   jdaggett: The presence of that means what you just said is not correct
>   jdaggett: For a single set of @rules, you can have multiple fonts.
>             You can have multiple @font-face rules
>   dbaron: @font-face rules are mostly additive, rather than replacing
>   jdaggett: They will have a computed unicode-range, which is the
>             intersection of the actual unicode-range and the cmap
>   dbaron: And it also depends on whether the font can be loaded
>   dbaron: @font-face is the worst possible example you could have picked
>   Florian: Even though you define how collisions are resolved, you still
>            get them and you reduce the shareability of CSS
>   Tab: Ok, that I can agree with that. If you're creating a library then
>        you have that issue.
>   Tab: One way to deal with that is if you're creating a library,
>        prefix your names.
>   Tab: Another option is a namespacing option
>   fantasai notes that the CSS Namespaces module's syntax could be reused
>            if it came to that...
>   <fantasai> not that I think we should go there
>   discussion of other author-defined names in CSS: counter-style,
>     keyframes, etc.
>   Tab: Having functionality of having variables that can refer to other
>        variables is great
>   fantasai: do you need that for JS-accessible variable,s or just for
>             macros variables (parse-time substitution)
>   dbaron: If you have a parse-time substitution mechanism, you have a
>           lot more constraints wrt scoping
>   dbaron: That requirement slows down how you load and parse style sheet
>   dbaron: depending on the scoping rules
>   fantasai: scoping rules in my proposal don't have that problem
>   Tab: undeclared variables are treated as invalid values until resolved
>   Tab: Another reason to work this way is you want this out-of-orderness
>   Tab: CSS works so that you can almost reorder style sheet arbitrarily
>        without changing things.
>   Tab: Usually resolve things based on specificity, not order
>   Tab: This trained us to import style sheets in any order, append
>        things to document
>   Tab: Preserving that with variables
>   Tab: e.g. throw in corporate styles anywhere in include path of doc,
>        won't affect how things are parsed
>   dbaron: resolved dynamically
>   Tab: Covered multiple variables with same name, last one wins
>   Tab: If you import a style sheet after the doc loaded, it gets
>        processed same way as if they were in from the start
>   Tab: If you use a variable that's not defined, it's treated as always
>        invalid
>   Tab gives example
>   fantasai suggests to make the examples use green/red consistently with
>            the test suite conventions
>   Tab: bzbarsky suggested it still be valid, but be set to the inital
>   dbaron: ...
>   fantasai: p { color: red; } p { color: $foo } should always, always
>             be equivalent to p { color: red; color: $foo; }
>   <dbaron> I think it's important that "p { color: green} p { color:
>$foo }"
>            does the same whether $foo is undefined or invalid.
>   <dbaron> fantasai and others think it's important that
>            p { color: green; color: $foo; } and
>            p { color: green } p { color: $foo } do the same thing.
>   Tab reviews dependency cycle breaking
>   @var $foo red;
>   @var $bar $foo;
>   @var $foo $bar;
>   Tab: You would get $foo as red
>   dbaron: I would rather throw out the whole thing.
>   <dbaron> throw out $foo rather than use red for $foo
>   Tab: Ok, crash both variables in the cycle
>   dbaron: The cycle detection should be after you've parsed all the
>           and thrown out previous definitions.
>   Tab: Some concern about grammar
>   fantasai: I would prefer using glazou's syntax of var()
>   fantasai: Clearer that this is being preserved into the CSSOM, that
>             it's only valid in property values. And it doesn't have
>             grammar implications.
>   fantasai: And you can prefix it if you use functional notation
>   Tab: Want to know if we can start doing experimental implementations
>of this.
>   Tab: Management wants to know if we are approved to work on variables.
>   Tab: Start work on an editor's draft that could move to WD
>   dbaron: I don't know if I'm answering your question, but my feeling
>           this is that I think this is the sanest way to do variables
>           I've seen so far.
>   dbaron: Authors want this. I think it's a lot of work. And I think it
>           doesn't let authors do anything that they couldn't do before.
>   dbaron: Given the amount of work it is, and it doesn't give authors
>           anything really new
>   dbaron: I would not put this near the top of any priority lists.
>   Tab: I think while it's not new functionality, we think it adds value,
>        and we'd like to work on it and pressure everyone else to
>        it too
>   Florian: It lets fewer people write CSS faster.
>   ...
>   fantasai makes a comment about other ppl's preprocessor stuff being
>            intelligent and us being the wrong people to work on that
>level of
>            syntactic sugar
>   Bert: Could make a Community Group
>   Tab: ... besides the point ...
>   Alex talks about priorities of different vendors
>   Bert: SVG is also working on something like this, the parameter model
>   Bert: They have variables that you can inherit from outside the style
>   Alex: What Doug has is a superset of that
>   Tab: They could potentially work together
>   Alex: Initial values of variables ...
>   Tab: No problem working together with schepers
>   jdaggett: I still think while it's a good thing to work on it, it could
>             still get to the point that ppl say "on balance, this is not
>             what we should do"
>   Tab: Looking for explicit acceptance that if I work on this and address
>        issues, it /can/ get to WD.
>   Florian: I'm not convinced that any variable system can bring more than
>            it costs.
>   <shepazu_vacation> (I am very flexible about how we get parameters
>                       working for both SVG and CSS)
>   Tab: Are you ok with me pursuing this in WD form until we can decide
>        whether it's worth doing?
>   Florian: Not authorized to say.
>   Florian: I look at this: it's too much and not enough.
>   ... JS ...
>   jdaggett: That's a good point. Maybe modifications to the CSSOM is a
>             better use of time.
>   talk of other important things
>   Alex: It's a stake in the ground, when we talk about variables, this
>         is what variables mean.
>   Alex: If you have more workable proposal, then we'll consider it, but
>         here's what we have so far, this is what we mean by CSS
>         and that's orthogonal to whether we implement this now.
>   plinss: Let me try to sum up here.
>   plinss: So I think it's fair for you to start working on an official
>           editor's draft so we have a place to gather all this
>   plinss: I don't think anybody can guarantee it's ever going to go
>   plinss: Might be where we gather all the data and then kill it.
>   plinss: As soon as I write a style sheet, I want this capability.
>   plinss: As soon as I think about the implications of this capability,
>           I want this to stay away.
>   ?: From an implementers perspective?
>   plinss: No. From authors perspective even.
>   plinss: Your argument that variables would make things harder to read,
>           I think it will make them much easier to read.
>   plinss gives an example
>   plinss: But when you start getting into what does this do when I change
>           this, what does this do when I change that.
>   plinss: For implementers, we can figure this out and solve it.
>   plinss: But for authors it will be hard to figure out.
>   plinss: Why did this break everything all of a sudden? i think this
>           make things harder to understand.
>   ...
>   plinss: You can't do this proposal in a preprocessor, it has to be done
>           at run-time in the client.
>   plinss: That's a whole different class of problems.
>   plinss: So I think about this, and I really don't want to do this.
>           Or do this in a very very limited way, e.g. only do colors,
>           which is most of the problem.
>   plinss: So my conclusion is that you can put this in an editor's draft,
>           but there's no guarantee it will go anywhere.
>   Bert: I know ppl writing preprocessors are looking at what you're doing
>         and want to incorporate it into their system. So be careful with
>         what you write
>   plinss: Maybe doing this in CSSOM extensions would be a better idea.
>   RESOLVED: Allow Tab to work on a css3 variables editor's draft,
>             no guarantee we'll move it to WD
><br duration="15min">
>Quote of the Day -
>dbaron: If your well-defined rules for handling that take less than 50
>         pages, you don't have well-defined rules.
>   jdaggett: I see a number of problems in various specs including the
>             fonts spec, where there's a feature and it's difficult to
>             set up fallback that would work
>   plinss: because you have interdependent properties
>   dbaron: I think this is going to become a particularly big issue as
>           we add new layout systems
>   fantasai: Does anybody not understand the problem we're solving?
>   <silence>
>   <dbaron>

>   dbaron: first, want to add support for testing for property-value pairs
>   dbaron: It's a very simple thing. It gives you ability to test for
>           properties and for values
>   dbaron: A little extra work if you just want to check a property,
>           but probably a good thing [...]
>   dbaron: I think there's a strong use case for conjunction, disjunction,
>           and negation
>   dbaron: i.e. not/and/or
>   dbaron: You want negation so you can write your "if supported" case
>           separate from your "not supported" case so you don't have to
>           make a set of overrides in the supported case
>   dbaron: and for combination of features
>   dbaron: or is needed mainly for prefixed properties
>   dbaron: Came up with syntax similar to media queries
>   dbaron: but has a few differences
>   dbaron: Media queries don't let you group operators in arbitrary ways
>   dbaron: So the syntax here allows combining in any nesting level, but
>           requires parentheses
>   dbaron: can have a and b and c, but not a and b or c
>   dbaron: So no precedence rules
>   dbaron: Also, I didn't use commas or spaces, you have to write out
>           the keywords
>   dbaron: and then you have (property: value)
>   jdaggett asks about the 'not' case
>   ppl give examples
>   won't be useful in the near future, b/c we don't have support for
>   but in the future it will become important
>   discussion of @import in @supports
>   dbaron: Would like @import stay at the top
>   <dbaron> could have supports() function part of @import rule
>   ...
>   plinss: Makes sense to have a supports check on @import, can figure
>           out exact syntax later
>   dbaron: There's a couple other things in this draft
>   dbaron: Another is something according to plinss has been discussed
>           12 years ago, which is @media inside @media
>   dbaron: In 2.1, @media can only contain rulesets, not other @rules
>   dbaron: So I'm saying that @media can contain any @rule that can be
>           interleaved with rulesets
>   dbaron: So it redefines @media with that definition
>   dbaron: then defines @supports
>   dbaron: and then a third proposal, that's been floating around for
>           not quite a decade
>   dbaron: primary use case for this is user stylesheets
>   dbaron: @document
>   dbaron: Not sure how important to standardize, but I've heard some
>           interest in it
>   Alex gives a use case for using that in @import
>   Alex: If it could be used to conditionally load a file, could save
>         a lot of downloading because would load styles relevant to
>         the pages being visited
>   Alex: It is an issue with performance, because people right now put
>         all the style rules for their entire site in a single style sheet
>   Alex: They have 2-3 times more rules than necessary for the page
>   Alex: Slows down downloading, selector matches, etc.
>   Bert: Might want it all to be cached
>   Alex: ...
>   Alex: We've seen sites that can be improved dramatically by just
>         shrinking their style sheets, among other things.
>   Alex: If they could write instead of complicated selectors, they could
>         write for this area of my site I'm loading this set of style
>         sheets, and for that area use this set
>   Bert discusses extra HTTP requests as another factor, not convinced
>        this will help on @import
>   jdaggett: Sounds like you're looking for something to solve a problem
>             that isn't necessarily a problem, just more an organizational
>             problem
>   Alex: Def not my problem, I think when ppl see this functionality it's
>         something they will ask for
>   Florian: If you have @document but not on @import, you can still get
>            selector-matching benefits
>   Florian: So there seem to be several valid use cases for this
>   jdaggett: Wrt @supports, are those conditions relatively complicated..
>             Are there parser questions? I guess we've already tackled a
>             lot of this with media queries
>   dbaron: The parsing is not that bad, because I required parens around
>           every prop:value pair, but not more than necessary
>   danield: I'm concerned about the syntax being different from Media
>   dbaron: I think Media Queries did it wrong
>   dbaron: Also I think this is a strict superset of Media Queries,
>           except for the comma
>   dbaron: I think the comma is confusing, because people don't know
>           whether it's "or" or "and"
>   jdaggett: Could add "or" to Media Queries
>   plinss: So a question of when can a UA legally claim it supports
>   fantasai: That's defined in the Snapshot
>   dbaron: Ok, I could reference that
>   fantasai: or copy the text
>   ...
>   jdaggett: SVG has the idea of capabilities, and it turned out to not be
>             very useful because of the problem you're talking about
>   plinss: It's a useful feature, but can be abused
>   dbaron: Part of the problem with SVG is that they tried to define sets
>           of features.
>   dbaron: With adding support for values, CSS implementations have been
>           pretty good at not parsing new values until they actually
>           them
>   dbaron: because of the known fallback where authors want the fallback
>   dbaron: So I think property:value pairs is the right level to do this
>   dbaron: It won't work perfectly, but most implementations will do it
>           right most of the time
>   Florian: I think only time UA will lie about it on a site-specific
>   Florian: there are sites that block us (Opera) because they think we
>            don't support things we do
>   plinss: I think we should put a stake in the ground that UAs must not
>           lie about this.
>   jdaggett: We could also put in wording about passing tests in the test
>   fantasai: already in the Snapshot wording
>   Florian: Can this test for support for @variables
>   Several: Stop.
>   plinss: Can we test for @rules? And is that useful?
>   dbaron: @font-face is the only case where I see a use for this
>   jdaggett: All of Tab's animation stuff, I don't want that in this
>   plinss: Paged Media 3 adds 16 new @rules for margin boxes
>   dbaron: One of the nices things about property-value pairs is that we
>           already have code for parsing them.
>   dbaron: @rules are much more context-dependent, so you'd almost have
>           to have a separate @support parsing list
>   dbaron: So if we want this, we should make sure it's in the new charter
>   Bert: The scope is wider than just the list of modules, so no problem
>   dbaron: So other issue is what to call it
>   fantasai: css3-if :)
>   <hober> "CSS3?"
>   <fantasai> hober, @media is in 2.1
>   dbaron: Currently calling it css3-conditional
>   plinss: so I'm hearing consensus that we want this
>   dbaron: So "CSS Conditional Rules" aka css3-conditional?
>   fantasai: And Bert's bibliography can call it [CSS3IF] :)
>   dbaron: Ok, I'll put this in, do some editing, and then ask
>for WD
>   Bert asks why @document isn't a selector
>   several don't like this idea
>   doesn't allow grouping
>   and doesn't help as much with selector matching performance
>   dbaron: Also makes it easier to allow user style injection
>   dbaron: So we can have UI for site-specific styles, and we just stick
>           in the @document {} rule
>   RESOLVED: Add css3-conditional
>   danield: How do we add "or" to Media Queries?
>   fantasai: Need to start a new draft, since MQ is closed to new
>             features already
>   dbaron: Might want to start that new draft in the next 2 years,
>           we have some other features to add, too
>   Tab: These are basically the same thing, this is variables 2.0
>   Tab: Mixins, rather than being single values that you then use in
>        properties, they are declaration blocks you mix into other
>        declaration blocks
>   Tab: Simple example, declare a mixin like this
>   Tab gives an example
>   <hober>

>   jdaggett: So this is closer to preprocessing
>   Tab: What's very useful here is the ability to parametrize them
>   Florian: Are nonprogrammers going to understand that?
>   jdaggett: Why do we need to use the variable syntax?
>   Tab: Similar concept here
>   jdaggett: But the functionality is distinct, how it works
>   jdaggett: If you have variables in your mixin, there are two things
>             that you're jumbling together
>   jdaggett: essentially local variables and global variables
>   fantasai: How is this different from my proposal, aside from
>   Tab mashes around some words and doesn't answer the question
>   fantasai: So, what question are you actually answering, and what's the
>             answer to it?
>   <hober> fantasai's proposal:

>   bunch of discussion
>   simultaneously
>   Sylvain: "Can we have one discussion at a time?"
>   Tab: Aside from naming issues, this is something we want to pursue
>        experimentally
>   <dbaron> (participant in one of the other two discussions): "No."
>   fantasai asks for use cases for putting all this in the DOM and
>            JS to manipulate it
>   ??: debugging
>   Alex: ... multiple inheritance ...
>   Alex: If we compare this to programming language, it's a really bad
>   Tab: It's different.
>   Alex: really bad usage of multiple inheritance, trust me it's possible
>   ??: You've got a bunch of rules and a very clear set of resolution
>   fantasai: I'd like to understand why this proposal is better than mine,
>             that we should use this and not that
>   Tab: parameters
>   Tab: and global scoping
>   fantasai: mine has a parameterization mechanism, just different
>   Tab: I think global scoping is simpler and matches what authors expect
>        from the language
>   Tab: So do people want to go forward or hate it?
>   Alex: I hate it
>   plinss: I _really_ hate it
>   Tab: Useful for authors, using it in their preprocessors
>   fantasai: So use it in the preprocessors.
>   discussion of how preprocessors work and debugging tools work
>   Tab argues that debugging is better when you have mixins in the browser
>   plinss: I think this is a failure in your debugging toolchain
>   random unminuted comments
>   and bad jokes
>   dbaron: I have a CS professor
>   dbaron: whose comment was that Knuth attempted to make TeX not a
>           programming language, and failed, and so it is a bad
>           programming language
>   Florian: You asked if some people hated it, and the answer is yes.
>   ??: Reuse is good for the Web, it's good for the authors, not manually
>       preprocessing things.
>   Florian: The good thing about manually preprocessing is that you know
>            exactly what's going on
>   plinss: There have been other proposals that are more CSS-like and
>           not programming-language-like
>   plinss: That's another thing
>   plinss: Your fundamental question was is there a strong objection,
>           and the ansewr is yes, there is a strong objection.
>   plinss: I'm not hearing anybody supporting this except you [Google]
>   Vincent: I'm not objecting. I'm sympathetic to their arguments.
>   jdaggett: There's a level of complexity that's here. You're adding
>             complexity and also solving problems. You have to balance it.
>   danield: If it was just a plain text-replace, I'd be more comfortable
>            with that
>   Tab: But CSS is global scope for everything
>   Tab: Once again drawn from preprocessors
>   Tab summarizes his proposal, see www-style posting
>   fantasai: what happens if you forget the & ?
>   Tab: It's an invalid selector. Selectors inside this scope must start
>with &
>   <sylvaing> if you define the nested & selector in an @mixin you'd have
>              to resolve your @mixin at parse time....
>   <hober> Tab's nesting proposal:

>   plinss: What if the original selector has a comma
>   fantasai: equivalent to replacing the & with :any()/:matches() with
>             selector as its argument
>   fantasai: (using a full implementation of :matches())
>   fantasai: why ampersand?
>   Tab: Looking for something terse that's easily recognizable
>   fantasai: How about using a question mark?
>   Tab: could work
>   several ask if it has to be punctuation
>   plinss: need to distinguish it from a property
>   Alex: Can you do anything with this that you couldn't before?
>   Tab: purely syntactic sugar
>   plinss: better maintainability
>   <hober> h1, h2, h3, h4, h5, h6 { & a {}}
>   Tab: So, I would like to pursue this.
>   Tab: There are some problems that need to be worked on
>   Tab: There's a combinatorial problem here. The author can easily
>        write a lot of rules that have to kept track of
>   Tab: This ability is simple. I just explained everything.
>   Tab: Out of everthing I talked about so far, only one that can be
>        entirely done in preprocessor
>   Tab: But it's a huge win for maintainability
>   Alex: What will the adoption picture be for this, when there is
>         nothing you can do with this for a long while
>   Tab: Yeah, there's no fallback
>   Tab: You'd have to do preprocessor for now.
>   Alex: Something that like this improves readability but also
>         enables nothing new...
>   Alex: you have to still do this in separate style sheets. Have
>         new style sheet and old one
>   ?: we've written a JS that will do the processing in JS, might
>      be good interim solution
>   plinss: could also do an apache plugin or something
>   plinss: What does this do to the CSSOM
>   Tab: Relatively simple change.
>   Tab: Add ... to ...
>   discussion of parsing in downlevel UAs
>   Tab: You have to put them at the bottom of the rule block
>   sylvaing: or put a semicolon at the end of each block
>   fantasai: Rather restrict it to one or the other, otherwise it's
>             confusing and people will get it wrong
>   Tab: Happy to just require putting them at the end of the style block.
>        I think it's more readable that way anyway
>   Bert raises issue of the Core Grammar
>   Tab: But plays well with forward-compatible parsing
>   Bert: But we're not supposed to change the Core Grammar
>   plinss: Almost anything we add that's new is ...
>   dbaron: The grammar in syndata.html is very general, and Bert is
>           saying that new stuff has to match that
>   foo {
>     prop: val;
>     @nest:hover {
>       prop: val;
>     }
>   }
>   plinss: One of my concerns about the syntax, other than &, it looks
>           reading it a very subtle distinction between having a space
>           after the & or not
>   fantasai: One advantage of the @nest is that it looks more like a
>             regular selector, where you make this distinction already.
>             With the & it's so short, it's easier to not notice the
>             space distinction.
>   Bert: Would be easier to not use ampersand in cases where the space
>         is there, so it's more different
>   Tab: But then you start parsing it like a property
>   fantasai: I think Bert's suggestion is much better-looking.
>   This is agreed, but it still creates a parsing problem.
>   Discussion of Tab's priorities
>   Tab: List, images, flexbox
>   Tab: want to work next on positioning to make it editor's-draft ready
>   Alex: Which positioning?
>   Tab: Firming up abspos model, and then adding ability to attach edges
>        to edges of other boxes
>   Tab: We put together a newsread app that's really slick, 3 cols of
>stories etc.
>   Tab: It was ridiculously hard to do in JS or CSS.
>   Tab: We wound up absposing everything and using a constraint solver in
>   Bert: I think abspos was a huge mistake
>   Tab: I agree that what we have in CSS2 is minimally useful
>   dbaron: I think it's harmful
>   back to Tab's proposal
>   plinss: I really like this feature
>   plinss: that's my 2cents
>   plinss: I accept it's a problem that it can't be used until universally
>           supported
>   Tab: If you want preprocessor, you either need server-side scripting,
>        or JS, and JS has perf issues (and doesn't work for ppl with JS
>turned off)
>   Tab: So should I work on this?
>   Nobody seems to be objecting, but only Tab and plinss seem to be
>   Florian: I'm tempted to say nay based on the fact that it doesn't fit
>            within the grammar, but not sure I can say this in Opera's
>   <dbaron> I think it's not crazy; I'm scared of the OM implications.
>            Doesn't seem like an implementation priority.
>   Alex: not committing to do this, will be pretty far down in priority
>   Alex: Think there's value in writing up what syntax could look like
>   Alex: In right combination with other features, could be useful
>   fantasai is concerned about prioritization of WG attention
>   plinss: I'm hearing a conditional yes, that it's low priority, doesn't
>           impact other work, no guarantee of implementation
>Selectors 4
>   fantasai: I've omitted the pseudoelems from this draft (they're not
>             relevant for other selector-y thing like querySelector).
>             They should go in a PseudoElements Module.
>   fantasai: I added a couple of things I felt were fairly
>   <sylvaing>

>   fantasai: Main things is :matches() (sometimes called :any()).
>   fantasai: It means "an element which matches my argument".
>   fantasai: And :not() is the opposite.
>   fantasai: The argument is an arbitrary selector without combinators.
>   fantasai: So :matches(foo,bar,baz) is fine, but :matches(foo > bar)
>             is not, because that gets into branching issues.
>   fantasai: I've also added in an old proposal for choosing the
>"subject" of
>             a selector.
>   fantasai: So, frex, in "ol > li:only-child", you may want the <ol>
>   fantasai: You can write "!ol > li:only-child".
>   florian: That reminds me of "not".
>   fantasai: I've also tightened up some terminology.
>   fantasai: "simple selector" is the same as before.  "compound selector"
>             is the previous "sequence of simple selectors", without
>   sylvaing: Do you have anything about pseudoelements with pseudoclasses
>in it?
>   fantasai: I haven't touched that yet, but I think the pseudoelem should
>             specify what pseudoclasses can apply to it.
>   fantasai: Another new feature is :dir([rtl | ltr]), which is the same
>             as the older suggestion for :ltr/:rtl, but more consistent
>             with :lang().
>   fantasai: I also believe we should pull in the various pseudos that
>             HTML5 defines, because they should be defined on our side.
>   fantasai: And then HTML can just clarify what they apply to for HTML,
>             rather than *defining* them.
>   fantasai: Here are some other features people have requested for
>   <fantasai>
>   fantasai: A lot of which I think are very cool.
>   fantasai: I think for now I just want to add the "current url"
>   fantasai: And then publish as WD?
>   Bert: I think we're done with Selectors for a while.
>   florian: One comment from Opera, under the impression that :matches()
>            was the only new thing, we're okay with it.
>   Bert: Shouldn't the HTML5 pseudoclasses be in the UI module?
>   fantasai: I'd prefer to have all selectors be defined in the Selectors
>             module, otherwise it's kinda annoying to have to specifically
>             define a conformance class in e.g. UI just for
>             stuff.
>   [discussion about naming]
>   Bert: We shouldn't do any specs in level 4 until we've done everything
>         in level 3.
>   Peter: We've agreed to level modules independently.
>   vhardy: Why isn't the module's shortname "css4-selectors"?
>   fantasai: We determined a while ago that Selectors aren't CSS-specific,
>             and the level 3 name was a historical mistake.
>   RESOLVED: Move forward with Selectors 4
>Module Template
>   sylvaing: in recent snapshot we updated the rules for when impls
>             can drop prefixes
>   sylvaing: let's update the spec template to match the snapshot
>   <fantasai>

>   <fantasai>

>   fantasai: A related issue is that most of our modules don't follow
>             the latest template, which has new text and boilerplate.
>Scribe: Tab Atkins
>   sylvaing: When are we going to start doing this?
>   fantasai: How about right now?
>   TabAtkins: I can fix my modules to use the new boilerplate soon.
>   vhardy: Can we get the preprocessor to handle this for us?
>   fantasai: Some parts, yes.  Sounds good - Bert and I will update
>             the template and work on this.
>   RESOLVED: Update all modules to the latest module template, once
>             Fantasai has checked in the necessary edits.
>   ACTION fantasai and bert to update the preprocessor template to
>          match boilerplate.
>   <trackbot> Created ACTION-329
>Test Suite Owners
>   sylvaing: Given all the specs we're doing, should each spec have a
>             "test owner" that tracks tests and determines coverage and
>   fantasai: That sounds like a wonderful idea.
>   florian: The only problem I have is that having a test owner will make
>            the editors not care about tests.
>   sylvaing: That's today's situation. ^_^
>   fantasai: Also, having it official means that people like sylvain can
>             to management and say "I need a QA person in the group to be
>             test owner for my spec".
>   RESOLVED: Establish official "test owner" position parallel to the
>             who is responsible for ensuring the correctness and
>             of the test suite
>   fantasai: There was a string value for text-overflow that let you
>             specify what ellipsis you wanted.
>   fantasai: Moz has an impl of this.
>   fantasai: There was also a proposal to have two values.
>   fantasai: In a scrollable box, when you scroll you end up cutting off
>             text on *both* sides.  If you have a direction-sensitive
>             ellipsis character, like an arrow, you want a different one
>             for the other side.
>   fantasai: So the proposal is to let it take two strings (left and
>             in addition to one string (both).
>   vhardy: We have a similar issue with CSS Regions, where we want
>           like a "(cont)" at the bottom of each region.
>   fantasai: We've had a proposal for a 'block-overflow' to handle that
>             It doesn't live in any spec yet.
>   vhardy: I'll put it into Regions for now, just to give it a place to
>   alexmog: The feature gets significantly more complex if you want
>            references and back-references "(cont on page 5)".
>   fantasai: Yes, but it's not needed for inline overflow
>   dbaron: Another issue is that we're implementing it unprefixed, because
>           everyone else already has.  That's... an issue.
>   plinss: Not happy about the unprefixed, but I understand the position
>           you're in.
>   RESOLVED: Add the two-value syntax to text-overflow in css3-ui,
>             marked at-risk
>   vhardy: There's a question of integration with other specs.
>   vhardy: The issue is that, to use something as a region, it needs to
>           be addressible in some way.
>   vhardy: Like a grid-cell, so you can use 'content' or 'flow-from' on
>   vhardy: This works with Grid Layout, because there's a pseudo for it.
>   vhardy: But there's none for multicol and flexbox.
>   vhardy: There's no way to address a column box in multicol.
>   vhardy: For example, you may want to make a flow of text and a flow of
>           images, and put the images into the second column and flow the
>           text into the first, third, and subsequent columns.
>   alexmog: Sounds like an exclusion.
>   vhardy: Or putting alternating content in columns.
>   alexmog: The way to address this is to make a Grid set up with the same
>            dimensions as the columns that multicol would have given, and
>            then flow into the grid cells.
>   vhardy: The question is if we want to integrate more closely into the
>           multicol.
>   alexmog: Multicol is the only exception here.  Grid was carefully
>            designed so that it would size the same as column.
>   TabAtkins: I think I must agree with alexmog.  It makes more sense to
>              flow into grid cells than to flow into multicol column
>   alexmog: And you can use, say, region styling to say "this region
>            have 'columns:3'".
>   vhardy: Okay, no column boxes as regions.
>   vhardy: next is, what is a grid cell exactly?
>   vhardy: There's a grid-cell-stacking property, and an issue that
>           questions whether it should instead be 'display'.
>   hober: I agree with whatever Hyatt last said.
>   TabAtkins: I think Hyatt said he liked the 'display' version.
>              I also strongly support it.
>   alexmog: Note that we don't have immediate plans to implement the
>            ::grid-cell pseudos - our current experimental impl is from
>            the November draft where you could only position boxes.
>   alexmog: But it makes sense to do so.
>   fantasai: [separate note] I think it makes sense to limit it to only
>             pseudoelements being regions, not elements.
>   vhardy: There was some discussion on that on the mailing list.
>Scribe: fantasai
>   sylvain: When you say bottom left for the corner
>   fantasai: Animating keyword sides/corners through 0deg makes the
>             spin through the longest path instead of the shortest path
>   Tab: Oh, yes. I will fix that in the spec
>   fantasai: Next issue was direction of 0deg and direction of increase
>   fantasai: We posted to to ask for feedback from authors
>   <fantasai>

>   fantasai: got 95+ comments, overwhelming majority, as you can see,
>             was for C which is bearing angles (zero degrees up)
>   fantasai: Arguments given were that it's consistent with the TRBL
>             model that is used everywhere else in CSS, and the angles
>             increment clockwise which is consistent with every other
>             use of angles in CSS.
>   plinss: There was a small minority asking for 0deg to the right,
>           increasing counter-clockwise.
>   Noted that Brad objects to bearing angles
>   RESOLVED: gradients use bearing angles
>   <sylvaing> a gradient angle value e.g. 30deg is the end point of a
>              gradient line
>   <sylvaing> however, an angle keyword e.g. top is the start point of
>              the gradient line
>   Tab: ¿?¿?
>   <sylvaing> this is somewhat confusing, especially once one starts
>              transitioning linear gradients
>   <Bert> (If it is a direction, why isn't it called 'up' instead of
>   <Bert> (Or maybe north, nnw, nw, wnw, west....)
>   <dbaron> the allowed keywords should just be 东, 西, 北, 南, 東, 东北,
>            西北, 東北, 东南, 西南, 東南 :-)
>   <fantasai> Bert, it means "attach my gradient to the top edge and
>              then draw from there"
>   <danield> So maybe 0 deg should also mean "attach my gradient to the
>             top edge and then draw from there"
>   Florian: The cardinal directions map directly to degrees.
>   dbaron: associating expected status and priorities in the charter
>           doesn't make sense
>   RESOLVED: that the charter lists should be organized not by "priority"
>             by what status we expect specs to reach by the end of the
>   And the sections then need some severe editing
>   Specs expected to reach REC:
>   - css3-background
>   - css3-values, maybe
>   - css3-ui
>   Specs expected to reach CR:
>   - css3-fonts
>   - css3-2d-transforms
>   - css3-animations
>   - css3-writing-modes
>   - css3-text
>   - css3-images
>   - css3-lists
>   - css3-flexbox
>   - css3-transitions
>   - css3-speech
>   plinss: multicol?
>   fantasai: If we are planning to test whether things paginate across
>             columns correctly, no, not REC.
>   fantasai: If we're only testing whether you calculate columns
>             then quite possible
>   dbaron: Have a "Expected to have test suite" bucket?
>   CR-level specs expected to have a completed test suite:
>   - css3-multicol
>   Vincent: Regions
>   fantasai: I think we can have CR as a goal, but I think not as an
>   Everything else will be in the WD-and-working-on-it bucket
>   plinss: "Expected to *be* CR with a complete test suite"
>Meeting closed.
>plinss thanks Google for dinner, Microsoft for lunch, and  Koji and
>Seko-san for hosting

Received on Friday, 10 June 2011 23:56:02 UTC