Discussion:
[CSSWG] Minutes Telecon 2018-01-17 [css-shapes] [css-values] [css-fonts-4] [filter-effects]
(too old to reply)
Dael Jackson
2018-01-18 01:01:34 UTC
Permalink
=========================================
These are the official CSSWG minutes.
Unless you're correcting the minutes,
Please respond by starting a new thread
with an appropriate subject line.
=========================================


Move overscroll-behavior spec from WICG to csswg-drafts
-------------------------------------------------------

- RESOLVED: Bring the overscroll-behavior spec to CSSWG drafts as
an ED.

CSS Shapes
----------

- RESOLVED: Leave the spec as is, will not extend the spec to
support the item raised in #2175 (ellipse with single
<shape-radius>)

Values & Units
--------------

- Several implementors stated that they would eventually implement
the previously resolved change to the <position> spec that
3-valued positions would no longer be part of <position> syntax
for any properties other than background-position.

CSS Fonts
---------

- RESOLVED: No change for issue #1531
- Vlad raised a concern that there are some assumptions in the spec
as to how all fonts behave that may need to be re-examined. He
will file a new issue to work through validating any
over-generalized behaviors.

FXTF/Filter Effects
-------------------

- When trying to determine what the correct spec behavior is for
FXTF issue #238 (What should happen if filter and
background-attachment fixed; applied to the same element?) the
group discovered that everyone lacked clarity on the proper
order of operations involved so krit will try and develop the
correct order which should add clarity for the correct solution.

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

Agenda: https://lists.w3.org/Archives/Public/www-style/2018Jan/0094.html

Present:
Rachel Andrew
Rossen Atanassov
David Baron
Amelia Bellamy-Royds
Dave Cramer
Alex Critchfield
Benjamin De Cock
Simon Fraser
Tony Graham
Dael Jackson
Brad Kemper
Vladimir Levantovsky
Chris Lilley
Peter Linss
Thierry Michel
Myles Maxfield
Anton Prowse
Liam Quin
Dirk Schulze
Jen Simmons
Alan Stearns
Lea Verou
Greg Whitworth
Eric Willigers

Regrets:
Michael Miller
Melanie Richards
Florian Rivoal

Scribe: dael

Move overscroll-behavior spec from WICG to csswg-drafts
=======================================================
github: https://github.com/w3c/csswg-drafts/issues/2179

Rossen: Since Florian has sent his regrets, is tantek or Chris able
to represent?
Chris: I'm here.
Rossen: Can you present this since you're active on the thread?
Chris: Okay. This is a proposal for the overscroll-behavior. It's
been incubated. There's 2 implementations, 1 shipped one
about to be. A bit late to move it but it should be. I wrote
to the Facebook AC rep asking them to join. This seems a
reasonable spec and reasonable to pick up. tantek was also in
favor.
smfr: I'm in favor for Apple.
Rossen: Okay.
Rossen: Any objections to bringing the overscroll-behavior spec to
CSSWG drafts?

RESOLVED: Bring the overscroll-behavior spec to CSSWG drafts.

Rossen: Chris will this transfer as an ED?
Chris: Yes and then we have to do the FPWD thing. I think
scroll-anchoring was the first we moved.
Rossen: So what we did there we replicate. We bring as ED and then
do first public working draft.
Chris: Exactly.

CSS Shapes
==========

ellipse with single <shape-radius>
----------------------------------
github: https://github.com/w3c/csswg-drafts/issues/2175

ericwilligers: I want to know, should we adopt what blink and webkit
have shipped or is this a bug? I've only just noticed
so I started a use counter but we won't have data for
months.
Chris: What they have is a bit weird. It's more of an error
correction as far as I can see.
astearns: This is just an error case so I don't mind what we choose
to do. Going with what's impl seems easiest.
ericwilligers: We could easily do what AmeliaBR suggested.
fantasai: Does web content use this format?
ericwilligers: No idea.
Chris: Use counter was just installed.
<smfr> shapes are very little used in the wild
fantasai: As AmeliaBR points out it's very unusual for us to not
double in both axes. If there isn't web content dependency
it makes more sense to do that. There's only one place we
don't do that, background-size, and I consider that a
mistake.

Rossen: ericwilligers when do you expect data? If this is still very
early on and it's a bug level fix to back out by preference
is someone who is going to be impl down the road would be to
go simpler and not have that behavior.
ericwilligers: 12 weeks until data.
Rossen: Okay. Wow.
ericwilligers: Maybe you can collect data server-side. I've never
done that.

<AmeliaBR> Current spec is that single radius value is invalid, so
it would be fine to add support for two values later.
<AmeliaBR> The problem is Blink/WebKit supporting one value, but
with a non-intuitive behavior.

gregwhitworth: Can we resolve one way or another and if the data
comes back and proves us wrong we can revert? I don't
see a ton of use of Shapes in general.
Rossen: We can. We'll have to resolve today for the spec text. In
the presence of more evidence and patterns on the web we can
re-discuss. For now I wanted to hear from blink engineers if
you'd push back in terms of resolution.
smfr: I would be fine to treat this as a bug fix in webkit.
Rossen: Blink?
ericwilligers: I don't see any benefits of the current approach. I
wouldn't be able to change without data.
Rossen: We're talking about changes to spec. Impl changes would
happen when you get the data. I'm asking if you object to
resolve on the contrary to your current behavior. In the
presence of more data we'll review again.
ericwilligers: No objection.
Rossen: Sounds like 2 impl shipping are not objecting to keeping the
spec as-is. Any other opinions/objections?

RESOLVED: Leave the spec as is, will not extend the spec to support
the item raised in #2175

Values & Units
==============

Retiring support for 3-valued positions (excluding background)
--------------------------------------------------------------
github: https://github.com/w3c/csswg-drafts/issues/2140

fantasai: There's an issue from ericwilligers with some data about
the incidence of 3 value syntax and checking if we want to
go ahead with that.
ericwilligers: We made a spec change months ago, but I don't think
any impl changed. Do we still support the spec change
and are impl planning to change if so? I don't think
one impl will change if the others aren't good to
change.
Rossen: You're saying based on your data this is a safe change?
ericwilligers: Yes.
Rossen: Current proposal is that for basic shapes, gradient, object
position, and perspective origin to remove support for 3
value positions is safe and we should do it.
ericwilligers: Original motive was so we can have % adjacent to
positions. That's the motivation since it was
ambiguous. If you have a position followed by a
length you wouldn't know what it was.
fantasai: Yes, the issue was we wanted to use position in more
places.
<fantasai> Like transforms

Rossen: What are impl opinions? Sounds like ericwilligers/Blink is
willing to adopt the change. I would have to check what that
means for our (Microsoft) logic and if that would disrupt
some of the uses we have of positions. If this will hurt
more then help. But I don't believe this will be the case so
I don't object to going ahead with this.
Rossen: I'd like to hear from webkit and gecko.
smfr: I don't have a good feel for web compat risk so I won't know.
Rossen: Is this something you can gather that will be more then the
data posted by ericwilligers? Or will you rely on
ericwilligers' data?
smfr: We don't have data gathering as fine-grain as ericwilligers's
data.
smfr: We'd be willing to change as long as we don't find internal
content that would break.
Rossen: Gecko?
dbaron: We'd be fine to change if other engines are willing.

Rossen: So ericwilligers it sounds like more or less everyone is
willing to change. Is this something you're looking for in
terms of time frame? Is it on your schedule?
ericwilligers: This is fine. I consider that intent to change.
Before I put it before the community I wanted to
check position, but everything is fine. I'll send out
intent this week.
Rossen: Anything more on this?
ericwilligers: No.
Rossen: Doesn't sound we need a resolution because we have one to
change. Now it's mostly an agreement of when to roll out the
change. Thanks.

CSS Fonts
=========

Should the OpenType spec dictate the acceptable values for variable
font CSS properties?
-------------------------------------------------------------------
github: https://github.com/w3c/csswg-drafts/issues/1531

myles: There was an issue that was raised with a bunch of pieces.
All but one were misunderstandings. One has become an issue.
In a variable font there are axes. There's a weight one for
example. The question is should there be limits on the
acceptable values on these axes? If yes, what?
myles: For oblique you may not want >90. Weight no greater then 999.
Etc.
myles: This came up because italic. There's two popular font formats
and they both support variations. Open Type spec says it has
limits on axis values, but true type doesn't have limits.
myles: When I wrote the spec I allowed both to be supported, however
the issue is brought up saying that maybe it should be
limited to the values in open type.
myles: That's problematic because we won't be able to use both types
equally.

<Vlad> I think there is a lot of misunderstanding here, and many
assumptions need to be verified prior to making a final
decision.
<Vlad> For details, one might want to look at
https://www.microsoft.com/typography/otspec/otvaroverview.htm#CSN

Chris: I'm not sure I'd put it the same way. I understand aat does
things differently. It's not just range, but default values.
I remember I fell into this using a non-open type font and
the ranges were something like 0-4 and that was problematic.
Chris: To my mind most of fonts 3 and 4 are based on open type. Then
we said how other formats map to that. I don't mind if it
says for aat fonts there are different things. Where open
type has the same range for everything is more intuitive.
myles: I understand that point. Counter is there are default values
in the true type spec. There is a straightforward mapping to
the scales CSS uses. I don't think...we are making a new
standard so we should make one that both font files apply
equally. It's possible.
Chris: Could you say more about the it's possible? If they're using
different initial values I don't understand how to compat.
myles: The scales can be linearly mapped. For weight CSS says
default is 400, true type is 1.0. 1 maps to 400, 0 to 0.
Chris: Okay, okay. hmm.
Chris: That sounds persuasive.
Chris: I don't want to be reluctant, but seeing spec text would make
me happier. I would like to see specifically what you want to
change.
myles: Proposal in the issue is limit the acceptable range to the
italic variable fonts axis.
myles: Proposal was change the spec. I would argue we shouldn't
change and accept all values because both fonts can work with
that.
Chris: That's for italic where it doesn't mean oblique.
myles: Yes.
Chris: Then I'm a lot happier.

<Vlad> I think we should carefully revisit this topic. I believe
many assumptions about what the variation axis value
represents need to be revisited.

jensimmons: I'm working with a team looking at variable fonts as we
design tooling.
jensimmons: We were thinking of weight with a slider at 0 to 1000
where a font may have juiciness between 200 and 800, but
the slider would show the whole thing. Sounds like
that's what you're talking about where css has an upper
range limit and I would say yes. We could make a better
tool. Elsewise the only numbers are those in the font.
jensimmons: Then the tool would change as people go font to font and
they're trying to set fonts for all of a stack.
Chris: That's what I was trying to set. But people use font stacks
less and they're more setting features on a font and
providing it. The idea that you would set two values I'm
trying to avoid.
myles: I want to also. My position is that for the axes browsers
know there is one scale representable for that axis. CSS desc
that, browsers impl that, then that scale is mapped to the
underlying font tech to make that font have the desired
effect.
Chris: sgtm
Rossen: Sounds like we're coming to a consensus.

Rossen: One person that's IRC only and was active on GH is Vlad. I
want to make sure his point is looked at.
Rossen: Vlad are you on the call?
<Vlad> I am on the call but you don;t seem to be able to hear me
Rossen: We cannot hear you.
<Vlad> Let me try another audio connection
Rossen: While Vlad tries to fix his audio, Chris or myles did you
get to read his IRC comments?
Chris: I read them, but I don't know what he means exactly.

Vlad: Sorry about that. I was trying to say that I'm fine with
leaving as is, but I think we need to revisit carefully in
detail. Assumptions we make in what the font variation axes
are may not hold. Even for weight the assumptions we make that
all fonts can support a particular limit is not true, that's
up to the designer.
Vlad: We can't easily resolve right now so we can leave spec as
written, but we need to make an effort to ensure what we have
will be usable when spec if finalized.
Vlad: Example regular and condensed fonts, the weight axis is not
determined by character stem width. Weight is how heavy the
font is and the condensed will look more heavy with the same
stem size. Weight is somewhat relative. Therefore assuming 900
looks the same is not true, nor is it true 900 is always
supported.
myles: I'm happy to go through this in the future with you.
Vlad: I just wanted to make sure that nothing is set in stone right
this moment.
Chris: Vlad remember the descriptors can say what range, like this
font is 100-350 and if you ask for 500 you get a different
font.
Vlad: Yeah. But some axes, like italic, don't have a particular
range and the variation may change for fonts. Oblique is more
straight forward. The variation for italic isn't as
deterministic as slant, for example.

Rossen: I'm trying to see if we can scope an end. Vlad with the
current proposed resolution it doesn't sound like we will be
constrained with the concerns you have.
Rossen: And reading myles he'd be happy to revisit this when we get
to it.
Vlad: What I'm saying is what's in the spec is based on assumptions
about font behavior where there are variations. We need to
revisit those assumptions before we make a final call.
Rossen: Do you guys want to go back to GH?
myles: I think what Vlad is covering is a secondary issue. If you
have specific places where it may be broken I'd encourage you
to open new issues. On this specific topic I'd hope we can
resolve.
Vlad: My concern is this particular issue where the new name from
it, I don't think that's even possible. Open type spec
couldn't dictate even if you want it too. Variation values are
normalized to what the font designer encoded. The effect of
the variation axis will not be the same for every font. I'm
not sure how to take the issue title.
myles: The way the spec is designed there are 3 axes the browser
understands. For those 3 I think it's reasonable there's a
scale where if an author sets a value in the scale the
browser can do whatever in that scale to represent. If the
axis is something the browser doesn't understand what can it
do?
Vlad: I'm fine with this issue. But I think you're assuming the
browser will know what to do with a value and I don't think
that's always true.
myles: You should open a new issue for that.

Rossen: So for the current, proposed resolution is?
myles: No change.
Rossen: Proposed resolution is no change.
Rossen: Objections?

RESOLVED: No change for issue #1531

<fantasai> myles: Somewhat related question: how do you handle the
different axes of slant?
<fantasai> myles: e.g. in vertical text

Default feature list should not require a list of features to turn on
---------------------------------------------------------------------
github: https://github.com/w3c/csswg-drafts/issues/1267

myles: I needed to do homework for this topic and I didn't so we
should defer.

FXTF Items
==========

Rossen: There's a number of FXTF items. I don't know who has time to
review what. krit and AmeliaBR are on the phone, I believe.
There's many issues, but if there's 1 or 2 on the top of the
list I'd like to know which.

What should happen if filter and background-attachment fixed; applied
to the same element?
---------------------------------------------------------------------
github: https://github.com/w3c/fxtf-drafts/issues/238

krit: In certain cases it's possible to fix an object. When you look
at the 2nd link in first comment there's an example. You can
open in any browser except Safari. Element is fixed, has a
filter applied. When you scroll down user expects top line is
blurred as well. You can watch that in FF or Chrome to see
difference.
krit: On the top row there is always some white because something
outside the box is tagged for blur. User expects once you
scroll you don't take white.
<krit> https://jsfiddle.net/3bdv532b/
krit: Safari you can see that or there's an example ^
krit: If you try to get this link open in any browser you'll see the
difference.
krit: If you open it you can scroll down a bit, element is still
fixed, top row doesn't have white. Scroll up and there's
white. That's a very specific issue. User expects there's some
indication on the fixed element.

Rossen: For what it's worth I see Edge has same behavior. We have
some issue with fixed background that I'm hoping we'll fix,
but it seems we're handling the same...uh, sorry. We're same
as Chrome and FF. This isn't what spec defines?
krit: It's what the spec defines. But the author expects what you
see in safari.
krit: You can see that from the jsfiddle, it's an emulation of the
correct behavior using JS.
krit: If you scroll down you don't see white on the top.
krit: I do think that behavior of Edge/Chrome/FF is as spec
intended. But for users it's a better indication if the blue
scrolled with doc as the background stays fixed.
krit: You could argue there's a JS work around. And I'd be in favor
of staying with current.
Rossen: So you propose no change?
krit: Right.
<Chris> No-one can hear me, but for me the fiddle is working very
oddly in firefox

AmeliaBR: I haven't looked carefully, but if Safari is different
it's probably how they handle edge mode of blurs. I'm
pretty sure the other browsers aren't matching spec unless
spec was changed. It's about avoiding edges of elements
getting eroded when you blur the element and that's what
we see. We're first clipping and then blur erodes.
krit: Spec states that what you draw on the screen gets filtered
after. Therefore what you should see is what you get from FF.
There's nothing beyond doc top if you want to put it that way.
smfr: I'm not sure spec says what happens outside doc bounds. For me
Safari makes more sense. Other browsers are pulling in white
from beyond doc bounds which doesn't seem right.
krit: Does background get clipped to viewport? If it's beyond you're
probably right.
smfr: I don't think we ever spec that. Maybe filter should spec what
happens when you can potentially get pixels from outside the
viewport.
Rossen: Is this viewport or any scrollport?
smfr: Anywhere with clipping I guess.
Rossen: From that PoV I wouldn't want special casing for viewport.
Rossen: It's general for all scroll port.

smfr: If this was inside overflow hidden you'd expect pixel from the
outside content maybe? So maybe experiment with blurred things
inside and see what the pixel effects are. That's a more
general.
smfr: This specific problem is pretty irrelevant. I haven't seen a
page to do this, but it would be good to spec carefully.
krit: If an object is clipped with clip path it's clear, but here
clipping is implicit by the browser itself.
smfr: You have to think about order. If there's clipping and
blurring we clip and then blur. If the ancestor clips and blur
is descendant that's more similar.
Rossen: Right.
smfr: I don't know if we have a good desc of the ordering these
effects occur in. I don't think it's written you clip then
filter.
<dbaron> I think there are some open github issues about specifying
the ordering...
AmeliaBR: General is clip after filter. Nobody has written in any
spec how that applies to something like background
attachment, but generally clip after filter.
smfr: Not sure that's what we impl.
fantasai: Clip to a whole element, I think you filter to the whole
element and then clip. Backgrounds are different, you draw
it and then filter then clip it.
fantasai: Background is clipped to the boundaries already because
it's only drawn to the element boundaries. You draw
background into the area and then we filter the whole
thing that results.
AmeliaBR: Good point.
fantasai: We need a background filter property, but we don't have
one.
AmeliaBR: That's different effects. What fantasai is saying is that
the background is acting like a child to the element where
it gets clipper earlier in the rendering. Overflow on the
element is a clip after filter, but background attachment
is at a different place.

Rossen: We're nearing the end of the call. We have some fairly basic
order of operations and based on this discussion we don't
have a clear explanation of what happens when in the combo
of backgrounds, no backgrounds, clip, clip-path etc. I would
be curious to see if we can agree on the order and from that
we should be able to extrapolate what this should do in
terms of clip and blur
Rossen: Would you be interested in putting that inside this issue
krit?
krit: Yes, I think we should.
Rossen: We're at the end of the call. I don't think we can resolve.
I suggest going back to the issue and continuing.

Rossen: I also want to invite anyone in the CSSWG participating in
FXTF to look at all the items in the agenda and participate
before next week. We'll continue discussing open items as
time permits.
Rossen: Thanks for calling and we'll chat next week.

Loading...