- From: Dael Jackson <daelcss@gmail.com>
- Date: Thu, 5 Mar 2020 05:35:21 -0500
- To: www-style@w3.org
=========================================
These are the official CSSWG minutes.
Unless you're correcting the minutes,
Please respond by starting a new thread
with an appropriate subject line.
=========================================
F2F
---
- Group members should update their Cork F2F travel
plans/availability on the wiki so that a determination can be
made on if the F2F will proceed as planned or if there's a need
to develop a backup plan.
Media Queries
-------------
- RESOLVED: Add three issues to the ED [Draft needs a security and
privacy section. Add an issue for if there should be
more than binary values. Add to the draft that this is
still under discussion and maybe not ready to ship]
(Issue #2370: Adding prefers-reduced-data as part of MQ5
FPWD)
CSS Paged Media
---------------
- RESOLVED: Name this page-orientation with values rotate-left and
rotate-right (Issue #4491: Add orientation descriptor)
CSS Values 4
------------
- RESOLVED: min() and max() get simplified by simple unit values of
the same unit we reduce to one instance of each. We also
reorder the arguments in the same way that sums reorder.
Review math functions for consistency (Issue #4550:
Specify simplification of min() and max() more
explicitly)
CSS Fonts
---------
- Originally the group was looking to amend the algorithm for
selecting first available font to check for the 0 glyph, if not
there check for .notdef glyph, else use 0.5em (Issue #4796:
Reconsider the definition of "first available font"). Upon
discussion it became clear that using 0.5em was problematic for
looking for a font file so discussion will continue in the issue.
===== FULL MINUTES BELOW ======
Agenda: https://lists.w3.org/Archives/Public/www-style/2020Mar/0004.html
Present:
Adam Argyle
Tab Atkins
Oriol Brufau
Elika Etemad
Simon Fraser
Chris Harrelson
Daniel Holbert
Dael Jackson
Dean Jackson
Sanket Joshi
Chris Lilley
Peter Linss
Cameron McCormack
Brian Kardell
Devin Rousso
Alan Stearns
Lea Verou
Regrets:
Rachel Andrew
Amelia Bellamy-Royds
Christian Biesinger
Mike Bremford
Manuel Rego Casasnovas
Florian Rivoal
Christopher Schmitt
Jen Simmons
Miriam Suzanne
Scribe: dael
astearns: We should get started. fantasai noted first item on the
agenda which I found with a stray agenda+ had been
resolved so we'll skip
astearns: Also will skip the 4th because don't have right people
astearns: Not sure about 2. Is Adam on?
Adam: There were other people with questions. Should they be present?
astearns: florian mentioned it for attention but fine without him
astearns: Any other agenda changes?
astearns: I'd like to add- I asked on private list. If you know if
you will/won't make it to Cork please update the wiki
astearns: At the moment we have 4 or 5 people that may make it and
the rest on the wiki say they cannot make it. Need to know
if we should change to tele-presence or cancel. Please
update wiki with your plans as you know them now
Media Queries 5
===============
Adding prefers-reduced-data as part of MQ5 FPWD
-----------------------------------------------
github: https://github.com/w3c/csswg-drafts/issues/2370
<fantasai> https://www.w3.org/TR/mediaqueries-5/#prefers-reduced-data
Adam: Inspired by JS having similar things. Access to information
about users like data saver on your phone where you can say at
a high level you want to use less data. Can reduce background
activities. In JS we can be aware of this just like we can
reduce motion.
Adam: If they're in 2G or paying for data or something like that.
Proposal is a flag in CSS so we can make adjustments. Proposal
JS is granular but CSS just needs on or off. Do they want to
reduce or carry on undefined.
Adam: Good intro?
astearns: Sure
fantasai: Good idea to have a MQ for this. Concern there is
different levels of less data. One is I'm on a slow
connection, another is I'm paying small data and want
reduced functionality. I'm wondering if need a couple of
levels. Reduce data and another to compromise
functionality if needed
Adam: Good question. Reminds me of lie-fi which is where it says you
have wifi but you don't. Frustrating for user because what do
you do. People can use things like service worker for that.
CSS I'm not sure if we need more. I like we're mimicking the
system binary
Adam: Most questionable part of MQ is around how hard is it to use.
Examples people put is I have a big BG image and people want
to do a color but then browser has already loaded your image.
Lot of potential to not work. CSS because how it loads there's
potential to not get what you want.
Adam: Need to have a say where it goes. Maybe needs to be in head.
MQ often bottom of file
TabAtkins: I suspect we don't need more levels right now because I
don't see it being likely you have much you can do
besides if it's not in data saver I load and if it's in
mode I load colors. There's not much useful in CSS we can
do. I suspect we just need the two. Load or don't load
images
Adam: Fonts as well. You can load expensive custom fonts. Put behind
the MQ and only load if they don't have preference
TabAtkins: Yeah. Yeah. Fonts and images. There isn't a middle
ground. Either load or not
smfr: Apple's main concern is this is more fingerprinting. It's
biased fingerprinting toward low income with limited data.
We're concerned this could be a targeting vector.
smfr: iOS does have a settings switch but adds more fingerprinting
where it remembers you flipped this switch on certain wifi.
That's a worry.
smfr: Would like to see security and privacy section added to the
spec
smfr: Not objecting but we do have concerns. Discussing if we would
implement
TabAtkins: Are you implementing the header?
smfr: I think answer is no
TabAtkins: Okay. You're not doing client hints that's acceptable
problem
fantasai: MQ aren't just CSS. Can also be accessed in JS and HTML
attributes to load files. Not just about CSS but also
controls if you load a JS library.
fantasai: Also these days not about if it's a BG image people are
loading lots of videos for decoration and that's data
that's not needed. Can replace that with an image. But if
you're even more resource constrained you'd want no image
fantasai: If we don't have multiple levels now we should design so
that we can expand later. I think there is multiple levels
here and it's not just about CSS
Adam: Good examples. I like them
<dino> I'm not sure if the type of person who would load a huge
video as a background image would also provide a fallback
that is a solid colour :)
<fantasai> dino, I can see AirBnB doing that, frex. They get pulled
down over roaming connections a lot.
astearns: Hearing we need security and privacy section. Second is we
should have separate issue about needing more then a
binary state
astearns: One bit of background. This is on agenda because intent to
prototype in Chrome
smfr: Would have liked to see discussion in WG before PR merged
<fantasai> +1 to smfr, adding features should get WG resolution
astearns: I think there was some but I agree there could have been
more.
astearns: Looking through issue and not seeing discussion before
merge, just comments on the issue
fantasai: Remove it from draft or add annotation on issues or don't
leave indication that there's an issue in the draft?
TabAtkins: I don't think we should remove given client hints serves
the same data. Exposing to CSS is user friendliness.
Precise design open issues on that. So long as client
hints is going through I think we should have this in MQ
as well
fantasai: We should annotate the issues a bit in the draft
TabAtkins: Yeah
smfr: Are client hints more than one impl? The comparison isn't
valid if blink is only browser that impl client hints
astearns: Anyone know the status in gecko?
heycam: I don't believe we impl that
astearns: Three issues. Security and privacy section. Add issue for
more than binary. Add this is still under discussion and
maybe not ready to ship
astearns: Accurate?
Adam: Yes to me
chris: Question. Agenda item talks about if this should be in FPWD.
That was published yesterday so whatever we decide will
impact the ED. I think it was published with this included. I
just took the ED and went forward
astearns: Yes, that's what you should have done. We can take it out
if need be
astearns: Enough for now? Add the three issues to the draft and add
them as separate GH issues
astearns: Proposal: Add three issues to ED
RESOLVED: Add three issues to the ED
<TabAtkins> Even in the "video vs img vs color" scenario, I don't
think there's a particularly useful line to draw there.
Basically, I don't think there's a particularly useful
"I have plenty of data, but I'm not the *sultan*" line
to use, at least in CSS. JS can do more complicated
stuff, but I think in such a scenario you should
downgrade all the way to a gradient or a very small
image, if people are requesting reduced data at all.
CSS Paged Media
===============
Add orientation descriptor
--------------------------
github: https://github.com/w3c/csswg-drafts/issues/4491
chrishtr: Discussed in Dec. Can add to a named page to control
rotation in printed output.
chrishtr: Use cases are to provide orientation for dominant content
direction when multi direction. Second it allow dev to
provide mixed rotations for UA that don't support other
page rotation parts
chrishtr: I think some consensus use cases make sense.
chrishtr: Discussion on name
chrishtr: Check for consensus and then do name.
<bkardell_> https://docs.google.com/document/d/1plEqcBz_6ApmtWYCSRxwOANgF5aGoAL2B0s_9PSQJF0/edit#heading=h.zd7icrtuskjo
<fantasai> https://github.com/w3c/csswg-drafts/issues/4491#issuecomment-590613842
fantasai: Not clear on the behavior of this. I read TabAtkins
comment that makes sense but you said it's not that
TabAtkins: What happens is in cases where printed output but you
control how pages are displayed, aka pdf, adjusts how
they're oriented in that display.
TabAtkins: You can have a whole bunch of portrait and then some are
landscape
fantasai: Example in comment. Doc with a table, assign table to
landscape with features we have. Printer the landscape is
oriented to portrait. When open a PDF you get a bunch of
portrait pages and a landscape for the page that has a
table which is upright for me on the screen. That's
without this property. Current behavior
fantasai: Proposal is to rotate the landscape so it's sideways and
you have to turn your head to read?
TabAtkins: It's something else
fantasai: What is the default that should happen right now?
TabAtkins: Ideally you do what you described. Wide table you force
to a named page and say landscape
TabAtkins: In scenario today where browsers do not have ability to
do different size pages in layout what you instead do is
layout everything as portrait. If that means putting out
bitmaps or whatever it all comes out as portrait.
TabAtkins: This feature then says if you're output to a pdf go ahead
and rotate. This is a the good feature isn't impl so
let's put in this feature for now. It'll be a few years
before browser can address properly
fantasai: Okay, I think I understand. So this rotates whole paper
including headers
TabAtkins: Correct.
TabAtkins: When browser can control paper orientation is this
property
fantasai: Use case you're bringing up is you pre-rotate using
writing-mode or transform or something and then rotate
back to get effect of if we had portrait/landscape
TabAtkins: Correct
bkardell: I shared a google doc from gsuites that talked about uses
involving mixed orientations. Is that included here?
chrishtr: mixed means some landscape and some portrait. So your
original comment is correct, and the additional use case
from TabAtkins is a browser that doesn't fully support to
still be able to output.
bkardell: I see that in issue. Thanks
astearns: Currently for output formats that can handle layout
orientation. When browser can layout as a landscape page
would this property start applying to on screen?
fantasai: No
TabAtkins: Not unless display in paged format which generally don't
chrishtr: If site applies page:landscape and rotate:left you get
things that look sideways. Shouldn't do that. Should only
apply rotate for layout of printed mode
astearns: I'm thinking of paged view on tablet. Currently...if you
had this you could layout such that someone can rotate
screen and get better view of horz content
chrishtr: Cases where drawn by dev layout but paginated layout?
astearns: Future browser with paginated ux
TabAtkins: Got it. Depends on if it allows rotation of pages. If
wants to be more like printed it would not respect. But
if it's just layout onto desktop screen it would respect
this property and rotate the page for you
chrishtr: If you consider pdf viewer on tablet you can imagine
browser to integrate with pdf viewer to not respect this
and expect you to rotate. It's an option impl could choose
fantasai: It's a good point astearns and we should write up that
situation
astearns: I've got people with defined opinions on pdf viewers we
can consult
TabAtkins: Want to make sure it's clear in description where this
applies. Paginated viewing and makes sense to author
orientation of page based on user preference not device
orientation. Happy to work together to make sure text
looks good
astearns: Other questions or opinions on basic design before we do
naming?
astearns: Let's talk names
astearns: My opinion is page-rotate makes sense since talking
pagination
chrishtr: Makes sense to me
astearns: Other opinions?
astearns: We're not setting anything in stone. I think for now go
with page-rotate and with issue discussion
fantasai: page-rotate or page-orient. rotate-left and -right makes
sense
TabAtkins: I like rotate because it's spinning. I would accept
orientation
fantasai: I think that was my opinion until astearns' examples where
this is a hint about correct orientation but you might not
honor that. It's hint about orientation but not a command
to rotate. I'm not super clear
astearns: In order to prevent a verb should it be page-rotation?
astearns: Seems like we're at a lull. Should we resolve on name
page-rotation?
fantasai: Have rotate property
TabAtkins: But it's a rotate function. There's a reason for it to be
a verb when we normally have adjectives
fantasai: I feel inconsistency is not great
dholbert: Rotate sounds like an angle rather then keyword
TabAtkins: Breaking with rotate is good
TabAtkins: Page-orientation
chris: People talk about page orientation
chris: page-orientation rotate-left and rotate-right?
astearns: Makes sense. Rotate seems angle
astearns: page-orientation with values rotate-left and rotate-right
dholbert: Don't love rotate-left because sounds like clockwise and
counter clockwise. Left is direction rather then rotation.
It's translation
chrishtr: left is 90deg rather then rotate
dholbert: Suggests counterclockwise
astearns: And easier to spell
astearns: Other concerns?
astearns: Objections?
RESOLVED: Name this page-orientation with values rotate-left and
rotate-right
astearns: Anything else you wanted on this chrishtr?
chrishtr: That's it, thank you
CSS Values 4
============
Specify simplification of min() and max() more explicitly
---------------------------------------------------------
github: https://github.com/w3c/csswg-drafts/issues/4550
TabAtkins: Important question is with a min and max function the
spec declares we simplify argument as much as possible
and when can fully resolve we replace function with
results
TabAtkins: emilio and smfr wanted to partly simplify. Example
min(10px,20px,1em) we simplify eagerly to eliminate 20px
because there's no way that can be a result. 1em is
unclear but when arguments are same unit you can simplify
eagerly
TabAtkins: Do we want to do that is the question
TabAtkins: In general I've held only simplify if can be fully gotten
rid of. But I do simplify sums so amenable to this level
of simplification. Not further. If no objections I'm
happy to go ahead and do what emilio wants and allow same
unit simple values to be removed from min or max when
clearly superfluous.
TabAtkins: If no objections I'll do that bit and no more
<emilio> TabAtkins: If we do that we also probably want to define
_some_ ordering for those factors (probably the same as for
products and sums)
<emilio> Because to simplify fast you want to sort first
heycam: For em units it's reasonable to assume non-negative. Case
for percent?
TabAtkins: Depending on property % can be positive or negative or
positive only. Can't tell before resolved so need to
leave. Don't want to distinguish cases about when % is
against non-negative because seems more complex then
needed here. Would rather % stay always because there are
cases where they can be resolved negative
heycam: Agree. Technically with 3 % you can get rid of one
TabAtkins: Yeah but don't want to go to that level
astearns: emilio commented on IRC
TabAtkins: He argues we should order factors. Sums serialize in an
order. emilio argues to do same for min and max where we
eagerly sort arguments.
TabAtkins: That's fine, we can do that
TabAtkins: Makes sense since min and max are equivalent to sum and
product. If we're doing some simplification I'm fine with
that case
astearns: Other comments?
smfr: Fine with this. Wanted similarity. Want to look at other math
functions coming up to see if need consistency
TabAtkins: Other then hypot I don't think anything else. I don't
think I want to inter-argument simplify hypot. Step too
far.
TabAtkins: If we have more functions that are commutative binary we
should do same thing. Nothing outside min and max fit the
bill so far
<oriol> I'm having sound problems. I think this may add more
confusion than anything
<oriol> And not much consistent to do it for min/max but not for
hypot
astearns: oriol has sound problems but sounds like agrees to do it
as hypot. Think it may cause more confusion
TabAtkins: Lots of simplification is arbitrary line of where we do
it. Saying it's exactly like plus is a fine boundary.
Happy to do it with min and max and make that the
boundary. If it's essentially plus you simplify. If not
you only do it when you can simplify the entire thing away
<oriol> I think functions are different than sums because sums are
an operator
<oriol> So that argument doesn't convince me
<oriol> It's even implicit in the notation, + is the usual notation
for a commutative group structure in mathematics. It's less
clear in min() or max()
astearns: oriol would you object to the simplifications?
<TabAtkins> min/max are associate+commutative in the same way that +
and * are
<TabAtkins> nothing else (including hypot) is
<oriol> I don't object, but I think this may just add more confusion
for authors, so I would prefer to treat functions as black
boxes until we have resolved all arguments and can actually
call them
astearns: TabAtkins can you summarize?
TabAtkins: Proposal: min and max get simplified by simple unit
values of the same unit we reduce to one instance of
each. We also reorder the arguments in the same way that
sums reorder
dholbert: Question on that. Is it possible for % to resolve to a
negative?
TabAtkins: Yeah.
dholbert: So min of two percent values isn't resolvable
TabAtkins: Yeah, we exclude % from that
astearns: Also we will look through math functions and make things
consistent
astearns: oriol doesn't object, just doesn't think it's useful.
astearns: Objections?
RESOLVED: min and max get simplified by simple unit values of the
same unit we reduce to one instance of each. We also
reorder the arguments in the same way that sums reorder.
Review math functions for consistency
astearns: oriol please continue discussing in the issue
CSS Fonts
=========
Reconsider the definition of "first available font"
---------------------------------------------------
github: https://github.com/w3c/csswg-drafts/issues/4796
chris: Not all fonts have glyph for space which means not first
available font
chris: Proposal is a three way thing where third item is width of
.notdef glyph which all fonts are required to have
astearns: I see that's 2nd on list
chris: Yes, sorry
astearns: If .notdef is guarantee?
TabAtkins: Required and there are different. I'm happy with this
astearns: Is it what browsers implement?
chris: We believe so
chris: There's a WPT that's wrong right now but it would become
correct with this change. I suspect that means browsers do
what this is proposed
astearns: Proposal: Amend our algorithm for selecting first
available font to check for the 0 glyph, if not there
check for .notdef glyph, else use 0.5em
astearns: Objections?
RESOLVED: Amend our algorithm for selecting first available font to
check for the 0 glyph, if not there check for .notdef
glyph, else use 0.5em
chris: My proposal is in the issue comments
fantasai: I think it's different then original proposal so wondering
if he was okay. I've got your proposal and one from
Jonathan
chris: Right, his includes unicode range so if the unicode range
excludes space. Not about if font excludes space then it
counts as not having one.
astearns: And if you use unicode range you exclude .notdef so it
falls to 0.5em
chris: .notdef isn't exclude-able with unicode range
fantasai: Resolution defines ch unit but first available font is a
lot more general. I'm a little confused. 4796 from what I
understand is about the new definition of first available
font checking whether the font has a space glyph. jfkthame
proposed not checking if there's a space but if unicode
range on font would cover space character. Then you
proposed to check for zero instead of space...
chris: Not quite. If it doesn't have a 0 then you can use notdef
glyph rather then say we fail. That's compat with webkit
fantasai: So to find first available font I check for a space, then
for a 0, then notdef glyph, then use 0.5em? 0.5em is not a
font.
chris: Right. I see what you're saying.
astearns: Talking about how to determine a measure from a first
available font without a space or a 0 or notdef
fantasai: ch has a definition of use 0 or 0.5em. If you're looking
for x there's other metrics. Here we're looking for what
font file.
astearns: We're over-time. We should undo previous resolution and
bring up later
RESOLVED: Remove previous resolution, discussion continues on github
astearns: Thanks everyone. Please update Cork wiki with travel
plans. We'll talk next week
Received on Thursday, 5 March 2020 10:36:22 UTC