W3C

- DRAFT -

Cascading Style Sheets (CSS) Working Group Teleconference

20 Feb 2019

Attendees

Present
gregwhitworth, dael, rego, bdc, florian, antonp, astearns, lajava, dbaron, antenna, oriol, dauwhe, rachelandrew, melanierichards, Nigel_Megitt, plinss, chris, ericwilligers, AmeliaBR, bradk
Regrets
Chair
SV_MEETING_CHAIR
Scribe
dael

Contents


<TabAtkins> Regrets for today, dentist appointment

<scribe> ScribeNick: dael

astearns: We'll give people a couple more minutes to call in
... I think we have enough people to start. Does anyone have extra thigns to add besides a new WD of Pseudo 4

fantasai: Couple of grid issues if we have time

astearns: Things that were just agenda+ last night?

fantasai: Yeah

Publish new WD of Pseudo L4

<florian> +1

astearns: fantasai I assume this is just reg WD?

fantasai: Yes. Folded in large number of changes incl cascade changes. 2 issues open for F2F discussion are marked int he draft. Shoudl publish new to get it up to date. Major issues left are around first-line and first-letter

astearns: Objections?

RESOLUTION: Publish new WD of Pseudo L4

When to/not to include preserved trailing spaces

github: https://github.com/w3c/csswg-drafts/issues/3440

fantasai: This was discussion with koji and xidorn with how trailing spaces handled for intrinisic sizing and alignment. xidorn suggested we consider then when counting for max content. For min content b/c trailing spaces don't create overflow or cause wrapping we shouldn't count them. So longest word, not longest work+space controls content
... Other suggestion was to define spaces hang according to allow-end rules. allow-end if it fits in the line it's not hanging. When you do right alignment it won't go outside. If it doesn't fit we allow it to fit on the line and in that case it's hanging

myles: Changing things about expansion opp. is something the web depends on. Do we have compat?

florian: We don'thave compat

myles: Meaning browsers do different things?

florian: Yes. safari does force-end and others do allow-end for alignment

myles: I don't think we have any philosophical desire so as long as no web compat problem we're willing to change

florian: fantasai your last comment in the issue can you clarify? I'm not sure where that's coming from

fantasai: xidorn confirmed my first comment and not second. I think I was trying to figure out...That question is about handling spaces after a forced break diff then soft break or if they're the same
... I think just treating the same is the plan unless someone thinks different

florian: I would think treat the same

fantasai: Obviously they're kind of different when doing max-content content b/c there is no soft break

florian: For rest of the question I think in terms of taking into account for max content and not min content I initially thought we would ignore in both. If you think in terms of punctuation this proposal makes more sense. Including in max-content is right idea. For alignment I could go either way

fantasai: That's what I was thinking. spaces then text then spaces. If we say hang in general and you wrap halfway throught he text you'd see the beginning spaces but not the end. If you right align we end up hanging them
... Gonna depend on how they happen to fit. I think proposed behavior is fine

florian: Makes sense. Good argument

astearns: nigel had a point but he's having difficulty being heard

fantasai: If asking about issue #1997 that's about if inline elements interrupt whitespace trimming. whitespace is trimmed when collapsible, but this is when it's not collapsable so it's not really related

astearns: nigel can you indicate on IRC if that makes sense?

<nigel> okay, I was just referencing that other issue because it seemed relevant

florian: I am in supprot of proposal. Tests need to be updated but I will do so

astearns: trailing spaces should be counted for max-content but not min-content

<nigel> and space allocation at the ends of lines is a big deal for e.g. captions.

astearns: Objections?

RESOLUTION: trailing spaces should be counted for max-content but not min-content

<dbaron> this is all just *preserved* trailing spaces, right?

astearns: What is next thing to resolve?

<florian> dbaron, yes

fantasai: when spaces hang they hand using allow-end behavior rather than force-end

astearns: dbaron has a question on previous and that is correct as far as I understand

fantasai: Yes.

astearns: Next is when preserved trailing spaces hang they do it using allow-end rather than force-end

RESOLUTION: when preserved trailing spaces hang they do it using allow-end rather than force-end

fantasai: Think that's all on this issue

Empty grid tracks should contribute to scrollable overflow

github: https://github.com/w3c/csswg-drafts/issues/3638

astearns: Had some discussion, sounded to me like we were breaking toward including explicit tracks in scrollable area of grid container

fantasai: I agree with that

astearns: Mats had a couple responses at end of thread that sounded like he's not objecting but not happy

fantasai: Wondering if that's b/c impl track info about tracks temp but don't store. Then managing overflow requires tracking additional information somehow. But I think authors really do expect those tracks to be in scrollable overflow so we should do that

astearns: Other opinions?

lajava: I also have doubts about impl this in Chrome. I commented some of my issues with this approach. Because the example about grid tracks contributing to intrinisic size I don't think is the ame as contributing to overflow area as Mats pointed out in last comment

florian: You mean technically they're different so no technical reason to handle the same?

lajava: Conceptual PoV. I don't think it's technically difficult but the argument for doing it is tracks contribute to intrinsic size. BUt in this case grid container has a specific size so shoudln't consider tracks as content by themselves. Why the overflow area is bigger then specific size if there is no content?

florian: I think logic is the author explicitly asked for that size. Even if not putting anything in it putting a size indicates theye xpect tht large. The intrinsic size is one way to see that the size they ask is what they get. If they don't observe it as that size it breaks that assumption. yeah there's no content but grid is often to use whitespace as an active part of the design

astearns: If you have a grid container that has explicit grid tracks, is auto sized, and not scrolling you'll see trailing white space before next bit of content. If you then constrain height and make it scrollable that whitespace disappears. That seems surprising to me

lajava: I'm not sure. I think if there are items in the second row even that first is empty I think we use the bottom position of first item to define scrollable area. In a why the whitespaces in the first row are not lost. Youmean the trailing ones? Yeah, I see
... As Mats said there are other ways to achieve that

fantasai: But there's the question of what do authors expect. They expect the rows to be considered as space that'st here. That they're not scrollable is confusing to them and not what expected. If creating a grid and want random empty spots, if they happen to be in one row that row shoudln't collapse away. If theys aid there is a 100px column it should be there. It might be there from impl but end result of the page is you can't tell it's there.

florian: Thought of something else. Invisible things causing scrollbars to appear tends to be a thing authors hate. Given this isn't part of box model this is harder to find. I think with FF grid dev tools you could figure out what's going on but not other browsers

fantasai: I think if you give explicit track sizes you should be able to figure out it's causing the scroll. We also have padding and it should be considered in scrollable and we get a lot of bugs on why it's not. Initial behavior for overflow is you trigger only as necessary to show content. There are a lot of general expecttations that there will be scrollbars
... Authors are unhappy when don't include padding in scrollable overflow. We're limited by web compat there, but we're not here. I don't think authors will be they put 10 tracks of 100px and why is my scrollable overflow not 500px because only half are full.

florian: I'm back to agreeing

astearns: Your point is fair that this is a new thing that causes space to be added. This isn't in pre-grid dev tools, but that's a dev tool issue

plinss: General principle: If you change the overflow behavior it should not effect it's size

astearns: And size before changed overflow is what we're trying to arrive at where emptytracks contribute to scrollable

iank_: What is use case authors want to have additional tracks?

astearns: Preserving layout intent. It had the whitespace before scrollable so should contibue once it is

florian: And what fantasai said about breathing space between content and edge

iank_: So what padding was previous

AmeliaBR: Or saving space for content that will be added

astearns: Good point. Not changing the size as you add things to explicit grid is pretty useful

iank_: Really good point AmeliaBR

<rego> the padding is also lost as oriol explained https://github.com/w3c/csswg-drafts/issues/3638#issuecomment-464400716

astearns: I thinkw e are converging on including explicit grid track sizing to the scrollable area of a grid container

<rego> it'll be nice to be consistent on that case in the future too

astearns: Anyone on the call that has an argument against or would object to resolving?

lajava: I think rego has a point with padding not being consistant. I think oriol mentioned that in issue

oriol: Prob with padding is there is no interop. In FF it does not add space but in Chromium the space is always added in block axis and sometimes in inline. So there is no interop. I think this is a similar case and would prefer consistent model.

fantasai: We'd like consistent but we're constrained on compat. There are issues on overflow spec and hte goal is to include the padding.

astearns: If oriol says there is no interop there may be more possibility to get behavior we want

<fantasai> See issues in https://drafts.csswg.org/css-overflow-3/#scrollable

fantasai: The amount to which chrome includes padding we're trying to do that. yOu can see those issues on overflow spec. but in inline axis it's pretty random. Sep discussion

daniel: I'm testing chrome 74/ (I assume) and it seems to behave same as FF

lajava: Yes because we just fixed the bug
... b/c there is nothing in the spec that suggests we should use grid tracks to contribute to overflow area. If we want this to be new we should propose new text

fantasai: Yes, this is not a clarification

astearns: That is a slight concern. There is a bug Chrome canary responded to. I'm not sure if that's interop or if person that wrote the chrome bug wanted space to collapse.

fantasai: Don't know, but guessing spec compliance.

astearns: My guess as well

florian: If I'm looking at right thing, chrome bug is from Mats

lajava: Yeah, original bug was to FF but Mats argued they followed spec and he filed bug against Chrome. WE decided to follow spec

astearns: Thanks for the quick response on that

lajava: Means we need to agree with Mats this is behavior we will impl

astearns: Certainly. If we resolve we need to get Mats to agree to change behavior to spec. Unfortunate he's not on call, but I don't see in his issue comments reasons to not resolve the way we intend

florian: Clarification point or extra argument. Given that Chrome in some cases includes padding if we have empty tracks and padding it seems it will be confusing to including padding and not empty tracks

astearns: Interop on incl padding?

<fantasai> https://drafts.csswg.org/css-align-3/#overflow-scroll-position

florian: No but we're trying to including it at least as much as we can. And when alignment is not the default we always do. So when we have some cases where include the padding not including empty track seems weird. Or am I confused?

fantasai: I think we should try and include padding in grid if we can. If we can include empty tracks we should because it's used for many more cases then padding

florian: Yes, but given padding is outside not including the inside is confusing

fantasai: Tackle in sep issue but I think you're right we should adjust grid and flexbox to do thing authors want to do

astearns: Objections to including space in empty explicit grid tracks in the scrollable overflow area?

<florian> +1

RESOLUTION: Include space in empty explicit grid tracks in the scrollable overflow area

astearns: Hopefully impl can follow. We'll get feedback as we go.
... Do we have issues for including padding in scrollable areas?

florian: We do

fantasai: Might want a separate one on grid

astearns: Is that overflow spec or grid?

fantasai: mmm...I think grid. I'll file

<AmeliaBR> Lots of open issues: https://github.com/w3c/csswg-drafts/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+scrollable+padding

Specify better handling of text shadows for ::selection

github: https://github.com/w3c/csswg-drafts/issues/3605

astearns: I see daniel commented. Did you get to read spec daniel?

daniel: I haven't

fantasai: When we highlight text the problem is if you have a shadow behind. In general I would expect highlight to obscure shadow. In tess I've seen highlighting lets you see text badly styled.

daniel: Sounds like you don't expect pic I posted?

fantasai: The color of text and background of highligh are defined by selection. If we keep color of text from selection but take shadow from author we might not get enough contrast between text and shadow behind.
... Whereas if we obscure the text shadow then you can ensure there is enough contrast b/c you have chosen both text and background color

AmeliaBR: A little confused about drawing over text shadow. It's not like text decoration where it's contibuous from parent. text shadow is inheriting. It's not about drawing over, it's were' drawing within selection and that's part of character style

chris: Sounds like 2 models for this. One if it's above or below and another is painting without shadow.

fantasai: That's fair. Maybe way to deal is UA default sheet should have text-shadow:none and that turns it off in selection

daniel: I like effect in picture. That would be example of if someone wanted to do word processing that's what I'd expect as a user. Any way we can let a webdev get that?

fantasai: If we go with AmeliaBR model author could set text-shadow unset?

AmeliaBR: But what if you want it preserved in selection. Maybe in the default selection styles could include turning off text shadow. But if user sets selection styles we shoudln't unset an inherited style

<chris> +1 to what Amelia said. Set a good default but give authors control

fantasai: I think in cases users won't think through it. If selection color was navy blue and white

AmeliaBR: If author has set custom selection and not considered contrast that's author error

fantasai: Theyd idn't think about the text shadow that's incompat. I think text shadow should be an explicit opt in

AmeliaBR: As an author I would not want browser to mess thigns up so I have to explicitly say text-shadow:inherit on my selection

fantasai: I don't think text-shadow:inherit would work b/c inherit from parent selection

chris: Better to let author do what they want. Fine to have a default, but argument for not having contrast is same for setting foreground and background color.

<astearns> also chris: you can't legislate against bad design

fantasai: I think it's a question is where styles come from and do authors except them to combine. You as author should set background and foreground readable and text shadow in conjunction with that. Seems unlikely you'll style a psace and have headers with white text on black shadow and somewhere else in stylesheet you have hot pink as selection color with black text
... Then in that section you have black text on a black shadow with a hot pink background. It's hard to read. You were thinking about making sure you had enough contrast, but where you set text shadow it takes effect

AmeliaBR: I want to point out one of the things I use text-shadow for is to create contrast. If I've intentionally added something to create contrast and you wipe it for selection that could be counterintuitive. Unless I have easy way to say inherit that i's confusing

fantasai: But that is cause of creating context, but when have selection you have different background and text color and shadow will no longer give you contrast. It should be exactly wrong color

daniel: Seems to alternate between 2 audiences. One is web dev and stylesheet and other is person on computer who has own stylesheet. I think there's 2 answers. If this is for the website it's the website author's problem. I can see your argument makes sense for a human who has their own stylesheet

fantasai: I'm worried about author picks good colors in all cases but when you use selection color with the shadow that was for the heading you end up with a combo of the same color becaue selection wasn't thinking about heading having shadow

daniel: I think that's their responcibility to think through. They can do selection pseudo with good properties.
... solution: if you take the selection, paint the background and then blend shadow when you paint so that it preserves contrast. NOt exactly what author wants but we're correcting. Could be crazy solution

fantasai: If author wants text shadow to show through selection you can set that

daniel: I think that's the wrong audience. What does use expect and I think they would expect shadow to stay

fantasai: I didn't expect it to stay

daniel: Native OS gets you that result

gregwhitworth: We are doing a lot of user studies in similar scenario. WE had to come to same conclusion that ultimately that's what selection pseudo is for and author needs to think through. WE have to give capability for authors to override so they can still do stupid things. I don't know what to standardize but would instead leave it to UAs. This comes down to user preference and in our studies people wanted it all ways and authors too.
... Don't know how to strandardize and take that all in in a meaningful way

<chris> authoring advice is a good way forward

astearns: Maybe we change from what should happen in the spec to an authoring note telling authors they should consider this but not put normative requirements on UA

florian: seems like a lot of work for authors. Every time you have selection you should turn off text shadow before you think about it so you get right contrast. Defualt is you have to cancel the shadow and please think about it

astearns: Not sure default is you should cancel the shadow

florian: If you set selection you set foreground and background color. If shadow comesfrom whereever it could be whatever color and you don't know contrast is good
... So by default you need to suppress it

fantasai: No one is going to think to reset shadow when setting selection. you're not using shadows everywhere. I think we should be biased toward good contrast

daniel: Could adjust visibility of color. webkit does this for regular foreground text. That's one way

fantasai: Let's talk about this later, we're not going to resolve today

astearns: Not much time in the call and not hearing consensus. Let's close for now and come back.

end

astearns: In IRC rego pointed out a possible agenda item

<astearns> https://github.com/w3c/csswg-drafts/issues/3416

<gregwhitworth> fantasai: maybe we can discuss this at the F2F as a breakout session?

<fantasai> gregwhitworth, added it to the F2F agenda

astearns: Prob need to cover at F2F so please take a look. Also a couple of grid items fantasai mentioned but please look so we can get to them at F2F.

<gregwhitworth> fantasai: thanks

astearns: Anything else?
... That's it then. For everyone travelling next week, safe travels. See you then.

<astearns> trackbot, end meeting

Summary of Action Items

Summary of Resolutions

  1. Publish new WD of Pseudo L4
  2. trailing spaces should be counted for max-content but not min-content
  3. when preserved trailing spaces hang they do it using allow-end rather than force-end
  4. Include space in empty explicit grid tracks in the scrollable overflow area
[End of minutes]

Minutes manually created (not a transcript), formatted by David Booth's scribe.perl version 1.154 (CVS log)
$Date: 2019/02/20 19:54:57 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.154  of Date: 2018/09/25 16:35:56  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: Irssi_ISO8601_Log_Text_Format (score 1.00)

Succeeded: s/[missed]/max-content/
Succeeded: s/chrome 24/chrome 74/ (I assume)/
Succeeded: s/painting over/painting without shadow/
Default Present: gregwhitworth, dael, rego, bdc, florian, antonp, astearns, lajava, dbaron, antenna, oriol, dauwhe, rachelandrew, melanierichards, Nigel_Megitt, plinss, chris, ericwilligers, AmeliaBR, bradk
Present: gregwhitworth dael rego bdc florian antonp astearns lajava dbaron antenna oriol dauwhe rachelandrew melanierichards Nigel_Megitt plinss chris ericwilligers AmeliaBR bradk
Found ScribeNick: dael
Inferring Scribes: dael

WARNING: No meeting chair found!
You should specify the meeting chair like this:
<dbooth> Chair: dbooth

Found Date: 20 Feb 2019
People with action items: 

WARNING: IRC log location not specified!  (You can ignore this 
warning if you do not want the generated minutes to contain 
a link to the original IRC log.)


[End of scribe.perl diagnostic output]