[CSSWG] Minutes Telecon 2014-12-03

Follow up on applying pseudo-classes to labels
-----------------------------------------------

  - There were a few people that felt that this would add useful
      functionality, but several people weren't convinced that there
      were real-world use cases.
  - Therefore, Florian will come up with use cases attempting to
      create this behavior and anyone else is welcome to also add
      cases.

CSS3-UI Issues
--------------

  - It was felt that implementors that don't implement 'invert'
      shouldn't parse 'invert'.
  - RESOLVED: Update the spec to make it more clear what optional
      means in the current spec (Issue 42)
  - RESOLVED: Authors must not hide outlines on focused elements
      unless they provide an alternate highlight mechanism for
      focused elements (Issue 43)
  - RESOLVED: UAs may support <image> in addition to <uri> and refer
      to image production as part of the text. (Issue 44)
  - RESOLVED: clamp cursor coordinates individually when invalid.
      (Issue 46)
  - RESOLVED: Do not address this issue (#49, ability to show a
      tooltip with full text when a line is ellipsed) in CSS3-UI

===== FULL MINUTES BELOW ======

Present:
  Rossen Atanassov
  Tab Atkins
  Bert Bos
  Adenilson Cavalcanti
  Tantek Çelik
  Dave Cramer
  Alex Critchfield
  Elika Etemad
  Daniel Glazman
  Dael Jackson
  Brad Kemper
  Chris Lilley
  Peter Linss
  Mike Miller
  Simon Pieters
  Anton Prowse
  Matt Rakow
  Florian Rivoal
  Dirk Schulze
  Alan Stearns
  Steve Zilles

Regrets:
  David Baron
  Bruno de Oliveira Abinader
  Arron Eicholz
  Simon Fraser
  Simon Sapin
  Mike Sherov
  Lea Verou
  Greg Whitworth

Scribe: dael

  plinss: Let's get started. Anything to add to the agenda.
  Florian: I mailed a bunch to CSS3 UI stuff to the list in addition
           to what we had.

Follow up on applying pseudo-classes to labels
-----------------------------------------------

  Florian: We discussed how :hover etc. would apply backwards, but I
           forgot I had mentioned that we might want to do a
           backwards for pseudo-classes. One way would be to put a
           hook to HTML and make it the same as :active. Another
           would be to introduce a new psuedo-class selector. A
           suggestion was :for.
  Florian: So do we want to do this?
  <andreyr> yes

  tantek: What was the use case?
  Florian: I was wondering about it as a parallel. If you have an
           input element associated with a label using :for
  tantek: So this is a new feature?
  Florian: Yes.

  <Rossen> what do current impls do?
  <fantasai> <label for=foo>Label</label> ... <input name=foo
             id=foo type=checkbox>
  <fantasai> Florian is proposing propagating the input's state to
             the <label>

  Florian: The use case is if you have an input element that is
           invalid and you want to display it in red, you also may
           want to highlight the label that goes with it.
  glazou: So you want to reflect all the properties of one element
          onto another one.
  Florian: You want to be able to style the label based on the style
           of the input since you might want to have a similar
           affect on both pieces.

  tantek: Is anyone doing this with JS? I've never seen the effect
          you're talking about.
  Rossen: What do current implementors do?
  tantek: They don't. This is a new feature.
  tantek: I would propose...I want to see one documented example of
          someone trying to do this with JS. I've never seen this
          and unless there's a use case it should be postponed.
  <TabAtkins> I was trying to say that I've done styling of a label
              based on valid/invalid before.
  <TabAtkins> I did it post-submit, with PHP, but doing it
              pre-submit would obviously be good as well.
  Rossen: I'm with tantek on this one. If there's no clear use case,
          why are we discussing it.
  tantek: I don't want a theoretical use case for this.
  zcorpan: I agree with that, for what it's worth.
  plinss: I think a common use case informs it, but it's not done
          with invalid. I've created a form where you want to
          highlight the invalid data. That's used all over the place
          so there are use cases.
  tantek: I've seen highlighting a form field, but I've never seen a
          modification of the label in particular. If you've seen
          that I'd like a URL to where someone is doing it.
  plinss: One would be sheppard.
  <tantek> URL?
  plinss: I've done it.
  plinss: I've seen it in other places too.

  plinss: Anyway.
  Florian: I dropped and rejoined. While I was away, there was some
           back and forth on if useful.
  plinss: TabAtkins and I are saying we've done/seen it, but no one
          else is sounding supportive.
  Florian: So the options are 'this is not important, don't do', 'do
           it like :active', or 'define a new pseudo to do it'.
  tantek: And another where we don't know if it's important and if
          it is, please document a use case on the wiki. Link
          somewhere where we can see it's used.
  <fantasai> It sounds like it'd be useful, no objection to doing
             more research.
  <fantasai> Also need to check Web-compatibility
  Florian: I think I found an example on an e-mail.
  Florian: There's no issue.
  tantek: Where does selectors track them?
  Florian: I'll check.
  <fantasai> tantek, by email, with the [selectors] tag currently

  tantek: So, I think we need a use case.
  Florian: There are definitely some. I can write them down.
  tantek: Yes, write them down.
  Florian: Should we go on to next topic?

CSS3-UI Issues
--------------

  Florian: Starting with issue 42. There is an 'invert' value for
           outline that currently says UAs are allowed to not
           support, but it's ambiguous as to what they should do
           when they don't. I'd like to clarify what not support
           means.
  Florian: Some UAs do support 'invert', so we shouldn't remove, but
           not supporting should mean don't parse. An alternative is
           to parse and compute to currentColor. Things would be
           sane, but we can't use the cascade, I'd say just support
           or don't and don't parse.
  Florian: Currently in the ML, I wrote that Firefox fails to parse
           and uses black as the default, Chrome parses but doesn't
           render, Safari parses to transparent, IE and Presto do it
           correctly.

  Rossen: You're proposing if you don't support, don't support it at
          parse, if you support, support all the way.
  Florian: Yes.
  plinss: That makes sense as a default.
  Florian: The only difference is that the spec says you can conform
           without supporting this.

  krit: The chances that Chrome will removing the parsing part isn't
        very high.
  Florian: Why would they not remove it?
  krit: It means any property definition isn't supported if there's
        a reverse part.
  krit: A reverse keyword wouldn't support parsing anymore.
  plinss: They're parsing, but not supporting. They can parse and
          support correctly or stop parsing.
  Florian: Chrome parses and makes it invisible which is just plain
           bad. Safari is halfway decent, but it's not what the user
           is asking for.

  zcorpan: Do we know what the web compatibility impact is?
  Florian: Yeah.

  tantek: Are we considering Presto for CR exit? Can it could as one
          of two implementations?
  plinss: If it's in public release I don't see why it wouldn't.
  <ChrisL> it was a fair question re Presto but current rules mean
           we allow it
  Florian: It's not making active progress, but its been shipped and
           still being shipped.

  tantek: Okay. It sounds like we have interoperability between IE
          and Presto as spec'ed. That argues for keeping it. It
          sounds like we need to tighten spec language for if you
          don't support.
  Florian: I agree. That's what I'd prefer.
  plinss: I didn't hear anyone say drop.
  tantek: There was some saying that on mailing list.
  <Bert> (Make '@supports (outline: invert) {...}' useful.)

  fantasai: We might need to mark as optional since I remember some
            implementations don't want to.
  Florian: Yes, it is optional. What's not clear is what it means by
           'don't support it'.
  fantasai: Then we need to change the initial value.
  Florian: That's taken care of.
  tantek: This is UA specific.
  Florian: It already says if not 'invert', initial is currentColor.
           I don't know if that's good, but it's what people do
           currently.

  tantek: Is anyone in Blink or Webkit willing to drop or fix their
          implementation?
  Florian: I hope so because what it is now is terrible.
  <TabAtkins> Ours is broke as hell, so yeah, we can fix.
  <tantek> Thank you TabAtkins

  tantek: So initial value is the only question?
  Florian: The spec says that you support it or initial value is
           currentColor and that's what proper implementations do.
           Chrome and Safari use currentColor as the initial value.
  tantek: Then the question is...one possibility is to always change
          to currentColor.
  Florian: We could.
  tantek: We simplify for webdev and implementors so that if it's
          not specific it just works that way. If they want invert
          they can try explicitly.
  plinss: You're breaking our two implementations and one won't be
          fixed.
  tantek: Presto isn't maintained?
  Florian: For spec work, hardly.
  Rossen: TabAtkins said they'll fix. Either drop or fix.

  Florian: Chrome stated they won't implement 'invert'. Someone on
           the mailing list from Apple said they will not invert
           colors. That wasn't about the parsing, but they won't
           actually invert.
  Florian: It plays poorly with composition.
  tantek: Halfway supported isn't useful. There shouldn't be parse
          and don't support. That's why I want the opinion...I know
          TabAtkins said he'd fix, but would this make it easier?
          For Rossen do you have backwards compatibility issues to
          change initial value to currentColor?
  Rossen: Don't know.
  <ChrisL> tab, tantek is asking how will this be "fixed" - remove?
           implement?
  * Bert is reminded of the ugly problem with 'position: fixed' in
         IE a long time ago: it was parsed, but didn't work, and
         thus provided no easy way to provide a fallback.

  Florian: If you do support 'invert', it is better.
  tantek: Are there things where we change initial value from one
          level to another?
  Florian: I don't know.
  plinss: I have a vague recollection yes, but I don't remember when.
  tantek: I don't remember doing it and it feels like it would be
          confusing to webdev.

  plinss: I'm not hearing strong consensus about what to do with
          initial value, but I hear that browsers that don't support
          it shouldn't parse it.
  tantek: Sounds reasonable.
  krit: If you don't support 'invert'...?
  plinss: If you don't support it, then the initial value is
          currentColor. The behavior of not parsing if you don't
          support it is how CSS should work and if that's not
          spec'ed somewhere it should be.
  Florian: The spec says you conform if you don't support.
  <fantasai> http://www.w3.org/TR/CSS/#partial
  <fantasai> It's part of the boilerplate for all specs
  tantek: Optional shouldn't be explained in CSS3 UI. Do we have a
          definition for that somewhere?
  plinss: fantasai pointed out that it's in the boilerplate.

  RESOLVED: Update the spec to make it more clear what optional
            means in the current spec (Issue 42)

  <tantek> CSS3-UI issue 42: define "invert" as optional per
           http://www.w3.org/TR/CSS/#partial
  <ChrisL> in current spec or in all specs?

  <Florian> http://lists.w3.org/Archives/Public/www-style/2014Nov/0494.html
  Florian: Next topic is here (above).
  Florian: It was suggested that it's bad for authors to completely
           turn off outlines on focused elements. It's either a
           usability or accessibility requirement, depending on how
           you look at it. The suggestion is that outlines can't be
           invisible on focused elements unless they provide
           alternate highlighting.
  tantek: I would be okay with a note
  Florian: I'm okay with a note, but TabAtkins suggested we could
           make it a must level so validators could pick it up. We
           do have must/must not sometimes. It seems appropriate,
           but a note is a start.
  Florian: Other opinions?
  * tantek is trying to listen and read
  plinss: Anyone?

  fantasai: Must seems fine to me. Use the advisement class, not the
            note. It should be a conformance criteria. It's not a
            non-normative statement.
  <ChrisL> advisement means "do not ignore this"
  Florian: We should says something. I think it's reasonable to go
           as far as must.

  tantek: I'm reading the original e-mail and it seems like that's
          something we can site and make it specific for outline.
  Florian: I went beyond just the width in the original e-mail since
           there's a bunch of ways to go invisible. I'd like to say
           whatever way you make it invisible you can't do that
           without an alternative.
  tantek: So authors must not hide outlines on focused elements
          unless they provide an alternate highlight mechanism for
          focused elements,
  plinss: Author or UA?
  tantek: Author.
  <Florian> Author
  Florian: Author.

  tantek: If that proposal is good, are there objections?
  Florian: I have a very similar proposal text. It's almost the same
           sentence.
  <Florian> As the outline on elements in the ‘:focus’ state is
            depended on by keyboard users for interaction with the
            page, authors must not make the outline invisible on
            such elements without making sure an alternative
            highlighting mechanism is provided.
  tantek: And I'd provide examples so then we can put warnings in
          validators.
  plinss: Objections?

  RESOLVED: Authors must not hide outlines on focused elements
            unless they provide an alternate highlight mechanism for
            focused elements (Issue 43)

  <tantek> CSS3-UI issue 43: Add author conformance clause Authors
           must not hide outlines on focused elements unless they
           provide and alt highlight mechanism for focused elements (
           e.g. outline-width:0 or outline-style:none)

  Florian: Next one is, the cursor property takes a list of images,
           but it's just taking <uri>s. The reasonable thing is to
           accept image production, not <uri> so we can get access
           to gradients, etc.
  Florian: Based on the mailing list everyone agrees this is the
           eventual right thing, but it's not agreed on if this
           should be in level 3 or 4. There's currently not enough
           implementations of the generalized version to pass to REC.
           I understand, but I'm worried if we just start with <uri>
           people won't do the broader implementation.
  Florian: The compromise is say <uri> and in the future we're
           expecting to go to <image>.

  fantasai: CSS Values and Units, I believe has image production
            defined as <uri> We can say if you support image values
            level 3 you should support as <image>.
  Florian: There's a bunch of browsers that support <image>, but not
           on cursor. So if you support <image> you must apply here
           won't pass. In that respect I'm sympathetic to the
           argument, but I don't want to stop implementing the
           fuller option. That's why I say stick with <uri> and say
           alternatively you an use <image> if they want.

  tantek: In general it's bad form to predict the future. It should
          be more like UAs may support <image> in addition to <uri>
          We don't need forward predicting, we can just say may.
  <TabAtkins> I'm fine with speccing <url> and adding a note saying
              that it will be upgraded to <image> in UI 4, and
              browsers should feel free to implement fuller <image>
              support.
  ChrisL: The way to indicate the future is put it in level 4. That
          doesn't predict, it's actualized.
  Florian: I haven't made level 4 yet.
  ChrisL: Dump this in 4 and make it in 4 so people know where it's
          going.
  tantek: I think we want to have some kind of suggestion in level 3.
  Florian: I like tantek's proposal.
  krit: I agree with it defined as a may.
  <andreyr> +1 for proposal

  plinss: I'm okay with a may, but I'd like it to refer to normal
          image production. Say it should use image production and
          make the image optional.
  plinss: I would like it to talk about the image production in
          values and units.
  tantek: Normatively refer to image production is part of the
          property.
  plinss: Objections?

  RESOLVED: UAs may support <image> in addition to <uri> and refer
            to image production as part of the text. (Issue 44)

  tantek: Which issue was that?
  Florian: 44
  <tantek> CSS3-UI issue 44: UAs may support <image> in addition to
           <uri> and refer to image production as part of the text. (
           link <image> to normative image production in values and
           units)

  <Florian> http://lists.w3.org/Archives/Public/www-style/2014Nov/0501.html
  Florian: Next one, again on cursor, you can have a bunch of
           images/uri but you can also use the coordinates, but the
           spec doesn't have any limits on that. However, there
           isn't full interoperability on what to do with invalid
           coordinates. You can either plant at the actual cursor or
           ignore it if it's a negative. It seems like planting at
           the cursor is the better option if the actual value is
           out of bounds.
  tantek: That's reasonable. That seems uncontroversial. Clamping.

  plinss: Different opinions?
  Bert: How do you clamp?
  Bert: Do you calculate the position by angle, or ...?
  Bert: Do you clamp each coordinate individually?
  Florian: Individually was what I had in mind.
  Florian: I hadn't tested on that. I suspect it's individual but I
           don't know.
  <TabAtkins> We can test, but individually is likely what's
              implemented, and it's sufficiently simple to work fine.
  <TabAtkins> This is just handling an error case, anyway.
  plinss: Do you know Microsoft's?
  Florian: I don't.

  plinss: Let's resolve we clamp individually and if you have other
          findings we'll revisit.
  plinss: Objections?

  RESOLVED: clamp cursor coordinates individually when invalid.
            (Issue 46)

  <tantek> CSS3-UI issue 44: clamp x y cursor hotspot values at edge
           of image
  Florian: We don't have dbaron right? Then I'd like to skip 48.

  <Florian> http://lists.w3.org/Archives/Public/www-style/2014Nov/0532.html
  Florian: 49. Some browsers, when you have something that's
           ellipsed and you hover over it, it will have a tooltip,
           but other browsers don't support that. Having the spec
           normatively say if you should have support for that would
           solve it. I don't care which.
  tantek: Any kind of automatic tooltip would get objections from
          authors. They don't want random pop-ups. Webkit does this?
  Florian: If you hover over text with an ellipsis, Blink, I believe
           has it active.
  tantek: Over the whole line?
  Florian: Yes.
  <Florian> http://jsbin.com/quhisipiba/1/watch?output
  Florian: I'll check, but I think so. You can test this (above).
  Florian: In this example we have two lines of text with ellipsis
           and if you hover anywhere you get the toolkit.

  Florian: As far as I know this is often complained about by people
           trying to create the tooltip for other browsers and end
           up with two.
  tantek: That sounds like a request for support.
  Florian: It's unclear if everyone wants that.
  plinss: And how do you detect if the UA is doing that?
  Florian: UA sniffing?

  tantek: We had generation of tooltips in a previous draft. Do we
          have user selectors that attempt to style tooltips?
  Florian: I don't think so. There was a lot of discussion, but it
           didn't conclude on anything.
  tantek: Other thing we can do is...no, never mind.

  plinss: I would like to see a way of creating tooltips with a
          :hover and then they can override
  tantek: I think it was generated content at some point.
  Florian: There was a proposal, but then there was disagreement as
           to if it's just text, or have a region...
  tantek: The obvious thing to do is just text, so that kind of
          discussion is annoying.

  Florian: So should we tackle the whole discussion to solve this,
           or until then should we say which way browsers should
           behave?
  tantek: I don't want to recommend UA behavior, I'd rather give
          authors a hook or control.
  Florian: The hook is difficult.
  plinss: I understand the concern. I'm loathe to tell browsers not
          to put a tooltip or say must without a way to suppress.
  tantek: That's a better description of my thoughts, thanks plinss.

  Florian: So despite non-ideal interoperability, you want to leave
           this?
  tantek: There's lots of not-interoperability.
  Florian: I'm not objecting to not defining, I just want to be
           clear. If we're not addressing this, then we need to be
           clear.
  tantek: One way to have it is in terms of a11y, when you ellipse
          content it's not necessarily viewable or accessible, so we
          can encourage UAs to provide a mechanism to access that
          content. There's one in the spec if you support copy/paste.
          Selecting the ellipsis is the same as selecting everything.
  Florian: Even an encouragement isn't enough. We need a way for
           authors to turn it off.

  Florian: I think I'm fine with undefined for now with somewhere it
           saying we want to deal with this eventually.
  tantek: I'm not sure that helps.
  tantek: Our efforts should go into a fix. If there's a proposal we
          can fix it, but else wise we should leave it. If someone
          has a proposal, please put it on the wiki.
  Florian: We should resolve to not address it in CSS3-UI if we're
           going to do that.

  RESOLVED: Do not address this issue (#49, ability to show a
            tooltip with full text when a line is ellipsed) in
            CSS3-UI

  plinss: Anything else we can do in 2 min?
  Florian: Not from me.
  plinss: That's it for the week. Thanks everyone.

Received on Thursday, 4 December 2014 01:27:57 UTC