/irc-logs / w3c / #css / 2015-05-20 / end

Options:

Previous day, Next day

  1. # Session Start: Wed May 20 00:00:00 2015
  2. # Session Ident: #css
  3. # [00:02] * Quits: bcampbell (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  4. # [00:03] * heycam is now known as heycam|away
  5. # [00:15] * Joins: myakura (~myakura@public.cloak)
  6. # [00:21] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
  7. # [00:22] * Quits: myakura (~myakura@public.cloak) (Ping timeout: 180 seconds)
  8. # [00:45] * heycam|away is now known as heycam
  9. # [01:19] * Joins: tantek (~tantek@public.cloak)
  10. # [01:28] * Quits: tantek (~tantek@public.cloak) (Ping timeout: 180 seconds)
  11. # [02:04] * Joins: myakura (~myakura@public.cloak)
  12. # [02:11] * Quits: myakura (~myakura@public.cloak) (Ping timeout: 180 seconds)
  13. # [02:34] * Joins: jdaggett (~jdaggett@public.cloak)
  14. # [03:08] * Joins: glazou (~glazou@public.cloak)
  15. # [03:08] * Joins: kwkbtr (~kwkbtr@public.cloak)
  16. # [03:26] * heycam is now known as heycam|away
  17. # [03:30] * Quits: glazou (~glazou@public.cloak) (glazou)
  18. # [03:37] * heycam|away is now known as heycam
  19. # [03:49] * Joins: Florian (~Florian@public.cloak)
  20. # [03:52] * Joins: myakura (~myakura@public.cloak)
  21. # [03:59] * Joins: johanneswilm (~johannes@public.cloak)
  22. # [04:00] * Quits: myakura (~myakura@public.cloak) (Ping timeout: 180 seconds)
  23. # [04:04] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
  24. # [04:07] * Quits: johanneswilm (~johannes@public.cloak) (Ping timeout: 180 seconds)
  25. # [04:13] * leaverou_away is now known as leaverou
  26. # [04:17] * Quits: presenter (~presentation-pc@public.cloak) (Ping timeout: 180 seconds)
  27. # [04:27] * heycam is now known as heycam|away
  28. # [04:30] * Quits: myles (~Adium@public.cloak) ("Leaving.")
  29. # [04:35] * Joins: dauwhe (~dauwhe@public.cloak)
  30. # [04:44] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  31. # [04:52] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  32. # [04:57] * Joins: shepazu (schepers@public.cloak)
  33. # [05:06] * leaverou is now known as leaverou_away
  34. # [05:20] * Joins: myakura (~myakura@public.cloak)
  35. # [05:33] * heycam|away is now known as heycam
  36. # [05:42] * Quits: myakura (~myakura@public.cloak) ("Leaving...")
  37. # [05:46] * Joins: dauwhe (~dauwhe@public.cloak)
  38. # [05:53] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  39. # [06:46] * Joins: dauwhe (~dauwhe@public.cloak)
  40. # [06:54] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  41. # [07:09] * Quits: routed (~user@public.cloak) (Client closed connection)
  42. # [07:47] * Joins: dauwhe (~dauwhe@public.cloak)
  43. # [07:54] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  44. # [07:58] * Quits: renoirb (renoirb@public.cloak) ("Textual IRC Client: www.textualapp.com")
  45. # [08:48] * Joins: dauwhe (~dauwhe@public.cloak)
  46. # [08:55] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  47. # [09:01] * heycam is now known as heycam|away
  48. # [09:03] * Joins: antonp (~Thunderbird@public.cloak)
  49. # [09:06] * Joins: anssik (~uid10742@public.cloak)
  50. # [09:48] * Joins: dauwhe (~dauwhe@public.cloak)
  51. # [09:56] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  52. # [09:56] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
  53. # [09:59] * Joins: Ms2ger (~Ms2ger@public.cloak)
  54. # [10:24] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
  55. # [10:42] * Joins: lajava (~javi@public.cloak)
  56. # [10:50] * Joins: dauwhe (~dauwhe@public.cloak)
  57. # [10:57] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  58. # [11:16] * Joins: johanneswilm (~johannes@public.cloak)
  59. # [11:28] * Joins: hyojin (~hyojin@public.cloak)
  60. # [11:39] * Quits: hyojin (~hyojin@public.cloak) (Ping timeout: 180 seconds)
  61. # [11:50] * Joins: dauwhe (~dauwhe@public.cloak)
  62. # [11:57] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  63. # [12:24] * Quits: lajava (~javi@public.cloak) (Client closed connection)
  64. # [12:40] * Joins: webuser (~webuser@public.cloak)
  65. # [12:42] * Joins: jdaggett (~jdaggett@public.cloak)
  66. # [12:44] * Joins: quadcore (~user@public.cloak)
  67. # [12:45] * Joins: kiwiuser (~kiwiuser@public.cloak)
  68. # [12:51] * Joins: dauwhe (~dauwhe@public.cloak)
  69. # [12:58] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  70. # [13:20] * Joins: plh (plehegar@public.cloak)
  71. # [13:32] * Quits: quadcore (~user@public.cloak) ("")
  72. # [13:34] * Joins: quadcore (~user@public.cloak)
  73. # [13:43] * Joins: Florian (~Florian@public.cloak)
  74. # [13:51] * Joins: dauwhe (~dauwhe@public.cloak)
  75. # [13:55] * Quits: jdaggett (~jdaggett@public.cloak) (jdaggett)
  76. # [13:56] * Quits: shepazu (schepers@public.cloak) ("My Mac has gone to sleep. ZZZzzz…")
  77. # [13:59] * Quits: dauwhe (~dauwhe@public.cloak) (Ping timeout: 180 seconds)
  78. # [14:23] * Quits: johanneswilm (~johannes@public.cloak) (Ping timeout: 180 seconds)
  79. # [14:25] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  80. # [14:26] * Joins: Florian (~Florian@public.cloak)
  81. # [14:33] * Quits: Florian (~Florian@public.cloak) (Ping timeout: 180 seconds)
  82. # [14:46] * Quits: anssik (~uid10742@public.cloak) ("Connection closed for inactivity")
  83. # [14:52] * Joins: dauwhe (~dauwhe@public.cloak)
  84. # [14:56] * Joins: dauwhe_ (~dauwhe@public.cloak)
  85. # [14:56] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
  86. # [15:00] * Joins: tantek (~tantek@public.cloak)
  87. # [15:00] <tantek> running just a bit late - hope to get to Bloomberg by ~9:15-9:20
  88. # [15:01] <tantek> in other news, happy to report that http://www.w3.org/TR/css3-ui/ as of today finally has the draft we resolved to publish 2 weeks ago
  89. # [15:01] * Quits: tantek (~tantek@public.cloak) (tantek)
  90. # [15:06] * Joins: glazou (~glazou@public.cloak)
  91. # [15:12] * Parts: kiwiuser (~kiwiuser@public.cloak)
  92. # [15:17] * Parts: webuser (~webuser@public.cloak)
  93. # [15:19] * Joins: gregwhitworth (~gregwhitworth@public.cloak)
  94. # [15:24] * Parts: quadcore (~user@public.cloak)
  95. # [15:30] * Joins: Florian (~Florian@public.cloak)
  96. # [15:32] * Joins: johanneswilm (~johannes@public.cloak)
  97. # [15:34] * gsnedder1 is now known as gsnedders
  98. # [15:42] * leaverou_away is now known as leaverou
  99. # [15:43] <TabAtkins> ScribeNick: TabAtkins
  100. # [15:44] <TabAtkins> Topic: UI 3
  101. # [15:44] <TabAtkins> Florian: All recorded issues are closed.
  102. # [15:44] <TabAtkins> Florian: By my own review, there shouldn't be any new issue raised.
  103. # [15:45] <TabAtkins> Florian: We have made a pub request a while ago, it just came in.
  104. # [15:45] * Joins: dbaron (~dbaron@public.cloak)
  105. # [15:45] <TabAtkins> Florian: So this is the stable draft we'd like to take to CR. Tantek and I will send mail to relevant WGs, and we should look at is as a group too.
  106. # [15:45] <TabAtkins> Florian: I don't have any specific points for this spec, unless people would like a tour.
  107. # [15:46] * Joins: bcampbell (~chatzilla@public.cloak)
  108. # [15:46] <TabAtkins> tantek: The bug fixes and issues have been relatively minor, with the exception of box-sizing which got a lot of spec text. It's been reviewed, but if you focus on one piece, take a look at it.
  109. # [15:46] * Joins: renoirb (renoirb@public.cloak)
  110. # [15:47] <TabAtkins> tantek: I think that we're in good shape to go to CR quickly.
  111. # [15:47] <TabAtkins> tantek: So maybe take a week or two to take a look at this, and see if there's anything to raise before we go to CR.
  112. # [15:47] <TabAtkins> fantasai: I'd leave at least 4-6 weeks after you post the announcement before you try to advance.
  113. # [15:48] <TabAtkins> [process wanking]
  114. # [15:49] * Joins: c_palmer (~c_palmer@public.cloak)
  115. # [15:50] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  116. # [15:51] <TabAtkins> [intensifies]
  117. # [15:51] <TabAtkins> szilles: Ostensibly the goal was to start negotiating with other groups early.
  118. # [15:51] <fantasai> szilles^: You're assuming people are tracking your draft closely. This isn't necessarily true, especially for peripheral groups.
  119. # [15:52] <TabAtkins> szilles: They dont' want to do multiple reviews, but we don't want to wait until CR, as it's too late to do changes.
  120. # [15:52] <TabAtkins> tantek: We've gone to CR before.
  121. # [15:52] * Quits: c_palmer (~c_palmer@public.cloak) ("Page closed")
  122. # [15:52] * Joins: andrey-bloomberg (~andrey-bloomberg@public.cloak)
  123. # [15:52] <TabAtkins> szilles: But it needs wide review and interest from a11y, as it's UI.
  124. # [15:52] * Joins: c_palmer (~c_palmer@public.cloak)
  125. # [15:52] <TabAtkins> tantek: Right. Most of the draft has already been through CR and thus wide review. Only real new thing is the new box-sizing text.
  126. # [15:53] <TabAtkins> glazou: Point: Leonie Watson joined the group to do a11y review, she should be pinged.
  127. # [15:53] <TabAtkins> florian: I'd just be in favor of four week delay.
  128. # [15:53] <TabAtkins> glazou: Yeah, and I don't think she could do a UI review in two weeks.
  129. # [15:53] <TabAtkins> tantek: Okay.
  130. # [15:54] * Joins: Florian (~Florian@public.cloak)
  131. # [15:54] <TabAtkins> proposed resolution: ping the other WGs; unless there's problematic feedback, go to CR for UI 3 in 4 weeks
  132. # [15:55] <TabAtkins> tantek: Ping www-style, subset of working groups, and Leonie specifically.
  133. # [15:55] <TabAtkins> action tantek to ping groups and Leonie about UI 3 review
  134. # [15:55] * trackbot is creating a new ACTION.
  135. # [15:55] <trackbot> Created ACTION-689 - Ping groups and leonie about ui 3 review [on Tantek Çelik - due 2015-05-27].
  136. # [15:55] <TabAtkins> RESOLVED: ping the other WGs; unless there's problematic feedback, go to CR for UI 3 in 4 weeks
  137. # [15:55] <TabAtkins> SimonSapin: I think box-sizing:padding-box is only in Firefox.
  138. # [15:55] <TabAtkins> tantek: That's why it's at risk.
  139. # [15:56] <TabAtkins> TabAtkins: Afaik, we have no interest in it.
  140. # [15:56] <TabAtkins> Rossen_away: Same.
  141. # [15:56] <TabAtkins> SimonSapin: We have a patch for it in Servo, and was wondering if it should be behind a flag.
  142. # [15:57] <TabAtkins> tantek: We can keep it in CR until we decide to drop it; that's what at-risk is for.
  143. # [15:57] <TabAtkins> fantasai: We shouldn't be encouraging people to implement something that we don't have use-cases for.
  144. # [15:57] <TabAtkins> SimonSapin: That's the issue in Servo, yeah, someone saw it wasn't implemented and wrote a patch.
  145. # [15:58] <TabAtkins> dbaron: Not sure why we implemented it in Gecko.
  146. # [15:58] <TabAtkins> plinss: For completeness. box-sizing was for border-box.
  147. # [15:58] <TabAtkins> TabAtkins: So let's just drop it.
  148. # [15:59] * Quits: andrey-bloomberg (~andrey-bloomberg@public.cloak) (Ping timeout: 180 seconds)
  149. # [15:59] <TabAtkins> 10 for / 0 against / 7 abstain
  150. # [15:59] <TabAtkins> RESOLVED: Drop box-sizing:padding-box
  151. # [16:00] <TabAtkins> SimonSapin: So should we drop it from our impl?
  152. # [16:00] <TabAtkins> dbaron: Maybe, it's used in a few internal places. We can just review and see what they mean, and if they can be replaced.
  153. # [16:00] <TabAtkins> dbaron: I suspect we can remove it.
  154. # [16:00] <TabAtkins> dbaron: NetError page and PrivateBrowsing page, and SearchBar CSS
  155. # [16:01] <TabAtkins> tantek: Drop at CR?
  156. # [16:02] <TabAtkins> fantasai: You're always use-cases, use-cases, use-cases, but here you can't even come up with a theoretical use-case!
  157. # [16:02] <TabAtkins> dbaron: There's two sets of uses. ONe is on an element with padding but no border, so we can just switch to border-box
  158. # [16:03] <TabAtkins> dbaron: The other one might be border but no padding, so it can switch to content-box.
  159. # [16:03] * glazou « You're always use-cases, use-cases, use-cases, but here you can't even come up with a theoretical use-case » sounds like a song, we should write one :-)
  160. # [16:03] * TabAtkins Let's shop it to Tay, see what she can come up with.
  161. # [16:05] <TabAtkins> tantek: I'm okay with dropping it from the draft before we publish in four weeks.
  162. # [16:05] * Joins: Zakim (zakim@public.cloak)
  163. # [16:06] <TabAtkins> fantasai: While on the topic of publishing, Tantek has run into the problem of needing numerous people's approvals to get UI published, because it uses UI props that make the validator unhappy.
  164. # [16:07] <TabAtkins> fantasai: So we should get a resolution that specs can use their own properties in examples.
  165. # [16:07] <TabAtkins> Bert: We can only use properties from CR drafts.
  166. # [16:07] <TabAtkins> tantek: I mean just in examples.
  167. # [16:08] <TabAtkins> fantasai: This is in live examples: here's some code, here's what it should look like, here's what it looks like in your browser.
  168. # [16:08] * glazou well hello Zakim
  169. # [16:08] <TabAtkins> Florian: UI has a lot of images of the desired rendering.
  170. # [16:09] * Joins: SteveZ (~SteveZ@public.cloak)
  171. # [16:09] <TabAtkins> tantek: As an ex-implementor, this was very useful to have them all around.
  172. # [16:09] <TabAtkins> tantek: We've been doing this for years. I think it's accepted and useful.
  173. # [16:09] <TabAtkins> Bert: Can we put the examples somewhere else, not on /TR?
  174. # [16:09] <TabAtkins> TabAtkins: No, the point is inline.
  175. # [16:10] <TabAtkins> tantek: Having them right inline is good for implementors and users.
  176. # [16:10] <TabAtkins> plinss: What does it hurt?
  177. # [16:11] <TabAtkins> tantek: So there's a proposal I've put up; if we want to scope it to live examples rather than spec text, we can go with either.
  178. # [16:11] <Florian> PROPOSAL: “The CSSWG produces drafts that often use new CSS features for live examples, and thus such CSS Validator errors MUST NOT block publishing of such drafts.” The hope is that by resolving on this publicly as a group, we can reduce some of the human-to-human bottleneck in getting drafts published using the current process, and provide a strong case for Echidna dropping or modifying its automatic requirement for CSS validation.
  179. # [16:12] <TabAtkins> plinss: As long as it's forward-compatible, and we don't require it for the correct rendering of the spec.
  180. # [16:13] <TabAtkins> Bert: Maybe I could ask for specially-marked examples that aren't validated...
  181. # [16:13] <TabAtkins> glazou: Let's not ask. We should resolve as a WG.
  182. # [16:13] <TabAtkins> tantek: Resolutions from WGs are great input into the process.
  183. # [16:14] <TabAtkins> fantasai: From what I understand, the webmaster has said to PLH "Hey, this isn't validating. What do?" and PLH says "Is the WG okay with publishing it? If so, go ahead."
  184. # [16:14] <TabAtkins> Bert: PLH isn't in charge of publishing.
  185. # [16:14] <plh> I am
  186. # [16:14] <glazou> thanks plh
  187. # [16:14] <plh> at least, the webmaster comes to me with those questions
  188. # [16:14] <TabAtkins> tantek: This currently adds 48 hours to every publication.
  189. # [16:15] <TabAtkins> glazou: I guess the question is resolved, thanks Philippe.
  190. # [16:15] <TabAtkins> tantek: And this resolution gives PLH better power to say "go ahead" immediately.
  191. # [16:16] <TabAtkins> glazou: How many messages did we exchange about UI publication? 7? 8? It's completely broken.
  192. # [16:16] * Rossen_away is now known as Rossen
  193. # [16:16] <TabAtkins> Bert: If you can get this into the automated process, then it'll take 5 minutes to publish.
  194. # [16:16] <TabAtkins> tantek: Right. And this is step 1. I'll be pushing this further.
  195. # [16:16] * Joins: tantek (~tantek@public.cloak)
  196. # [16:17] <TabAtkins> 13 in favor / 1 object / 2 abstain
  197. # [16:17] <TabAtkins> glazou: Proposal is accepted.
  198. # [16:17] <TabAtkins> RESOLVED: The CSSWG produces drafts that often use new CSS features for live examples, and thus such CSS Validator errors MUST NOT block publishing of such drafts.
  199. # [16:20] <TabAtkins> SimonSapin: When we have things marked at-risk, they're marked in the status section, but not in the feature section. Pretty sure person who implemented box-sizing in Servo didn't see that padding-box was at-risk.
  200. # [16:20] <TabAtkins> SimonSapin: Can we add a note down by where things are defined?
  201. # [16:20] <TabAtkins> TabAtkins: I can probably make this easier in bikeshed, so you can mark a definition as at-risk and it'll notate the status section for you automatically.
  202. # [16:20] <TabAtkins> Topic: CSS UI 4
  203. # [16:20] <Florian> http://dev.w3.org/csswg/css-ui-4/#content-selection
  204. # [16:20] <SimonSapin> SimonSapin: I’ll file an issue on Bikeshed
  205. # [16:20] <TabAtkins> Florian: Starting with user-select.
  206. # [16:20] <TabAtkins> Florian: This existed a long time ago, in precursors of UI.
  207. # [16:20] <TabAtkins> Florian: It disappeared, but got implemented anywhere. There's a fair amount of interop, but not complete, and this spec is trying to work out the details.
  208. # [16:20] <TabAtkins> Florian: Several values, some of which have near-universal agreement, some less so.
  209. # [16:21] <TabAtkins> Florian: Basically everyone supports "text" and "none" with close agreement.
  210. # [16:21] <TabAtkins> Florian: "all" is also widely supported, maybe not all browsers.
  211. # [16:21] <TabAtkins> Florian: "element" is supported in IE, but everyone shows "element'-like behavior when selecting things inside of an editable area.
  212. # [16:21] <TabAtkins> Florian: "element" means if you start a selection inside the element, it'll be trapped to inside of it. This is standard <input> behavior.
  213. # [16:22] * tantek looks for last time user-select was in a TR draft
  214. # [16:22] <TabAtkins> glazou: There's an issue before issue 20.
  215. # [16:22] <TabAtkins> Florian: Says that if a descendant of user-select:none is not user-select:none, it should be selectable. This is tremendously important for template-based editting.
  216. # [16:22] <TabAtkins> s/Florian/glazou/
  217. # [16:22] <TabAtkins> glazou: I'd like it to be marked with a note giving this as the use-case.
  218. # [16:22] <leaverou> Another use case is to prevent user selection interfere with dragging.
  219. # [16:23] <TabAtkins> action Florian to add a note to user-select:none about it's use in template-based editting.
  220. # [16:23] * trackbot is creating a new ACTION.
  221. # [16:23] <trackbot> Created ACTION-690 - Add a note to user-select:none about it's use in template-based editting. [on Florian Rivoal - due 2015-05-27].
  222. # [16:23] <TabAtkins> Florian: "auto" is also interesting. In IE, property isn't inherited, but in most cases, "auto" resolves to inheriting. Some cases it doesn't, like if parent is "element".
  223. # [16:23] <TabAtkins> Florian: Similarly, Moz doesn't inherit this into abspos elements, presumably because they're significantly out-of-flow.
  224. # [16:23] <dbaron> tantek, http://www.w3.org/TR/2000/WD-css3-userint-20000216#dynamic
  225. # [16:23] <TabAtkins> Florian: But it lets floats inherit.
  226. # [16:24] <tantek> dbaron wow that old
  227. # [16:24] <tantek> I thought it made it further
  228. # [16:24] <TabAtkins> Florian: So I've currently specified this as non-inheriting, with "auto" most of the time causing inheritance except for some exceptions explicitly listed.
  229. # [16:24] <TabAtkins> Florian: This is a mix of IE and Firefox behavior.
  230. # [16:24] <TabAtkins> Florian: Next issue - "text" value is strangely named. It doesn't restrict you to selecting text.
  231. # [16:24] <TabAtkins> Florian: It just lets you select anything.
  232. # [16:25] <TabAtkins> Florian: The WK docs say that "text" only selects text, and "auto" selects everything, but that's not true - "auto" computes to "text".
  233. # [16:25] <TabAtkins> Florian: So it's confusing enough to confuse doc writers. But it seems like it's probably too old to change the name.
  234. # [16:25] <TabAtkins> tantek: That's my fault. I gave it a bad name.
  235. # [16:26] <TabAtkins> [CSSWG takes a break to distribute drugs]
  236. # [16:26] <TabAtkins> Florian: So even though the name is unfortunate, I'd like to resolve on keeping it.
  237. # [16:26] <TabAtkins> glazou: You can just turn the issue into a note.
  238. # [16:26] <TabAtkins> tantek: You can add an alias.
  239. # [16:26] <TabAtkins> Rossen: I dont' think the alias will really help anything.
  240. # [16:26] * glazou if I start seeing dancing pink elephants, blame fantasai please
  241. # [16:27] * glazou notes TabAtkins has a rounded display watch… ahem.
  242. # [16:27] <TabAtkins> tantek: One benefit of an alias is that we might be able to compute the old value to the new one, so we only expose the better name.
  243. # [16:27] <TabAtkins> Florian: Maybe, depends on how much script is already depending on it.
  244. # [16:28] <TabAtkins> tantek: We could have it select text, and "may" select otherwise.
  245. # [16:28] <TabAtkins> TabAtkins: No.
  246. # [16:29] <TabAtkins> fantasai: Let's not introduce ambiguity for a naming dispute.
  247. # [16:29] <TabAtkins> RESOLVED: Keep the name "text"
  248. # [16:29] <TabAtkins> Florian: Next value is "none".
  249. # [16:29] <TabAtkins> Florian: Everyone agrees if you start inside the element - don't select.
  250. # [16:29] <TabAtkins> Florian: We disagree if you start outside.
  251. # [16:29] <TabAtkins> Florian: First is start outside, drag into it.
  252. # [16:30] <TabAtkins> Florian: My proposal is to stop at the boundary of the element.
  253. # [16:30] <TabAtkins> Florian: I think this is Firefox's behavior, and Chrome's behavior half of the time.
  254. # [16:30] <TabAtkins> glazou: I think this matches what the user expects.
  255. # [16:31] <TabAtkins> RESOLVED: Selection stops at the end of the user-select:none element, when dragging from outside to inside.
  256. # [16:32] <TabAtkins> glazou: Imagine you click on the inside of the user-select:none, and you drag outside. Do you select the stuff outside?
  257. # [16:32] * SimonSapin Bikeshed issue for at-risk notes next to dfns: https://github.com/tabatkins/bikeshed/issues/410
  258. # [16:32] <TabAtkins> tantek: That drag-out won't every do anything; like clicking down on a button and then dragging out.
  259. # [16:33] <TabAtkins> RESOLVED: Previous resolution means: "if you start outside the user-select:none, and end inside it, the selection stops at the boundary of the user-select:none"
  260. # [16:33] <dbaron> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cstyle%3E%0Aspan%20%7B%20-moz-user-select%3A%20none%20%7D%0A%3C%2Fstyle%3E%0A%3Cp%3EThis%20is%20%3Cspan%3Esome%3C%2Fspan%3E%20text.%3C%2Fp%3E
  261. # [16:33] <dbaron> (or change to -moz-)
  262. # [16:34] <dbaron> or, better:
  263. # [16:34] <dbaron> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cstyle%3E%0Aspan%20%7B%20-webkit-user-select%3A%20none%3B%20-moz-user-select%3A%20none%20%7D%0A%3C%2Fstyle%3E%0A%3Cp%3EThis%20is%20%3Cspan%3Esome%3C%2Fspan%3E%20text.%3C%2Fp%3E
  264. # [16:34] <TabAtkins> Florian: When selecting across, this is more complex. Some browsers support multi-ranges, some doesn't. Moz does, WK/Blink doesn't.
  265. # [16:34] <TabAtkins> Rossen: I think IE does.
  266. # [16:35] <TabAtkins> Florian: But the HTML Editing spec (by Aryeh) specifically forbids multi-ranges.
  267. # [16:35] <TabAtkins> Florian: So my proposal is that if you support multi-ranges, and drag across, the selection skips the "none".
  268. # [16:35] <dbaron> (I'm seeing Gecko and Blink match on that testcase.)
  269. # [16:35] <TabAtkins> Florian: If you don't support multi-ranges, the selection includes the "none" when you select across.
  270. # [16:36] <TabAtkins> glazou: I think I commented on that draft a while ago. You need multi-selection for editors.
  271. # [16:36] <TabAtkins> Florian: Agree, but this spec isn't taking a stance.
  272. # [16:37] <TabAtkins> tantek: I think as long as we specify what happens when you have multi-ranges, we're okay.
  273. # [16:37] <TabAtkins> glazou: Agreed.
  274. # [16:37] <TabAtkins> Florian: Subtlety: selections and copying might be different. A single-range selection might not copy the "none" text; at least, it's possible.
  275. # [16:38] <TabAtkins> TabAtkins: I'm also seeing Chrome implement the same as Firefox.
  276. # [16:39] <dbaron> Florian: But in Chrome the part in the middle is in the selection, it's just not highlighted
  277. # [16:39] <TabAtkins> Florian: The visible selection doesn't cover the "none" in Chrome, but if you copy the whole thing shows up.
  278. # [16:39] <dbaron> [Tantek and glazou disagree about which behavior is better]
  279. # [16:39] <TabAtkins> tantek: That's intentional. I wrote "none" to support the ability to select across a "none".
  280. # [16:39] <TabAtkins> glazou: I disagree. As an editor author, I prefer something that actually skips the "none" content.
  281. # [16:40] <TabAtkins> Rossen: Maybe a second value, so both are possible.
  282. # [16:40] <TabAtkins> glazou: That sounds good to me.
  283. # [16:40] <TabAtkins> tantek: I'm okay with that. I think "none" should keep the current behavior, where selecting across a "none" does copy things.
  284. # [16:41] <TabAtkins> dbaron: There's been enough requests, and moz has "none", "all", "-moz-none", and "-moz-all", and they're four different things.
  285. # [16:41] <TabAtkins> Florian: I think "none" and "-moz-none" used to be different, but they've since merged.
  286. # [16:41] <TabAtkins> glazou: So do you agree to investigate the possibility of a second value that actually skips elements?
  287. # [16:42] <TabAtkins> Florian: Where the new value acts the same as "none" in single-range browsers?
  288. # [16:42] <TabAtkins> glazou: Yeah.
  289. # [16:42] <tantek> glazou, I am ok with an additional value that means don't include user-select:none elements inside the selection range.
  290. # [16:42] <TabAtkins> Rossen: Why this exception?
  291. # [16:42] <TabAtkins> Florian: Because it's impossible for a single-select browser to implement it properly.
  292. # [16:42] <dbaron> -moz-user-select: none and -moz-none differ in whether they can be overridden by other values on descendants
  293. # [16:44] <TabAtkins> RESOLVED: selecting across a user-select:none actually does select the contents. Add another value that actually excludes the content, in browsers that support multi-selections.
  294. # [16:45] <TabAtkins> tantek: I think it makes more sense for the split to be at "text" vs "all-text", which controls whether "none" gets skipped or not inside of it.
  295. # [16:46] <TabAtkins> glazou: I can live with that.
  296. # [16:46] <TabAtkins> Florian: So I suggest we don't resolve on the names, you just action me to figure this out.
  297. # [16:46] <TabAtkins> RESOLVED: Rescind previous resolution.
  298. # [16:47] <TabAtkins> action Florian to come up with a resolution for user-select:none being included or not when selecting across.
  299. # [16:47] * trackbot is creating a new ACTION.
  300. # [16:47] <trackbot> Created ACTION-691 - Come up with a resolution for user-select:none being included or not when selecting across. [on Florian Rivoal - due 2015-05-27].
  301. # [16:47] <TabAtkins> Florian: Next is about user-select:element
  302. # [16:47] <TabAtkins> Florian: First is bikeshedding - "element" might not have a lot of usage, so maybe changeable, and I hate "element". Maybe "contain" or "inside"?
  303. # [16:48] <TabAtkins> tantek: Note that all impls are prefixed, so we're probably okay with changing anything.
  304. # [16:49] <TabAtkins> Florian: Maybe, maybe not. Might be a unprefixed "future proofing" in use. But I think it might be okay.
  305. # [16:50] <fantasai> Florian: Firefox parses it, but doesn't do anything with it.
  306. # [16:50] <tantek> unlikely that autoprefixers are being used with this - as this property was DROPPED over 15 years ago
  307. # [16:50] <TabAtkins> Florian: But I don't want to spend a lot of time bikeshedding. Let's move on.
  308. # [16:51] <tantek> before any autoprefixers were even a gleam in anyone's eye
  309. # [16:51] <TabAtkins> Florian: Same issue as "none" applies here. When selecting out->in, or across.
  310. # [16:51] <TabAtkins> TabAtkins: Just do the same as <input> currently.
  311. # [16:51] <leaverou> tantek: Autoprefixers generally work with what browsers support, not what's in the spec. Some of them don't even use a list of properties, they directly get them from the CSSOM.
  312. # [16:52] <tantek> leaverou: autoprefixers DID NOT exist when this property was dropped
  313. # [16:53] <TabAtkins> Florian: I think some browsers differ on whether they select the element as soon as you move in, or wait until you select completely across.
  314. # [16:53] * Joins: anssik (~uid10742@public.cloak)
  315. # [16:53] <TabAtkins> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0Afoooooo%3Cinput%20value%3D%22some%20text%22%3Ebarrrrrrrr
  316. # [16:53] <leaverou> tantek: Dropped from *where*? It is supported today, by several UAs and has been for quite some time.
  317. # [16:53] <TabAtkins> TabAtkins: Chrome, at least ChromeOS, doesn't select until you go across.
  318. # [16:54] <TabAtkins> Florian: I think I've specced that behavior.
  319. # [16:54] <tantek> leaverou: from any visible spec
  320. # [16:54] <tantek> you have to work hard to find it anywhere
  321. # [16:54] <leaverou> tantek: Exactly. I’m telling you that as far as most autoprefixers are concerned, this doesn't matter.
  322. # [16:55] * Quits: gregwhitworth (~gregwhitworth@public.cloak) ("Page closed")
  323. # [16:55] * Joins: gregwhitworth (~gregwhitworth@public.cloak)
  324. # [16:55] <TabAtkins> Looks like IE agrees with Chrome.
  325. # [16:56] <Florian> Proposed resolution: keep the spec as it is
  326. # [16:56] * glazou heard music and it was not the drugs
  327. # [16:56] * shane isn't sure it wasn't the drugs
  328. # [16:57] <TabAtkins> RESOLVED: Keep spec-text for user-select:element as is, unless we uncover platform differences.
  329. # [16:57] * Rossen you guys heard music?
  330. # [16:57] * shane who said that?!
  331. # [16:57] <TabAtkins> glazou: A while ago, user-select:none on an element inside user-select:all wasn't working.
  332. # [16:57] * Joins: andrey-bbg (~andrey-bbg@public.cloak)
  333. # [16:58] <TabAtkins> Florian: I think I'm actioned to figure this out, per tantek's suggestion.
  334. # [16:58] <TabAtkins> Florian: What did you suggest?
  335. # [16:58] <TabAtkins> glazou: It shouldn't select.
  336. # [16:58] <TabAtkins> dbaron: This is actually what none vs -moz-none is for; whether it can override a parent selection mode.
  337. # [16:58] <dbaron> and all vs. -moz-all
  338. # [16:58] <TabAtkins> Florian: I'll keep it in mind when drafting a proposal.
  339. # [16:58] <dbaron> I think
  340. # [16:58] <glazou> right
  341. # [16:59] * Quits: alexmog (~alexmog@public.cloak) ("ZNC - http://znc.in")
  342. # [16:59] <TabAtkins> <br dur=15m>
  343. # [16:59] <leaverou> tantek: Autoprefixer prefixes all values it seems. Check this out: http://codepen.io/leaverou/pen/aOmvJx (inspect <body>)
  344. # [17:01] * Joins: ChrisL (clilley@public.cloak)
  345. # [17:03] * Quits: c_palmer (~c_palmer@public.cloak) (Ping timeout: 180 seconds)
  346. # [17:04] * Joins: vollick (~vollick@public.cloak)
  347. # [17:11] * Rossen is now known as Rossen_away
  348. # [17:12] * Joins: vollick_ (~vollick@public.cloak)
  349. # [17:12] * Quits: vollick_ (~vollick@public.cloak) ("Page closed")
  350. # [17:13] * Quits: johanneswilm (~johannes@public.cloak) (Ping timeout: 180 seconds)
  351. # [17:16] * Joins: tommyjtl (~tommyjtl@public.cloak)
  352. # [17:16] * Quits: tommyjtl (~tommyjtl@public.cloak) ("brb")
  353. # [17:20] * Joins: hyojin_ (~hyojin@public.cloak)
  354. # [17:21] * leaverou is now known as leaverou_away
  355. # [17:25] * Rossen_away is now known as Rossen
  356. # [17:26] * Joins: gregwhitworth_ (~gregwhitworth@public.cloak)
  357. # [17:26] <fantasai> ScribeNick: fantasai
  358. # [17:26] <fantasai> Topic: position: fragment
  359. # [17:26] * leaverou_away is now known as leaverou
  360. # [17:27] <fantasai> Topic: CSS4 UI
  361. # [17:27] * Joins: johanneswilm (~johannes@public.cloak)
  362. # [17:27] <fantasai> leaverou: caret-color in CSS UI
  363. # [17:27] <fantasai> leaverou: many more properties in L4
  364. # [17:27] <fantasai> Florian: 2
  365. # [17:27] <fantasai> leaverou: caret-shape and caret-blink-time
  366. # [17:27] <ChrisL> Carrot colors http://www.sensationalcolor.com/color-for-your-home/gourmet-color/rainbow-carrots-746#.VVynIEZmUgI
  367. # [17:28] <fantasai> leaverou: Rigtht now, authors need to learn another thing for blink time.
  368. # [17:28] <fantasai> leaverou: But for more control, need to set it to zero and use caret-color
  369. # [17:28] <fantasai> leaverou: Would prefer not to learn more properties
  370. # [17:28] <fantasai> leaverou: So suggest a pseudo-element
  371. # [17:28] * glazou ChrisL I often buy such carrots on my town’s market
  372. # [17:28] <fantasai> leaverou: Use CSS Animations in the UA stylesheet
  373. # [17:28] <fantasai> leaverou: Instead of using entirely different mechanism for animation
  374. # [17:28] <fantasai> leaverou: Can't do that without a pseudo-element
  375. # [17:29] <fantasai> leaverou: because if there's an animation in the UA style sheet that controls how the caret animates, then any author animations will override that
  376. # [17:29] <fantasai> leaverou: and the caret will stop animating
  377. # [17:29] * Quits: gregwhitworth (~gregwhitworth@public.cloak) (Ping timeout: 180 seconds)
  378. # [17:29] <fantasai> leaverou: but with a pseudo-element, wouldn't have that problem
  379. # [17:29] <fantasai> leaverou: Caret is in the paint tree, not in the DOM
  380. # [17:29] <fantasai> leaverou: So could be a problem to have pseudo-element
  381. # [17:30] <fantasai> leaverou: I don't think from author's perspective, they don't care
  382. # [17:30] <Rossen> carrot blink http://gifsanimados.de/img-gifsanimados.de/z/zanahorias/baby-carrot-blinking-md-wht.gif
  383. # [17:30] <fantasai> leaverou: for them it's a separate visual element
  384. # [17:30] <fantasai> leaverou: so better to have as a pseudo-element
  385. # [17:30] <Florian> q+
  386. # [17:30] * Zakim sees Florian on the speaker queue
  387. # [17:30] <fantasai> TabAtkins: What element would it be attached to?
  388. # [17:30] <fantasai> leaverou: The element that ...?
  389. # [17:30] <fantasai> dbaron: Caret is special in a bunch of ways
  390. # [17:30] <fantasai> dbaron: Fits into CSS painting model very oddly
  391. # [17:31] <fantasai> leaverou: Authors don't see/care about that. Just syntax
  392. # [17:31] <fantasai> Florian: Been thinking about this a bit
  393. # [17:31] <fantasai> Florian: I agree with your general statement about animations. Learning multiple ways to animate something is unfortunate.
  394. # [17:31] <fantasai> Florian: And we can't use animations in the UA style sheet unless we have a pseudo-element
  395. # [17:31] * Joins: lajava (~javi@public.cloak)
  396. # [17:31] <fantasai> leaverou: Also, if we add more things to control, don't have to have separate properties
  397. # [17:32] <fantasai> Florian: However, some of these other things can't be done with regular properties
  398. # [17:32] <fantasai> Florian: Color of the caret can't be expressed
  399. # [17:32] <fantasai> Florian: Shape of caret is its own thing
  400. # [17:32] <fantasai> Florian: Interaction is complicated
  401. # [17:33] <fantasai> Florian: Initial value of caret is "give me good contrast", not necessarily currentColor
  402. # [17:33] <fantasai> Florian: color/background-color do not have this value
  403. # [17:33] <fantasai> leaverou: There's a CSS4 color modifier that gets you sufficient contrast
  404. # [17:34] <fantasai> Florian: Can't ask for sufficient contrast with bg and fg
  405. # [17:34] <fantasai> Florian: Case that's important is block caret
  406. # [17:34] <fantasai> Florian: Don't want the caret to disappear
  407. # [17:34] <fantasai> Florian: Presto and IE do color inversion.
  408. # [17:34] <fantasai> Florian: Don't expect that for all browsers, but should be possible.
  409. # [17:35] <fantasai> dbaron: Gecko used to implement, but no longer made sense innew graphics architecture.
  410. # [17:35] <fantasai> leaverou: For block caret, width auto will adjust the width
  411. # [17:35] <fantasai> leaverou: There are 3 shapes in UI4 - auto (usually bar), bar, block
  412. # [17:36] <fantasai> Florian: auto allows flipping into block for insertion mode, e.g.
  413. # [17:36] <fantasai> leaverou: Could make the bar thicker if you want it thicker
  414. # [17:36] <ChrisL> 4 values - auto, bar, block, underline
  415. # [17:36] <fantasai> Florian: The only use case I've seen for setting width explicitly is trying ot get a block.
  416. # [17:37] <fantasai> ...
  417. # [17:37] <fantasai> leaverou: Don't think it's wise to add more if we can use existing CSS properties
  418. # [17:37] <fantasai> Florian: There are properties are close, but not quite. Color is close, but not quite. Shape cant be done.
  419. # [17:38] <fantasai> fantasai: blink time
  420. # [17:38] <fantasai> fantasai: What values does blink time take?
  421. # [17:38] <fantasai> Florian: Only useful values are auto and 0 (don't blink)
  422. # [17:38] <fantasai> Florian: If you want to adjust, use animations
  423. # [17:38] <Florian> s/Only/Mostly/
  424. # [17:39] <fantasai> fantasai: What animations are needed?
  425. # [17:39] <fantasai> Florian: Color fading between light / dark blue
  426. # [17:39] <fantasai> Florian: appear/fade-away
  427. # [17:39] <fantasai> Florian: Can do all of that with animations
  428. # [17:39] <fantasai> leaverou: Would need to reinvent animations
  429. # [17:40] <fantasai> ...
  430. # [17:40] * Joins: smfr (~smfr@public.cloak)
  431. # [17:40] <fantasai> leaverou: Also confusing that the blink is turned off, and some other code turns it on
  432. # [17:40] <fantasai> leaverou: Doesn't seem very usable to me
  433. # [17:40] <fantasai> TabAtkins: In at least IE and probably Chrome our cursor is OS-drawn, so amount of control we have is fairly limited.
  434. # [17:41] <fantasai> TabAtkins: Can change color, can change blink frequency, can only swap between the shapes that are allowed by OS
  435. # [17:41] <tantek> TabAtkins said cursor but meant caret
  436. # [17:41] <fantasai> TabAtkins: So the properties here are as much as we can do
  437. # [17:41] <fantasai> Florian: I've tried to define shape, specifically block and underscore shape, to do something sane wrt the glyph size
  438. # [17:41] <fantasai> Florian: Might not be possible. Could put as should rather than must.
  439. # [17:42] <fantasai> Florian: Requirement to match OS controls is also a reason for this definition.
  440. # [17:42] * smfr questions the sanity of allowing authors to change the caret from something that users recognize
  441. # [17:42] <fantasai> TabAtkins: Even color and width might not be able to fully apply
  442. # [17:42] * astearns IRCCloud yells at me that people are talking about shapes. Oh, never mind.
  443. # [17:44] <fantasai> fantasai: I agree with having just the limited set of properties.
  444. # [17:44] <fantasai> fantasai: Because of the OS integration, the difference in values, all the reasons mentioned
  445. # [17:45] <fantasai> fantasai: Also because pseudo-elements add a lot of complexity, and I don't think it's worth it in this case.
  446. # [17:45] <fantasai> fantasai: I do think the blink-time property needs improvement.
  447. # [17:45] * tantek astearns we've been talking CSS Shapes for years http://tantek.com/CSS/Examples/polygons.html
  448. # [17:45] <smfr> blink time is system-controlled. why should auathors be able to change it?
  449. # [17:45] <fantasai> fantasai: The only thing you can animate is the color, really. I would suggest defining the animation using the standard animations syntax, but invoke it with a special caret-animation property
  450. # [17:46] <leaverou> s/But for more control, need to set it to zero and use caret-color/But for more control, you need to set it to zero and use a CSS animation over caret-color/
  451. # [17:46] <fantasai> fantasai: That way it won't interfere with regular animations, you won't have the cascading problem, but you can still use the standard animation syntax.
  452. # [17:46] * astearns tantek I'm not sure any of those are good for caret rendering
  453. # [17:46] <leaverou> s/Would prefer not to learn more properties/Would prefer authors didn’t have to learn more properties that duplicate existing functionality/
  454. # [17:46] <fantasai> fantasai: and we have keywords for the common cases
  455. # [17:46] <fantasai> fantasai: That would allow both contorlling the blink time, also animating between blue and dark blue, as mentioned.
  456. # [17:47] <leaverou> s/The element that ...?/The element that is being edited/
  457. # [17:47] <fantasai> Florian: I'm happy to explore something along the lines of what fantasai said.
  458. # [17:47] <fantasai> Florian: Before we move on to next topic, want to draw implementers attention to another point:
  459. # [17:47] <fantasai> Florian: I'm specifying how painting can work.
  460. # [17:47] * tantek astearns true, I'll have to see if I can find a triangular caret
  461. # [17:47] <fantasai> Florian: Since there are system-specific restraints, not being super precise
  462. # [17:47] <fantasai> Florian: But trying to define in a way that's not useless
  463. # [17:47] <fantasai> Florian: Please look at spec and tell me if you can do that.
  464. # [17:48] <fantasai> Bert: Doesn't say what caret looks like when not focused
  465. # [17:48] <leaverou> s/Also, if we add more things to control, don't have to have separate properties/Also, if in the future we want to add more things to control, with a pseudo-element we wouldn’t need to add even more properties/
  466. # [17:48] <fantasai> Bert: Might be same color but not blink, or less bright color, or something like that.
  467. # [17:48] <fantasai> Florian: I went with assumption that if not focused, don't show caret.
  468. # [17:48] * Joins: tgraham (~user@public.cloak)
  469. # [17:48] <leaverou> s/There are 3 shapes in UI4 - auto (usually bar), bar, block/There are 3 shapes in UI4 - auto (usually bar), bar, block, underline/
  470. # [17:49] <fantasai> Bert: Want to show where you were typing before in unfocused window, but should still show some shape
  471. # [17:49] <fantasai> plinss: In OS X the terminal window will change from solid box to open box.
  472. # [17:49] <fantasai> Florian: Will look into existing behavior, bring up to group
  473. # [17:50] <fantasai> plinss: Concerns me that we're adding more and more things that would be trivial by adding pseudo-element
  474. # [17:50] <fantasai> Florian: I'm not sure pseudo-element is so trivial
  475. # [17:50] <fantasai> Florian: Unless we want to go into 'appearance', that's it for UI4
  476. # [17:51] <fantasai> Florian: So far I've been speccing things I've wanted, and things people have asked for.
  477. # [17:51] <fantasai> Florian: Not at FPWD yet, but getting coser
  478. # [17:51] <fantasai> Florian: If something else should be in here, let me know
  479. # [17:51] <fantasai> Florian: I might add a focusable property
  480. # [17:51] <fantasai> Florian: This relates to directional nav-up/down etc.
  481. # [17:52] <fantasai> Florian: If you say next item in navigation is an unfocusable item, then it becomes focusable
  482. # [17:52] <fantasai> Florian: You might want to target that element, but focus the next (in dom depth traversal) focusable element
  483. # [17:52] <dbaron> https://wiki.csswg.org/planning
  484. # [17:52] <fantasai> TabAtkins: Investigating similar things with Shadow DOM
  485. # [17:52] <fantasai> Topic: Next meeting
  486. # [17:53] <fantasai> glazou: For next meeting, suggest you book your flight asap
  487. # [17:53] <fantasai> Rossen: Houdini is also confirmed for 2 days after CSSWG meeting
  488. # [17:53] <fantasai> SimonSapin: Please add your name if you are coming
  489. # [17:53] <fantasai> SimonSapin: On both wikis if you are coming to both
  490. # [17:54] <fantasai> glazou: Next meeting after is Sapporo in Japan
  491. # [17:54] <fantasai> glazou: There are plenty of small AirBnB flats nearby, found one for ~30 euros per night.
  492. # [17:54] <fantasai> glazou: walking distance from venue
  493. # [17:55] <fantasai> glazou: In terms of flying to Sapporo, you will have two choices
  494. # [17:55] <fantasai> glazou: Buy tickets through large airlines, or choice of low-cost airlines within Japan
  495. # [17:55] <fantasai> glazou: But hard to find if you try to find through regular reservation search
  496. # [17:56] <fantasai> plinss: Group of ppl arranging a road trip. Also pre-TPAC scuba diving in Okinawa. So if interested, let me know.
  497. # [17:56] <fantasai> Florian: I suggest considering also the train
  498. # [17:56] <fantasai> Florian: Great ticket you can only buy from outside Japan that gives you unlimited rides in Japan
  499. # [17:56] <fantasai> glazou: Going to meet first days of the week: Mon-Tues
  500. # [17:56] <fantasai> glazou: Plenary meeting on Wednesday
  501. # [17:56] <fantasai> glazou: Originally scheduled to have 30 seats only
  502. # [17:57] <fantasai> glazou: Suggested that 30 is probably not enough, if we include observers. Closer to 35/40.
  503. # [17:57] <fantasai> glazou: They will try to change the room if possible
  504. # [17:57] <fantasai> Rossen: FX meeting?
  505. # [17:57] <Florian> "Japan Rail Pass" gives you unlimited train for a set period of time for a good price (Including all but the fastest shinkansen).
  506. # [17:57] <fantasai> ChrisL requests during thursday-frid
  507. # [17:58] <fantasai> glazou: Next meeting proposal is for Sydney
  508. # [17:58] <fantasai> shane: There were some concerns about prices of lodging in Sydney
  509. # [17:58] <fantasai> shane: The suggested hotels were quite expensive
  510. # [17:58] <fantasai> shane: I wanted to share research with you
  511. # [17:59] <fantasai> shane: Flights to/from Sydney from SF stopping in Fiji ~$1200/$1300
  512. # [17:59] <fantasai> shane: from Paris ~ 800 euros
  513. # [17:59] <fantasai> shane: If we resolve on dates, and price-sensitive ppl book soon, should be affordable
  514. # [17:59] <fantasai> shane: wrt accommodation, booking.com has hotels for as low as $60/night
  515. # [17:59] <fantasai> shane: USD
  516. # [18:00] <fantasai> shane: Not super-close to venue, but in the city, so easy to get transport
  517. # [18:00] <fantasai> shane: Also lots of deals on AirBnB places.
  518. # [18:00] <fantasai> shane: 3-bed range from $250/night up
  519. # [18:00] <fantasai> TabAtkins: Place we stayed is now $600
  520. # [18:00] * Joins: AH_Miller (~mike@public.cloak)
  521. # [18:00] <fantasai> SteveZ: We used a serviced apartment near the park
  522. # [18:01] <fantasai> SteveZ: It was really nice. 44th floor, looking at city
  523. # [18:01] <fantasai> shane: I can't do anything about the length of time to get there
  524. # [18:01] <fantasai> shane: or about the jet lag
  525. # [18:01] <fantasai> iank: But we have lots of caffeine. Would make everyone coffee
  526. # [18:01] * Joins: Ms2ger (~Ms2ger@public.cloak)
  527. # [18:01] <fantasai> glazou: Okay, let's look at dates
  528. # [18:02] <fantasai> [discussion of dates]
  529. # [18:02] <fantasai> SimonSapin: FOSDEM is first week of February
  530. # [18:02] * Quits: vollick (~vollick@public.cloak) (Ping timeout: 180 seconds)
  531. # [18:03] * Joins: webuser (~webuser@public.cloak)
  532. # [18:04] <fantasai> [discussion of when FOSDEM might be]
  533. # [18:05] * Quits: andrey-bbg (~andrey-bbg@public.cloak) (Ping timeout: 180 seconds)
  534. # [18:05] * tantek notes that Super Bowl 50, and Huntington Beach Surf City Half Marathon, and likely Kaiser Half Marathon, are all on Sunday February 7th.
  535. # [18:08] * tantek that is 2016-02-07
  536. # [18:08] <fantasai> [juggling dates]
  537. # [18:08] <ChrisL> Resolved: Valentine's day more important to @csswg than FOSDEM
  538. # [18:08] <tantek> wow
  539. # [18:08] <dbaron> plinss, when is the TAG meeting around then?
  540. # [18:08] <fantasai> Proposal:
  541. # [18:08] * plinss jan 19-21
  542. # [18:08] <fantasai> CSSWG Feb 1-3 (M-W)
  543. # [18:08] <fantasai> Houdinin Jan 30-31 (Sat Sun)
  544. # [18:08] * dauwhe_ ChrisL: LOL
  545. # [18:08] <fantasai> SVG Feb 6-8 (W-F)
  546. # [18:09] <dbaron> https://wiki.csswg.org/planning/sydney-2016
  547. # [18:09] <fantasai> s/6-8/3-5/
  548. # [18:09] <fantasai> FOSDEM expected on the 6th/7th
  549. # [18:10] <fantasai> shane: also possible to shift forward by 1 day
  550. # [18:10] <glazou> PROPOSAL is Houdini 30/31-jan, CSS WG 1/3-feb, SVG 4/5-feb
  551. # [18:11] <fantasai> glazou: Next meeting after that...
  552. # [18:11] <fantasai> glazou: TPAC was US West Coast
  553. # [18:11] * Quits: hyojin_ (~hyojin@public.cloak) (Ping timeout: 180 seconds)
  554. # [18:11] <fantasai> glazou: Then we didt Australia
  555. # [18:11] <fantasai> glazou: US East Coast
  556. # [18:11] <fantasai> glazou: Paris
  557. # [18:11] <fantasai> glazou: Japan
  558. # [18:11] <fantasai> glazou: Australia
  559. # [18:11] <fantasai> dbaron: TPAC 2016 likely to be Europe
  560. # [18:12] <fantasai> glazou: Likely to have one of the meetings in between Australia and TPAC 2016 to be US West Coast
  561. # [18:13] <fantasai> proposal for San Diego
  562. # [18:13] <fantasai> in May
  563. # [18:13] <fantasai> SteveZ: Adobe can also host in San Jose or SF
  564. # [18:13] <liam> [if anyone is interested in meeting alongside libregraphicsmeeting.org in London next May there's aparrently meeting space]
  565. # [18:14] <tantek> SF is preferred by SF residents :)
  566. # [18:14] * Quits: smfr (~smfr@public.cloak) (smfr)
  567. # [18:14] <fantasai> dbaron: Probably want to wait on solving dates, to sort out AC meeting etc.
  568. # [18:14] * Joins: smfr (~smfr@public.cloak)
  569. # [18:14] <astearns> SF is preferred by non-SF residents
  570. # [18:14] <glazou> SD is preferred by some non-US residents too
  571. # [18:15] <fantasai> Aiming for May, details later
  572. # [18:15] * astearns SF over SJ, that is
  573. # [18:16] <tantek> astearns: yes, SF > SJ
  574. # [18:16] <fantasai> [discussing locations for August]
  575. # [18:16] <tantek> but we're ok with SD
  576. # [18:16] <tantek> might even prefer SD
  577. # [18:16] <fantasai> If TPAC is in Europe, then maybe move West Coast to August and West Coast in May
  578. # [18:16] <fantasai> dbaron: Suggest waiting for locations of AC meetings
  579. # [18:17] <fantasai> dbaron: Also other conferences in May, may or may not have dates for those yet
  580. # [18:18] * Rossen is now known as Rossen_away
  581. # [18:21] * Quits: gregwhitworth_ (~gregwhitworth@public.cloak) (Ping timeout: 180 seconds)
  582. # [18:21] * Parts: webuser (~webuser@public.cloak)
  583. # [18:23] * Quits: johanneswilm (~johannes@public.cloak) (Ping timeout: 180 seconds)
  584. # [18:25] * Quits: AH_Miller (~mike@public.cloak) ("")
  585. # [18:25] * Joins: AH_Miller (~mike@public.cloak)
  586. # [18:29] * Quits: AH_Miller (~mike@public.cloak) ("")
  587. # [18:30] * Quits: smfr (~smfr@public.cloak) (smfr)
  588. # [18:30] * Joins: AH_Miller (~mike@public.cloak)
  589. # [18:30] * Joins: dael (~dael@public.cloak)
  590. # [18:45] * Quits: dael (~dael@public.cloak) (Ping timeout: 180 seconds)
  591. # [18:54] * Quits: AH_Miller (~mike@public.cloak) ("")
  592. # [18:55] * Joins: vollick (~vollick@public.cloak)
  593. # [18:56] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  594. # [18:56] * Joins: Florian (~Florian@public.cloak)
  595. # [18:57] * Quits: robertknight_clo (~sid15951@public.cloak) ("")
  596. # [18:57] * Joins: robertknight_clo (~sid15951@public.cloak)
  597. # [19:03] * Quits: Florian (~Florian@public.cloak) (Ping timeout: 180 seconds)
  598. # [19:04] * Joins: Florian (~Florian@public.cloak)
  599. # [19:05] * Quits: Florian (~Florian@public.cloak) (Client closed connection)
  600. # [19:05] * Joins: Florian (~Florian@public.cloak)
  601. # [19:12] * Quits: Bert (bbos@public.cloak) (Client closed connection)
  602. # [19:12] * Joins: Bert (bbos@public.cloak)
  603. # [19:15] * Joins: jcraig (~jcraig@public.cloak)
  604. # [19:16] * Joins: gregwhitworth (~gregwhitworth@public.cloak)
  605. # [19:18] * plinss changes topic to 'CSS WG ftf, hosted by Bloomberg in NYC ; https://wiki.csswg.org/planning/new-york-2015#agenda'
  606. # [19:19] * Rossen_away is now known as Rossen
  607. # [19:19] <fantasai> ScribeNick: fantasai
  608. # [19:19] <fantasai> Topic: position: fragment
  609. # [19:22] <fantasai> Rossen: This was a discussion on position: fragment.
  610. # [19:23] <fantasai> Rossen: fantasai pointed out that when I published the FPWD of the Positioning draft, I left in the position: page feature that the WG had required to leave out
  611. # [19:24] <fantasai> Rossen: Going back to this feature, and why it's useful
  612. # [19:24] <fantasai> Rossen: When we proposed the position: paged value
  613. # [19:24] <fantasai> Rossen: We didn't have fragmentation spec
  614. # [19:24] <fantasai> Rossen: We didn't at the time have the notion of overflow: fragments
  615. # [19:24] <fantasai> Rossen: and [...]
  616. # [19:25] * Quits: SteveZ (~SteveZ@public.cloak) (Ping timeout: 180 seconds)
  617. # [19:25] <fantasai> Rossen: I created one example
  618. # [19:25] <fantasai> [Shows example of an article about New York]
  619. # [19:26] <fantasai> Rossen: One use case was people trying to either annotate or put some kind of marking with the content that they have that flows through some potentially fragments
  620. # [19:26] <fantasai> [example has first paragraph in one big block, then a narrow column next to a wide column
  621. # [19:28] <fantasai> Rossen: Only thing that I added, was to mark some section of the text
  622. # [19:28] <fantasai> Rossen: with a marker element
  623. # [19:28] <fantasai> Rossen shows a little triangle on top of the word "With" in a random position in the paragraph
  624. # [19:29] <fantasai> Rossen: We have two markers that are inline with the text
  625. # [19:29] <fantasai> Rossen: One of the use cases that we got requested at the time
  626. # [19:29] <fantasai> Rossen: was that people wanted to, besides having markers inline, wanted to position those with respect to the fragment that they happen to be in
  627. # [19:29] <fantasai> Rossen: If I position the marker left, just with left: 0
  628. # [19:30] * Quits: mihnea_____ (~sid16310@public.cloak) ("")
  629. # [19:30] <fantasai> Rossen: Because the top position will be taken from the static inline position, will be in the same line of text
  630. # [19:30] * Joins: mihnea_____ (~sid16310@public.cloak)
  631. # [19:30] <fantasai> Rossen: but shifted to the start of the line
  632. # [19:30] * TabAtkins is in his way back now
  633. # [19:30] <fantasai> Rossen: Problem becomes when we try to position the top
  634. # [19:30] <fantasai> Rossen: Position: absolute says that you have to find the nearest abspos containing block
  635. # [19:30] <fantasai> Rossen: Since there are no such, it's the initial containing block
  636. # [19:30] <fantasai> Rossen: which is the first region
  637. # [19:31] <fantasai> Rossen: So both markers end up overlapping on top of each other
  638. # [19:31] <fantasai> Rossen: This is why we want to position relative to the nearest fragmentainer
  639. # [19:31] <fantasai> Rossen: Previously we had this name, that I didn't like, position: page.
  640. # [19:31] <fantasai> Rossen: Prefer it to be called position: fragment
  641. # [19:31] * Zakim excuses himself; his presence no longer seems to be needed
  642. # [19:31] * Parts: Zakim (zakim@public.cloak)
  643. # [19:31] <fantasai> Rossen: Both markers positioned with respect to their own fragmentainer
  644. # [19:32] * Joins: johanneswilm (~johannes@public.cloak)
  645. # [19:32] <fantasai> Rossen: Two markers show up wherever the containg fragmentainer of the marker is
  646. # [19:32] * fantasai invite Zakim
  647. # [19:32] <Florian> q+
  648. # [19:33] * Joins: Zakim (zakim@public.cloak)
  649. # [19:33] <fantasai> Rossen: If I change my template to be a multicolumn, same thing should apply
  650. # [19:33] <fantasai> Rossen: Stay in the corresponding column
  651. # [19:34] <fantasai> Rossen shows a different article
  652. # [19:34] <fantasai> It has four columns
  653. # [19:34] <fantasai> Title and header spans two columns
  654. # [19:34] <fantasai> Rossen: They used position: fragment for the ads
  655. # [19:35] <fantasai> Rossen: This is only about positioning, nothing to do with exclusions
  656. # [19:35] <fantasai> Rossen: Wanted to resume the discussion about this feature
  657. # [19:35] <fantasai> Rossen: And pursue a route where we can re-add it to the positioning spec
  658. # [19:35] <Florian> q-
  659. # [19:35] * Zakim sees no one on the speaker queue
  660. # [19:36] <fantasai> Florian: I completely agree with you on the use cases.
  661. # [19:36] <fantasai> Florian: However, I disagree with you that treating this and exclusions and collisions as separate topics is a good idea
  662. # [19:36] <fantasai> Florian: If you have two markers in the same column, they are going to overlap with each other.
  663. # [19:36] <fantasai> Florian: This is not very robust
  664. # [19:36] <fantasai> Florian: It's especially a problem because the author may look in iPad screen size and it's fine
  665. # [19:36] <fantasai> Florian: But on a different device, it overlaps
  666. # [19:37] <fantasai> Florian: Page floats, which are also poorly named, aim to solve the same problem
  667. # [19:37] <fantasai> Florian: While dealing with exclusions and collisions at the same time
  668. # [19:37] <fantasai> Florian: Admittedly the page floats spec is not yet very mature
  669. # [19:37] <fantasai> Florian: But I think it is a better approach to solving these problems.
  670. # [19:37] <fantasai> Florian: Also works better with column span
  671. # [19:38] <fantasai> Florian: Spanning 2 columns is reasonably common
  672. # [19:38] <fantasai> Florian: This feature needs more work, but I think it's a more promising approach.
  673. # [19:38] <fantasai> Florian: That said, I really agree with the use cases, and we should solve them.
  674. # [19:38] <fantasai> Florian: So I'm not saying we don't work on this topic
  675. # [19:38] <fantasai> Florian: Just a question of which approach we take to deal with that.
  676. # [19:38] <fantasai> fantasai: I'm 100% in support of what Florian said
  677. # [19:38] <fantasai> Rossen: So you're saying there are no use cases for abspos
  678. # [19:39] <fantasai> Florian: I'm not saying there are no use case for abspos
  679. # [19:39] <fantasai> Florian: But there are use cases that you will try to solve with abspos
  680. # [19:39] <fantasai> Florian: But would be beter solved with page floats
  681. # [19:39] <fantasai> Florian: More robust, that is, better handled in variable environments
  682. # [19:40] <fantasai> Rossen: Page floats is combination of two features, positioning with respect to fragment, and exclusion
  683. # [19:40] <fantasai> Florian: Three features: also collision avoidance. That's an important feature.
  684. # [19:40] <fantasai> Rossen: If we agree that there are use cases and need to have these as three separate features
  685. # [19:40] <fantasai> Rossen: Being able to position something wrt fragment, and it not necessarily being an exclusion
  686. # [19:41] <fantasai> Rossen: This is a marker, but could easily be a menu
  687. # [19:41] <fantasai> Rossen: Gets tagged along in the appropriate fragment
  688. # [19:41] <fantasai> Rossen: Usable without affecting the content
  689. # [19:41] <fantasai> Rossen: Which is an ebook reader that does this for annotations and note taking
  690. # [19:41] <fantasai> Rossen: You want to keep your notes relative to where you took the notes
  691. # [19:41] <fantasai> Rossen: And you want to present the menu without destroying the content
  692. # [19:41] * fantasai points out that two menus on top of each other is not smart either
  693. # [19:41] <fantasai> Rossen: You want to keep it in the fragmentainer it appears in
  694. # [19:42] <fantasai> Rossen: Not necessarily affecting the content.
  695. # [19:42] <fantasai> Florian: I would agree that this use case exists
  696. # [19:42] <ChrisL> so it is for a popover (that does not cause reflow)
  697. # [19:42] <fantasai> Florian: But what I'm concerned about is the exclusions and collision-avoidance being opt-in rather than opt-out
  698. # [19:42] <fantasai> Florian: By default, you have exclusion and collision-avoidance. And if you really want to not have those, you turn them off.
  699. # [19:43] <fantasai> Florian: Otherwise authors will create layouts that work on their own screens, and don't work on others
  700. # [19:43] <fantasai> Florian: Absolute positioning is useful and dangerous
  701. # [19:43] <fantasai> Florian: If we can make a positioning system that is not dangerous by default
  702. # [19:43] <fantasai> dbaron: I worry less about things with exclusions but not collision-handling, than things that have neither.
  703. # [19:44] <fantasai> dbaron: Since exclusions appear to avoid collisions, but don't.
  704. # [19:44] <fantasai> Florian: I would much rather solve page floats, and have a property that lets you opt out of exclusions, than the other way around.
  705. # [19:45] <fantasai> plinss: I want to build page floats out of primitives
  706. # [19:45] <fantasai> plinss: Explain floating before we add new types of floating
  707. # [19:45] <fantasai> Florian: Problem if we do it this way is that the simple way of using it will not be the safe way of using it
  708. # [19:45] <liam> [note from IRC, exclusions/intrusions, floats, spanning & stacking is one of the hardest problems in layout & it really does help to view them all together]
  709. # [19:45] * ChrisL spec for new, unsafe ways of floating. shortname: css-sinking-1
  710. # [19:46] <fantasai> Florian: You will get all the problems authors have with unanticipated collisions would still be there
  711. # [19:46] <fantasai> ...
  712. # [19:46] <fantasai> Florian: In the other example, what happens if both images end up in the same colum ('cuz your screen is taller than you expected, or whatever)
  713. # [19:47] <fantasai> Rossen shows an example
  714. # [19:47] <fantasai> Florian: This example only has one image
  715. # [19:48] <fantasai> ...
  716. # [19:49] * Quits: birtles (~sid16523@public.cloak) ("")
  717. # [19:49] * Joins: birtles (~sid16523@public.cloak)
  718. # [19:49] <fantasai> fantasai: <gives an example>
  719. # [19:49] <fantasai> Rossen: I'm not talking about abspos
  720. # [19:49] <fantasai> fantasai: Neither am I
  721. # [19:49] <fantasai> Rossen tells fantasai that she's complaining about abspos and he's not talking about abspos
  722. # [19:50] <Florian> q+
  723. # [19:50] * Zakim sees Florian on the speaker queue
  724. # [19:50] * glazou and all WG hides
  725. # [19:50] <fantasai> s/<gives an example>/Your menu example is also broken. Say you wanted the menu at the top of each section. You use position: fragment to put it there. If on my screen both sections end up on the same page, because my screen is taller than yours (e.g. I use portrait and you use landscape), then the menus will end up both at zero coord in the same fragmentainer, and thus lay on top of each other. And one menu is thus unusable/
  726. # [19:51] <fantasai> [room shuts up while fantasai updates the minutes]
  727. # [19:51] <fantasai> Rossen: You can fix the problem by using Javascript
  728. # [19:52] <fantasai> johanneswilm: Wrt primitives, I can see the point that page float is a lot of very complex things, and you would want something that is simpler and you use JavaScript on top of that
  729. # [19:52] <fantasai> johanneswilm: But I don't see how this would help me in doing that.
  730. # [19:53] <fantasai> johanneswilm: I could place the things manually with JS anyway.
  731. # [19:53] * Bert thinks the problem is that people have a model in mind to solve a use case and are unable to see that there are other models, in this case e.g., float or (foot)notes or transformations with JS or XSLT, instead of abspos.)
  732. # [19:53] <fantasai> Rossen: How would you place things at the top left of the region
  733. # [19:54] <fantasai> johanneswilm: I would figure out what region I'm in, figure out what the coordinates are, then I would create a new region flow for this one element, I then put it in the place where I need to put the piece of content that I want to put at the top of this fragment
  734. # [19:54] <fantasai> johanneswilm: I put it there, maybe make it an exclusion, maybe change its coordinates to avoid overflow
  735. # [19:54] <fantasai> Rossen: You would break region chain to make this work
  736. # [19:54] <fantasai> johanneswilm: It can be done
  737. # [19:54] <fantasai> Rossen: How would you do it with columns or pages
  738. # [19:54] <fantasai> johanneswilm: Don't know about the APIs for columns or pages, I'd use regions
  739. # [19:55] <fantasai> johanneswilm: I would create a new flow for things I took out of flow, then place those with javascript
  740. # [19:55] <fantasai> johanneswilm: Can be done that way today
  741. # [19:55] * astearns s/Can/Has/
  742. # [19:55] <fantasai> johanneswilm: If this does not exist for columns so far, don't see why you wouldn't just add that to columns
  743. # [19:55] <ChrisL> multiple named flows, aka "how FrameMaker did it"
  744. # [19:55] <fantasai> johanneswilm: Rather than create something new that you can't actually use in a production environment without a ton of JS to manage collisions
  745. # [19:56] <fantasai> Florian: I agree that you're not creating something totally new,
  746. # [19:56] <fantasai> Florian: But you are addressing a new use case by extending the reach of abspos to do things it couldn't do before
  747. # [19:56] <fantasai> Florian: And it would solve these use cases, but not particularly well, and require JS
  748. # [19:56] <fantasai> Florian: We have the ability to address these use cases without these problems.
  749. # [19:57] <fantasai> Florian: So I'm in favor of doing it there.
  750. # [19:57] <fantasai> Bert: This use case is the same use case as footnotes
  751. # [19:57] <fantasai> Bert: You want something at the edge of the region
  752. # [19:57] <fantasai> Bert: Goes into a special region, if that special region is empty, it disappears
  753. # [19:58] <fantasai> Bert: So here you have a region dedicated to an image. If there's an image you put it there. if not there's no such region
  754. # [19:58] <fantasai> johanneswilm: For footnotes, you want the footnote on the same place as the marker
  755. # [19:58] <astearns> solving a use case with an integrated system that doesn't require javascript usually results in a dead-end that cannot be extended to more use cases
  756. # [19:58] <fantasai> s/place/fragmentainer/
  757. # [19:58] <fantasai> johanneswilm: There's much more complexity in making sure the markers fit on same page as footnote
  758. # [19:59] <fantasai> johanneswilm: Footnotes are different than page floats
  759. # [19:59] <fantasai> leaverou: What I don't understand about this discussion is why we can't just do ::region { position: relative }
  760. # [19:59] <fantasai> leaverou: That would solve that use case, unless I misunderstood what the issue is.
  761. # [19:59] <fantasai> dbaron: Two comments
  762. # [20:00] <fantasai> dbaron: To respond to Lea, one of the issues with making abspos relative to the first fragment
  763. # [20:00] <fantasai> leaverou: Didn't suggest that, it's terrible
  764. # [20:00] <astearns> we should certainly consider positioning, wrap and avoidance together, but we should provide primitives for each separately that are manipulable by javascript
  765. # [20:00] <fantasai> dbaron: One of the issues is what happens to pages where the user prints, but the author didn't think about printing when they designed the page?
  766. # [20:01] <fantasai> leaverou: Many use cases for positioning, many for page floats.
  767. # [20:01] <fantasai> leaverou: But abspos already exists
  768. # [20:01] <fantasai> leaverou: Should spec something that does the reasonable thing
  769. # [20:01] <fantasai> leaverou: All abspos things going ot the first fragment makes no sense
  770. # [20:01] <fantasai> dbaron: The use case of printing stuff when author wasn't thinking about printing is probably a significant chunk of the printing that happens on the Web
  771. # [20:01] <fantasai> leaverou: Very small segment of printing in the publishing industry
  772. # [20:02] <fantasai> leaverou: who print sweb pages
  773. # [20:02] * dauwhe_ lots of use cases for collision avoidance, too. Common problem when trying to do interesting things in Prince.
  774. # [20:02] <fantasai> plinss: Last time I saw stats form HP, over 50% of things coming out of HP printers was a web page
  775. # [20:02] * astearns so we just need to fix that web page to print properly
  776. # [20:03] <fantasai> dbaron: Second comment I have is in reply to Florian, who said something about how this wasn't introducing new problems with abspos
  777. # [20:03] <dauwhe_> s/print sweb/prints web/
  778. # [20:03] * glazou and HP thanks the french government surveillance law for its stats :-)
  779. # [20:03] <fantasai> dbaron: One thing it does introduce that's different is problem fantsai is worried about
  780. # [20:03] * tantek glazou SMH
  781. # [20:03] * Joins: BradK (~bradk@public.cloak)
  782. # [20:03] <Florian> q+
  783. # [20:03] * Zakim sees Florian on the speaker queue
  784. # [20:03] <fantasai> dbaron: What happens if author designs it and it works, and then user's display fragments them both
  785. # [20:04] <fantasai> s/both/differently, resulting in two things that were on separate pages appearing on the same page/
  786. # [20:04] <fantasai> dbaron: These are two separate problem
  787. # [20:04] * tantek glazou http://www.urbandictionary.com/define.php?term=smh
  788. # [20:05] <fantasai> dbaron: One of my comments is about why abspos associated with first fragment
  789. # [20:05] * tantek glazou what time is the break?
  790. # [20:05] * tantek needs to get some serious espresso
  791. # [20:05] <fantasai> dbaron: And one is about why we want collision-avoidance should be built in by default
  792. # [20:06] * glazou tantek aren’t we discussing breaks right now?-)
  793. # [20:06] * tantek glazou we are discussing broken breaks now.
  794. # [20:06] * glazou tantek that will be funnier the day we discuss unbroken breaks :-D
  795. # [20:06] <fantasai> leaverou: I think page floats should exist and abspos should exist
  796. # [20:07] <fantasai> Rossen: I didn't say that page floats shouldn't exist
  797. # [20:07] * glazou can’t wait for negative zero breaks
  798. # [20:07] * tantek glazou br {display:none}
  799. # [20:07] <fantasai> Florian: Because you are trying to use this mechanism to address use cases that are better solved with page floats
  800. # [20:07] <fantasai> Florian: This will solve those cases poorly and get implemented fast because it's easier
  801. # [20:07] <leaverou> s/Very small segment of printing in the publishing industry/Very large segment of printing in the publishing industry/
  802. # [20:07] <fantasai> Florian: And then we have these problems, and lose incentives for implementing page floats
  803. # [20:08] <leaverou> s/leaverou: who print sweb pages/leaverou: but few users print web pages/
  804. # [20:08] <fantasai> Florian: If we want to try to solve these use cases, we shouldn't solve them with this.
  805. # [20:08] <fantasai> Florian: Would prefer to solve page floats first.
  806. # [20:08] * tantek glazou playing violin = time for break
  807. # [20:08] * ChrisL pistols at dawn
  808. # [20:09] * glazou tomahawks forbidden, guys
  809. # [20:09] <fantasai> [argument over whether page floats is relevant to this discussion. Rossen says they're irrelevant to this discussion. Florian says that they're relevant because the use cases Rossen is bringing up as a justification are better solved by page floats]
  810. # [20:09] <fantasai> dbaron: I don't think this is a realistic use case
  811. # [20:09] * astearns break-avoid: filibuster
  812. # [20:09] <fantasai> dbaron: You need to have realistic use cases for people to understand what you want
  813. # [20:09] <fantasai> leaverou: Here's a case
  814. # [20:09] <fantasai> leaverou: In my book, I have code areas that have a page background
  815. # [20:10] <fantasai> leaverou draws a box with some text inside
  816. # [20:10] <fantasai> leaverou: I wanted when they were broken across pages to have a zigzag top edge, zigzag bottom edge
  817. # [20:10] <fantasai> leaverou: I used box-decoration-break: clone
  818. # [20:10] * glazou smells the break-style property arriving :-)
  819. # [20:11] <fantasai> leaverou: In my use, there can only be two fragments total, so doesn't scale
  820. # [20:11] <fantasai> leaverou: use pseudo elements
  821. # [20:11] <fantasai> leaverou: to hide the zigzag border on the first and last boxes
  822. # [20:11] <fantasai> dbaron: What we want to do for satisfying case of printing ...
  823. # [20:12] * glazou AFAIC, this is the first time we draw the waves from the Knossos palace during a CSS ftf meeting :-)
  824. # [20:12] <ChrisL> the hiding is a workaround. It would be better to specify styling of broken edges directly
  825. # [20:12] <fantasai> dbaron: The behavior you want for printing in order to print ...
  826. # [20:13] <fantasai> dbaron: The problem is we don't have a name for this thing
  827. # [20:13] * fantasai agrees with ChrisL
  828. # [20:13] <fantasai> dbaron: The goal is we want web pages that were not designed for printing to print reasonably
  829. # [20:13] * glazou ChrisL: what I said, break-style
  830. # [20:13] <fantasai> dbaron: The way to handle abspos to solve that goal
  831. # [20:13] * ChrisL should maybe say it, then.
  832. # [20:13] <fantasai> dbaron: Is that top is relative to the top fragment, and bottom is relative to the bottom fragment
  833. # [20:14] * Joins: dael (~dael@public.cloak)
  834. # [20:14] <fantasai> dbaron: so that still works
  835. # [20:14] <fantasai> Oh, yeah. There's totally buggy abspos printing behavior
  836. # [20:14] <fantasai> leaverou: Might want pseudo-elements to target fragments
  837. # [20:14] <fantasai> ChrisL: I would characterize what you did ther eas a workaround.
  838. # [20:14] <fantasai> ChrisL: If we wanted to solve that use case, we would style top breaks and bottom breaks differently
  839. # [20:15] <fantasai> leaverou: Or just target the fragments to style differently, not targetting the breaks
  840. # [20:16] <fantasai> Rossen: If you specify top: 0; bottom: 0; top 0 shoudl attach to the top of the first fragment, and bottom should apply tot the bottom of the last fragment
  841. # [20:16] <dbaron> (I *think* Gecko only has the bug fantasai is thinking about when the bottom is a large enough number to push something back to an earlier page.)
  842. # [20:16] <fantasai> Rossen: I'm still not able to work within a single fragment
  843. # [20:16] * Quits: anssik (~uid10742@public.cloak) ("Connection closed for inactivity")
  844. # [20:16] <fantasai> Florian: This ties into page floats
  845. # [20:16] <fantasai> Rossen: If you want something attached to the bottom of your fragmentainer, then you can float it
  846. # [20:16] <fantasai> s/Rossen/Florain
  847. # [20:17] <fantasai> Florian: You get additional things with the page floats approach
  848. # [20:17] <fantasai> Florian: Ability to float to the right or left, next column, avoid colliding when both at the top of the same fragmentainer, float left on odd pages, right on even pages
  849. # [20:17] <fantasai> Florian: We et all of these with page floats
  850. # [20:17] <fantasai> Florian: On the author side, if they use position: fragment, they will think they solved the problem when really they didn't
  851. # [20:18] <fantasai> Florian: And on the implementer, same thing, they will think they solved the use cases when really they didn't
  852. # [20:18] <fantasai> [discussion of use cases]
  853. # [20:18] * glazou if we ever write that « Use Cases » song, it’s going to be main hit of 2015 :-D
  854. # [20:19] * leaverou please do it glazou!!
  855. # [20:19] <fantasai> Florian: Of these markers you have, what happens if they're on the same page? Theyll overlap
  856. # [20:19] <fantasai> Rossen: Same problem you have with abspos
  857. # [20:19] <fantasai> Florian: Sure, but the author sees that problem as well
  858. # [20:19] <fantasai> Florian: In this case, author might not see the problem, but user sees the problem.
  859. # [20:19] <fantasai> Florian: We should design systems that avoid this problem: where the author sees the result they want and it breaks on the user's computer
  860. # [20:20] * glazou leaverou I could reuse a Tom Jones’ music
  861. # [20:20] <fantasai> Florian: Also, we have opt-in exclusions, but we don't have opt-in collision-avoidance
  862. # [20:20] <leaverou> s/ Might want pseudo-elements to target fragments/ Might want pseudo-elements to target fragments and a :fragments pseudo-class for elements that are fragmented, perhaps with an optional an+b parameter for number of fragments (e.g. :fragments(n+3))/
  863. # [20:21] <fantasai> fantasai: Ok, now that we've repeated the arugment we had last time we discussed this, do we have any conclusions?
  864. # [20:21] * glazou the music of « sex bomb » by Tom Jones would be perfect
  865. # [20:22] <fantasai> leaverou: So if by default, abspos are psotioned like dbaron suggested, why can't we just apply position relative to the fragment?
  866. # [20:22] <fantasai> leaverou: This would be opt-in behavior.
  867. # [20:22] * glazou maybe we need another round of this morning’s drugs ?-)
  868. # [20:24] <fantasai> fantasai explains the issue to leaverou again, but forgets what she said
  869. # [20:24] <fantasai> fantasai: So could have e.g. page floats, with a switch that turns off exclusion and/or collision-avoidance behavior
  870. # [20:25] <fantasai> fantasai: Which would have the default behavior to avoid overlap
  871. # [20:25] <fantasai> fantasai: And only has overlap if specificaly requested
  872. # [20:25] <fantasai> Rossen: That seems reasonable to me
  873. # [20:25] <fantasai> Rossen: seems smiliar
  874. # [20:25] <fantasai> Florian: Difference is defaults
  875. # [20:26] <fantasai> Rossen: ...
  876. # [20:26] <fantasai> Florian: I think you mischaracterized what I' mproposing
  877. # [20:26] <fantasai> Florian: Idea is to have a switch that applies to page floats, to turn off exlcusions/avoidance
  878. # [20:26] <fantasai> Florian: Page floats have a definition for exclusions, have a definition for avoidance
  879. # [20:26] * Joins: myles (~Adium@public.cloak)
  880. # [20:26] <fantasai> Florian: You can turn them off. But they exist already
  881. # [20:27] <fantasai> Florian: But if you have a generic switch, like you're proposing, have to define how they work for everything
  882. # [20:27] <fantasai> Florian: I tried to define a generic collision-avoidance property that works for everything. And that's hard.
  883. # [20:27] <fantasai> Florian: But floats have that
  884. # [20:27] <fantasai> Rossen: Because they have a very simple model
  885. # [20:27] <fantasai> Rossen: Exclusions can apply to other layout models, too, though.
  886. # [20:27] <fantasai> Rossen: Not always bound to page or fragment
  887. # [20:27] <fantasai> Rossen: Can create templates that have nothing to do with ...
  888. # [20:28] <fantasai> Rossen: I get what you're saying. You want to restrict feature so only used on fragmentainers
  889. # [20:28] <fantasai> s/feature/page floats/
  890. # [20:28] <fantasai> Florian: page floats work [on all these things]
  891. # [20:28] <fantasai> Rossen: What about on grid?
  892. # [20:28] <fantasai> Rossen: Exlcusions work on everything
  893. # [20:29] <fantasai> Florian: This is also a discussion we had when we discussed exclusions
  894. # [20:29] <astearns> page floats haven't yet been defined well enough to say whether they work [on all these things] or not
  895. # [20:29] <fantasai> Florian: There were significant negative feedback on exclusions. Not because of exlcusions themselves, but because they made it more tempting to use abspos in cases where you would not have used abspos before
  896. # [20:29] <fantasai> Rossen: Almost everyone uses exclusions on top of grid
  897. # [20:30] <fantasai> ...
  898. # [20:30] <fantasai> johanneswilm: The reason that the page floats spec only talks about the fragmentation is that we tried to keep it as simple as possible
  899. # [20:30] <fantasai> johanneswilm: And we thought there might not be much reason to doing more than that
  900. # [20:30] <astearns> grid positioning can end up with some of the same collision problems people see with abspos
  901. # [20:30] <fantasai> johanneswilm: But no opposition to doing it for more
  902. # [20:30] * fantasai yes, but again, you'll see it in all cases, not sensitive to resizing
  903. # [20:31] <fantasai> Bert: You might want to float something, e.g. a callout, only if there isn't already one
  904. # [20:31] <fantasai> Bert: If I have place for two, float both. Otherwise float one, don't do second one.
  905. # [20:31] <fantasai> Bert: Conditional float or something
  906. # [20:31] <fantasai> Bert: This seems to be what you'd want to do with your marker
  907. # [20:31] <fantasai> Bert: Similar to how running headers are done.
  908. # [20:31] <fantasai> Bert: You put current title at the top
  909. # [20:31] <fantasai> Bert: If two sections start on this page, you don't put the second one in the running header
  910. # [20:32] * glazou would love to have conditional air conditioning too…
  911. # [20:32] * astearns fantasai - so if it's a problem, you can fix it with either changing the grid positioning or by opting in to wrap with exclusions. I do not think people will want to solve grid collisions with automatic collision avoidance
  912. # [20:34] <fantasai> Rossen: What now? fantasai: There's no consensus, so we don't move forward
  913. # [20:34] * Quits: BradK (~bradk@public.cloak) ("Buh bye")
  914. # [20:34] <fantasai> fantasai: I think if you want to bring this up again, you need use cases for your solution that aren't problematic with your solution (and better solved with page floats)
  915. # [20:34] <fantasai> fantasai: If there's a use case where the problematic behaviors of this solutions are stregths for that use case, then that'd be convincing.
  916. # [20:35] <fantasai> fantasai: But if you only have use cases for which your solution is problematic, then we'd want a better solution
  917. # [20:35] <fantasai> plinss: page floats on its own is violating the extensible web principles
  918. # [20:35] <fantasai> plinss: I'd much rather have the primitives to build page floats than to have page floats
  919. # [20:36] <astearns> I'd like to have both: page floats built on top of those primitives
  920. # [20:36] <fantasai> Florian: My reservation with this approach is that primitives are problematic when using them indpeendetly is borken, and must only be used in combination
  921. # [20:36] <fantasai> plinss: It's a power tool
  922. # [20:36] <fantasai> plinss: Can do cool new wonderful things
  923. # [20:36] <fantasai> plinss: that we don't come up with
  924. # [20:36] <astearns> and I disagree that using them independently is broken
  925. # [20:36] <fantasai> johanneswilm: is that what the definition is for primitives?
  926. # [20:37] <fantasai> johanneswilm: I think all you need is exclusions, and ability to position things in Javascript
  927. # [20:37] <fantasai> Rossen: And C, collision-avoidance if needed
  928. # [20:37] <fantasai> Rossen: I say yes to all of them
  929. # [20:37] <astearns> collision avoidance can be scripted
  930. # [20:37] <fantasai> plinss: Giving them primitives doesn't mean they have to be JS
  931. # [20:37] <fantasai> plinss: page floats can be a shorthand for these other properties
  932. # [20:38] <fantasai> fantasai: ...
  933. # [20:39] <fantasai> Rossen: I can have collision-avoidance in 2 months
  934. # [20:39] <fantasai> fantasai: Great, bring up your proposal.
  935. # [20:39] <fantasai> dbaron: When you talk about primitives, I'm not sure that the primitives that we want to describe CSS on top of are also CSS.
  936. # [20:39] <fantasai> plinss: I think primitives are conceptually CSS. Not necessarily switches exposed through CSS properties and values
  937. # [20:39] * dauwhe_ is now known as dauwhe
  938. # [20:39] <fantasai> plinss: Should be conceivable as properties, even if we don't expose
  939. # [20:40] <fantasai> dbaron: Yes, and I'm not convinced that absolute positioning is the primitive we want
  940. # [20:40] * Joins: gregwhitworth_ (~gregwhitworth@public.cloak)
  941. # [20:40] <fantasai> plinss: We all dislike floats, they're weird in their interactions.
  942. # [20:40] <fantasai> plinss: Why are we building on top of floats?
  943. # [20:40] <fantasai> plinss: Want it to be predictable
  944. # [20:41] * tantek likes rootbeer floats.
  945. # [20:41] * tantek especially likes espresso floats, AKA affogattos.
  946. # [20:41] <fantasai> Florian: Wrt primitives, I think it would be good to have exclusions and collisions (which we don't have)
  947. # [20:42] <fantasai> Florian: and they're auto
  948. # [20:42] <fantasai> Florian: floats have them, and abspos don't
  949. # [20:42] <fantasai> Florian: I think we should be careful about the order we add these in, and we should be careful in defining auto
  950. # [20:42] * Rossen is now known as Rossen_away
  951. # [20:43] <fantasai> Florian: We agree on the end result, but we don't agree on the path, and don't agree on auto
  952. # [20:43] <fantasai> Florian: I would rather have page floats, explained through auto value of these properties, and you can turn it off
  953. # [20:44] <fantasai> plinss: If the idea is do X before Y then let's not decide on "don't do Y"
  954. # [20:44] <fantasai> Florian: It's not obvious that what's proposed today is necessary, if we solve page floats
  955. # [20:44] <fantasai> Florian: Majority of the use cases discussed here are solved by page floats
  956. # [20:44] * Quits: gregwhitworth (~gregwhitworth@public.cloak) (Ping timeout: 180 seconds)
  957. # [20:45] <fantasai> Florian: If page floats ends up solving all of them, then this switch doesn't need to exist
  958. # [20:45] <fantasai> Florian: We're not done exploring page floats, we should do that.
  959. # [20:45] * glazou notes the oldest float is Noah’s arch
  960. # [20:46] <fantasai> fantasai: Ok, so how do we wrap up this discussion?
  961. # [20:46] * Bert : The primitives would be things like: position A near B, position A not before B, position A near the top, position no more that X things of type A on the same page, position A at least Y em from B, etc. display A, do not display A and B in the same region...
  962. # [20:46] <fantasai> plinss: Doesn't seem like continuing the discussion is the right way to go
  963. # [20:46] <fantasai> plinss: I would like to hear more ways this proposal could move forward.
  964. # [20:46] * liam +1 to Bert's examples
  965. # [20:46] <fantasai> Florian: For me, I would like to see that there are use cases that are *better* solved with this than with page floats
  966. # [20:47] <fantasai> Florian: Otherwise I am not convinced.
  967. # [20:47] <fantasai> gregwhitworth_: If I want to put at the bottom, and not exclude, then what?
  968. # [20:47] <fantasai> johanneswilm: Turn off exclusions
  969. # [20:48] <fantasai> plinss: I want page floats explained exactly how it works
  970. # [20:48] <fantasai> plinss: If all we have is page floats property, but explained very clearly in terms of the concepts building it up
  971. # [20:48] <fantasai> plinss: and even don't have switches for these things, but could add them later
  972. # [20:48] <fantasai> plinss: Then that's fine
  973. # [20:49] <fantasai> plinss: I want to see it explained in terms of CSS primitives, basic concepts, that are generic that can explain other aspects of CSS layout
  974. # [20:49] <fantasai> fantasai, florian, johanneswilm all 100% in favor of this
  975. # [20:49] <fantasai> Florian: ...
  976. # [20:50] <fantasai> plinss: If we have use cases to have a switch, yes, we add it
  977. # [20:50] <fantasai> Florian: We don't know whether the switch is useful or not
  978. # [20:50] <fantasai> Florian: if it is we expose it
  979. # [20:50] <fantasai> plinss: Rossen, that works for you?
  980. # [20:51] <fantasai> RESOLVED: Page floats way better defined, less magic, potential switches (even if not exposed)
  981. # [20:51] <fantasai> s/potential/as potential/
  982. # [20:51] <fantasai> johanneswilm: I didn't bring up page floats at this meeting is exactly because it's not precise enough yet
  983. # [20:51] <fantasai> Topic: flexbox order a11y
  984. # [20:52] <fantasai> Bo: There's an a11y concern with Flexbox, wrt WCAG 1.2 and meaningful sequence
  985. # [20:52] <fantasai> Bo: I've learned a bit since then
  986. # [20:52] <fantasai> Bo: Focus is more specific
  987. # [20:52] <fantasai> Bo: when we were talking about holy grail layout with flexbox
  988. # [20:52] <ChrisL> http://www.w3.org/TR/WCAG20/#content-structure-separation
  989. # [20:52] <fantasai> Bo: Being able to reorder things visually without changing logical order
  990. # [20:52] * Quits: kwkbtr (~kwkbtr@public.cloak) ("")
  991. # [20:52] <ChrisL> Guideline 1.3 Adaptable: Create content that can be presented in different ways (for example simpler layout) without losing information or structure.
  992. # [20:52] <fantasai> Bo: All fine, until you change a visual sequence that's meaningful to the reader
  993. # [20:52] <fantasai> Bo: e.g. you chang eheader and nav of a page
  994. # [20:52] <fantasai> Bo: and you move those around
  995. # [20:52] <ChrisL> 1.3.2 Meaningful Sequence: When the sequence in which content is presented affects its meaning, a correct reading sequence can be programmatically determined. (Level A)
  996. # [20:53] <fantasai> Bo: The sequence doesn't matter
  997. # [20:53] * Quits: dael (~dael@public.cloak) (Ping timeout: 180 seconds)
  998. # [20:53] <fantasai> Bo: It does cause problems with person using keyboard + magnifier
  999. # [20:53] <fantasai> Bo: I think we're overlooking that
  1000. # [20:53] <fantasai> Bo: Key issue is that within one of these sections
  1001. # [20:53] <fantasai> Bo: If you have nested flexbox in there, and sequence of items in there, logical order is important
  1002. # [20:53] <fantasai> Bo: And you have flipped them with flexbox 'order'
  1003. # [20:53] <fantasai> s/flipped/rearranged/
  1004. # [20:54] <fantasai> Bo: As I understand it, reverse is still reading in logical order
  1005. # [20:54] <fantasai> Bo: For 'order', Firefox uses visual order right now
  1006. # [20:54] <fantasai> Bo: We like that
  1007. # [20:55] <fantasai> Bo: Proposal is really about, discussion about, the option for an author to say that "I'm changing the order of a meaningful sequence, and ..."
  1008. # [20:55] <fantasai> Bo: If I'm using flexbox to reorder something visually, and the sequence in the DOM no longer makes sense (e.g. to screen reader)
  1009. # [20:55] <fantasai> Bo: Then there should be an option to say that this is a meaningful sequence, let's go through the visual order
  1010. # [20:56] <fantasai> ChrisL: I heard you say you wanted two things: read through DOM sequence and read through visual sequence
  1011. # [20:56] <fantasai> ChrisL: And the trigger for that is when the DOM sequence no longer makes sense
  1012. # [20:56] <fantasai> ChrisL: When the visual order has changed, in a way that changes the meaning
  1013. # [20:56] <fantasai> Bo: The example I use when teaching designers is "how to use a defibrillator" in 4 steps
  1014. # [20:57] <fantasai> ChrisL: But what you said is that "order in the DOM no longer makes sense"
  1015. # [20:57] <fantasai> ChrisL: I can't imagine anyone making a How to use defibrillator with DOM in the incorrect order
  1016. # [20:57] <fantasai> ChrisL: Why wouldn't you just put it in the right order in the DOM?
  1017. # [20:58] <fantasai> plinss: Maybe ad-injection?
  1018. # [20:58] <fantasai> ChrisL: Yeah, there's content you need and content you unfortunately get.
  1019. # [20:58] <fantasai> leaverou: You have a list of topics in a forum
  1020. # [20:59] <fantasai> leaverou: Some have class=stick, cuz you want them pinned at the top
  1021. # [20:59] <fantasai> leaverou: posts are in the chronological order
  1022. # [20:59] <fantasai> leaverou: Use order: 1 to move to the top
  1023. # [20:59] <tantek> e.g. pinned posts, http://indiewebcamp.com/pinned
  1024. # [20:59] * Quits: gregwhitworth_ (~gregwhitworth@public.cloak) (Ping timeout: 180 seconds)
  1025. # [20:59] <fantasai> Bo: ... more examples
  1026. # [20:59] <fantasai> Bo: What we're forcing authors to do, if we say in the spec, you have to follow meaningful sequence
  1027. # [20:59] <fantasai> Bo: And you have an entire page with flexbox in the middle of another section, and need to rearrange that
  1028. # [20:59] <leaverou> s/Some have class=stick, cuz you want them pinned at the top/Some have class="sticky" or "pinned", cause you want them pinned to the top/
  1029. # [21:00] <fantasai> Bo: Forced to use tabindex through your entire page
  1030. # [21:00] <fantasai> Bo: No easy solution to make the page accesible
  1031. # [21:00] <fantasai> Bo: Spec says you need to use tabindex
  1032. # [21:00] <fantasai> fantasai: What? No...
  1033. # [21:01] <fantasai> ChrisL: What it's saying is, for an a11y tool which is not reading the style sheet but which wants to get the same reading order that would get using a style sheet
  1034. # [21:01] * Quits: lajava (~javi@public.cloak) (Ping timeout: 180 seconds)
  1035. # [21:01] <fantasai> ChrisL: Suggestion is to redundantly encode using taborder
  1036. # [21:02] <fantasai> fantasai: That sounds terrible
  1037. # [21:02] <tantek> tantek: it's a classic example of DRY violation
  1038. # [21:02] <tantek> (DRY) http://indiewebcamp.com/DRY
  1039. # [21:03] <fantasai> fantasai: The spec says if the sequence change is meaningful, the DOM should be reordered
  1040. # [21:03] <dbaron> http://dev.w3.org/csswg/css-flexbox-1/#order-accessibility
  1041. # [21:03] <fantasai> Bo: Authors are doing this for perf reasons, in order to not update the DOM
  1042. # [21:03] <fantasai> Florian: I think that's the critical point
  1043. # [21:04] <fantasai> Florian: a) Authors are writing incorrect order for various reasons, and then correcting with flexbox.
  1044. # [21:04] <ChrisL> yeah I was arguing that it was terrible (in case my comments could be read the other way)
  1045. # [21:04] * Rossen_away is now known as Rossen
  1046. # [21:04] <fantasai> Florian: We should not fix flexbox, shouldn't try to make a right out of a double-wrong, when flexbox can be used correctly.
  1047. # [21:05] * ChrisL you can't make a silk purse from a sow's ear
  1048. # [21:05] * glazou tantek I need an espresso too I think
  1049. # [21:05] <fantasai> Florian: b) There are two valid meaningful orders, one which is in the DOM, and which is correct (if was incorrect, reorder DOM). But *another* meaningful order is expressed in stylesheet
  1050. # [21:05] <fantasai> Florian: and want to be able to follow that ordering
  1051. # [21:06] <fantasai> fantasai: Closest case for b is I think leaverou's example
  1052. # [21:06] <fantasai> tantek: This presentation order vs. dom order issue isn't new to flexbox
  1053. # [21:06] <fantasai> tantek: Every layout mechanism allows you to do this.
  1054. # [21:06] <fantasai> tantek: What's the general approach, rather than picking out Flexbox?
  1055. # [21:07] * Quits: bcampbell (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  1056. # [21:07] <fantasai> [ppl list various layout modes]
  1057. # [21:07] <fantasai> tantek: Happening for decades.
  1058. # [21:07] <fantasai> fantasai: They've been complaining for decades
  1059. # [21:07] <fantasai> tantek: How do we solve this *class* of problems?
  1060. # [21:08] <fantasai> tantek: I could recreate this problem in many different ways
  1061. # [21:09] <fantasai> fantasai: Tantek is saying, we should address this problem as a class.
  1062. # [21:09] <fantasai> fantasai: 'order' is just the most staightforward expression of this problem. Makes it seem simple to solve because it's an explicit control, but can get the same problem as implict result of layout calculations
  1063. # [21:10] <fantasai> tantek: There's more examples of this problem with float than flexbox, given its legacy
  1064. # [21:10] <fantasai> tantek: If you're trying to solve presentation order vs dom reading order, those examples are worth looking at more.
  1065. # [21:11] <fantasai> Bo: Those are also inaccessible. It's against the WCAG
  1066. # [21:11] <fantasai> ChrisL: You're both saying the same thing
  1067. # [21:11] <fantasai> Rossen: Why only fix for flexbox?
  1068. # [21:11] <fantasai> Bo: Possible to do that, would be great
  1069. # [21:12] <fantasai> fantasai: There's two classes of authors here
  1070. # [21:13] <fantasai> fantasai: First class follows best practices, keeps DOM in logical order, might use CSS to reorder visually in cases wher evisual order and reading order should differ
  1071. # [21:13] <fantasai> fantasai: Second class is authors who use whatever tool in front of them, don't think about a11y or DOM order
  1072. # [21:14] <fantasai> fantasai: In the first case, we *want* to give them the ability reorder only at the visual layer. Otherwise they reorder everything to get correct visual order correct, and logical order ends up wrong.
  1073. # [21:14] * Rossen is now known as Rossen_away
  1074. # [21:14] * Joins: lajava (~javi@public.cloak)
  1075. # [21:14] <fantasai> fantasai: In the second case, you want to follow the visual order, because that's most likely to be correct; DOM could be completely random
  1076. # [21:15] <fantasai> fantasai: For the second group of authors, we need to have the most easily-used tool to be the one that reorders also the speech order
  1077. # [21:16] <fantasai> fantasai: For the first group of authors, we need to make it possible to do visual-layer reordreing, but to keep away from first group, need to make it a very specific thing they have to choose
  1078. # [21:17] <fantasai> greg: [something about a11y tools looking at DOM tree vs visual tree]
  1079. # [21:17] * Joins: bcampbell (~chatzilla@public.cloak)
  1080. # [21:17] <fantasai> Bert: Early a11y tools looked at visual output rather than DOM, not very useful
  1081. # [21:18] <fantasai> fantasai: I think this might be a navigation problem for a11y tools for people who use both sight and speech
  1082. # [21:18] <fantasai> fantasai: Might want ability to navigate visually as well as logically
  1083. # [21:20] <fantasai> fantasai: but that's for a well-designed page
  1084. # [21:20] <fantasai> fantasai: For a badly-designed page, we have a problem
  1085. # [21:20] <fantasai> greg: depends on a11y tools they're using, what a11y issues they have, plus how author designed the site... depends on all kinds of things
  1086. # [21:23] <fantasai> fantasai: One very concrete problem we have is people using 'order' for performance reasons, 'cuz faster than DOM, and trash a11y
  1087. # [21:23] <fantasai> plinss: So we should make 'order' slower :)
  1088. # [21:23] <fantasai> greg: With perf, can only go so far, but then have to teach authors better a11y
  1089. # [21:23] <fantasai> Bert: If we could come up with a way for users to get visual order, and also express why they chose that order, would give you information
  1090. # [21:23] <fantasai> fantasai: The problem is for authors who don't think about a11y and therefore don't care
  1091. # [21:24] <fantasai> ...
  1092. # [21:24] <fantasai> fantasai: The DOM order should be the order that I, as the page author, sitting next to you, woudl read it out to you as
  1093. # [21:24] <fantasai> greg: Comes back to perf issues
  1094. # [21:25] <fantasai> Bo: My problem is people coming back to me that situation is bad, what can we do
  1095. # [21:25] <fantasai> Bo: People come to me using performance as an excluse for having things in the wrong order
  1096. # [21:26] <fantasai> fantasai: So can we do something about making the DOM faster to do this reordering?
  1097. # [21:27] <fantasai> greg: We're pushing perf already
  1098. # [21:27] <fantasai> fantasai: Maybe have an API that's closer to order's API, does the reordering in one step?
  1099. # [21:28] <fantasai> TabAtkins: DOM reordering has strictly more work to do. have to not only reflow, but also adjust DOM and rerun selectors
  1100. # [21:29] <fantasai> TabAtkins: So will always be slower
  1101. # [21:29] <fantasai> Rossen_away: Would like to see exactly the use cases that are problems
  1102. # [21:29] <fantasai> Rossen_away: Nobody ever disagrees with "things should be faster"
  1103. # [21:29] <fantasai> Rossen_away: But would have a hard time, esp for flexbox when I don't expect so many items, why is DOM so much more beneficial for authors
  1104. # [21:30] <fantasai> ...
  1105. # [21:30] * glazou suggests a break
  1106. # [21:30] <fantasai> greg: Also useful to find use cases.. some do visual order, some do dom order, but suppose e.g. login is abspos to the top
  1107. # [21:31] <fantasai> greg: because injected via script
  1108. # [21:31] <fantasai> greg: how do we solve this problem in general?
  1109. # [21:31] <fantasai> greg: Technically, they would probably want the login first
  1110. # [21:31] <fantasai> greg: worth solving that generic case
  1111. # [21:32] <fantasai> fantasai: Actually, you could optimize aaway lot of the selector matching, if you knew that you were moving within the sibling chain
  1112. # [21:33] <fantasai> Bert: A sort function would be nice. Sort according to some criteria
  1113. # [21:34] <fantasai> fantasai: Yeah, that'd be useful, e.g. for leaverou's pinned posts case. Could sort all things with .pinned selector to the front of the list
  1114. # [21:35] <fantasai> fantasai: Don't have to have separate calls for removal, insertion, can optimize selectors, possibly even reflow
  1115. # [21:35] <fantasai> TabAtkins: Reordering for perf?
  1116. # [21:35] <fantasai> fantasai: Yeah, Bo is giving us that feedback
  1117. # [21:36] <fantasai> greg: Even if reordering for convenience, it would be good to have some use cases where that causes a11 issue because meaning has changed
  1118. # [21:36] <fantasai> if using 'order' for convenience, better API for reordering would also solve the laziness problem :)
  1119. # [21:36] <fantasai> TabAtkins: Maybe need a property that says whether to pay attention to visual order or DOM order
  1120. # [21:38] <fantasai> tantek: Problem is that the authors who have this problem are the ones who don't care (so won't do anything about it)
  1121. # [21:39] <fantasai> plinss: So what do we do?
  1122. # [21:39] <fantasai> fantasai: So one thing is find real-world cases where we have a problem, so we can understand better where the problems are
  1123. # [21:40] <fantasai> plinss: What about work for other WGs?
  1124. # [21:40] <ChrisL> element.pivotChildren(2,3);
  1125. # [21:40] <fantasai> fantasai: yeah, should ask ppl to look into better API for sibling reordering
  1126. # [21:40] <fantasai> fantasai: Solves two problems
  1127. # [21:41] <fantasai> fantasai: One, 'order' is a really simple, easy, lazy way to do this kind of reordering. So having an equally simple API in the DOM would solve the "this is just easier for me to do in CSS than fussing with the DOM"
  1128. # [21:41] <fantasai> fantasai: Secondly, creates opportunities for UA to optimize a lot of things
  1129. # [21:41] <fantasai> fantasai: Not as fast as 'order', since as Tab says, that's a strict subset of the work
  1130. # [21:42] <fantasai> fantasai: But having invariants and keeping in the tree will allow for more optimizations
  1131. # [21:42] <fantasai> TabAtkins: Maybe look at a switch for informed author...
  1132. # [21:43] <fantasai> fantasai: If you're an informed author, wouldn't you be doing things correctly in the first place?
  1133. # [21:44] <fantasai> fantasai: Should also try to find examples of pages which are correclty authored -- meaningful sequence is in the DOM, but visual order is different -- and a11y user wants it in the visual order
  1134. # [21:46] <fantasai> Bo: Don't know that that's a real problem
  1135. # [21:47] * ChrisL no-one wants to see 5,4,3,2,1. Unless you are launching a rocket, of course.
  1136. # [21:47] <fantasai> fantasai: We were discussing this case before, where people wanted visual order despite meaningful order in DOM
  1137. # [21:47] <fantasai> ...
  1138. # [21:47] <fantasai> [examples\
  1139. # [21:47] <fantasai> Bert: Suppose I have some text that explains something
  1140. # [21:47] <fantasai> Bert: Section at the end says "for further info, see x, y ,z"
  1141. # [21:48] <fantasai> Bert: I put it in the logical order in the DOM
  1142. # [21:48] <fantasai> Bert: but on the screen, I put the "for further info" on the left
  1143. # [21:48] <fantasai> Bo: That's considered complementary information
  1144. # [21:48] <fantasai> Bo: That's not important enough of a sequence to fall into this category
  1145. # [21:49] <fantasai> fantasai: Okay
  1146. # [21:49] <fantasai> fantasai: So to summarize
  1147. # [21:50] <fantasai> ACTION: bcampbell Get examples of broken pages
  1148. # [21:50] * trackbot is creating a new ACTION.
  1149. # [21:50] * RRSAgent records action 2
  1150. # [21:50] <trackbot> Error finding 'bcampbell'. You can review and register nicknames at <http://www.w3.org/Style/CSS/Tracker/users>.
  1151. # [21:50] <fantasai> ACTION: TabAtkins Talk with WebApps about a reordering API
  1152. # [21:50] * trackbot is creating a new ACTION.
  1153. # [21:50] * RRSAgent records action 3
  1154. # [21:50] <trackbot> Created ACTION-692 - Talk with webapps about a reordering api [on Tab Atkins Jr. - due 2015-05-27].
  1155. # [21:51] <fantasai> TabAtkins: Possibility of a DOM switch?
  1156. # [21:52] * Rossen_away is now known as Rossen
  1157. # [21:52] <fantasai> fantasai: I don't think that would help. People that would be aware enough / care enough to use it should be aware enough to do things right in the first place
  1158. # [21:52] <fantasai> Topic closed
  1159. # [21:52] <fantasai> <br duration=15min>
  1160. # [21:56] * Joins: BradK (~bradk@public.cloak)
  1161. # [21:57] * Joins: dael (~dael@public.cloak)
  1162. # [22:00] * Quits: johanneswilm (~johannes@public.cloak) (Ping timeout: 180 seconds)
  1163. # [22:01] * Rossen is now known as Rossen_away
  1164. # [22:06] <BradK> Where can I see transcripts of the IRC channel?
  1165. # [22:08] <dael> BradK: I use http://logs.csswg.org/irc.w3.org/css/ or http://krijnhoetmer.nl/irc-logs/ to view them.
  1166. # [22:08] <BradK> OK, thanks!
  1167. # [22:08] <dael> Welcome!
  1168. # [22:09] * Quits: bcampbell (~chatzilla@public.cloak) (Ping timeout: 180 seconds)
  1169. # [22:13] * Joins: bcampbell (~chatzilla@public.cloak)
  1170. # [22:16] * Joins: johanneswilm (~johannes@public.cloak)
  1171. # [22:16] * Rossen_away is now known as Rossen
  1172. # [22:16] <fantasai> sylvaing: yt?
  1173. # [22:18] <fantasai> Topic: font-loading-whatever
  1174. # [22:18] <fantasai> TabAtkins: Basic idea is that font, once you request it, goes through two period
  1175. # [22:18] <fantasai> TabAtkins: One is the "blank" period from 0s, which is when you don't show anything
  1176. # [22:19] <fantasai> TabAtkins: Then the "swap period", which is when you show the font if it's loaded
  1177. # [22:19] <fantasai> TabAtkins: And lastly the "screw it" period, which is when you no longer try to show the font, even if it's loaded
  1178. # [22:20] <fantasai> TabAtkins: Question was, do you relayout at the end of the blank period?
  1179. # [22:20] <fantasai> TabAtkins: Yes
  1180. # [22:20] <fantasai> fantasai: No
  1181. # [22:21] <fantasai> fantasai: You lay out the blank page with the fallback font metrics. If the real font hasn't loaded yet, the swap period is also using the fallback font, so no layout change (just visiblity of the font change).
  1182. # [22:21] <fantasai> fantasai: Relayout happens when the real font gets used.
  1183. # [22:21] <fantasai> ChrisL: What's the value of having the blank period
  1184. # [22:21] <fantasai> ?
  1185. # [22:21] <fantasai> TabAtkins: 2 use cases. One is not good, but ppl do anyway
  1186. # [22:22] <fantasai> TabAtkins: Using icon fonts. Good icon fonts are ligatures, no problem with fallback font. But bad icon fonts, using pictures for arbitrary letters, those ones shouldn't show anything
  1187. # [22:22] <fantasai> TabAtkins: because otherwise show random letters
  1188. # [22:22] <fantasai> TabAtkins: The ther use case is where the particular font is important, and it's better to show nothing for a little bit, rather than showing anything
  1189. # [22:23] <fantasai> ChrisL: That second case is very rare. SVG had ppl arguing that way, and 10 years later isn't not significant.
  1190. # [22:23] <fantasai> Florian: I think it's the default because of icon fonts
  1191. # [22:23] <BradK> Like with a Klingon font?
  1192. # [22:23] <fantasai> iank: There's also a case where you know it's going to load in a reasonable amount of time, so you don't want to show anything in the meantime
  1193. # [22:23] <fantasai> plinss: wrt icon fonts, that's the case of you never want to fall back ever
  1194. # [22:24] <fantasai> TabAtkins: Not sure about that
  1195. # [22:24] <BradK> "isn't not significant"?
  1196. # [22:24] <fantasai> ChrisL: Why not have a 'none' generic font family? You can put font-family: Icon Font, none;
  1197. # [22:25] <fantasai> TabAtkins: I kinda disagree because if the icon never shows up, at least there's a visible something that you can learn means "log out" or whatever
  1198. # [22:25] <fantasai> ChrisL: Couldn't you learn about a magic blank space?
  1199. # [22:26] <fantasai> TabAtkins: If you limit the blank phase for a small amount of time, the user is assessing the page, but hasn't begun really interacting with it yet
  1200. # [22:26] <fantasai> iank: This is what we did in ?, just showing the basic structure even before we show the content has a huge user benefit
  1201. # [22:26] <fantasai> iank: Facebook does this, for example
  1202. # [22:26] <fantasai> TabAtkins: You get a much better perceived load time
  1203. # [22:27] <fantasai> TabAtkins: Keywords in question
  1204. # [22:27] <fantasai> TabAtkins: Under my proposal we have block , swap, optional
  1205. # [22:27] <fantasai> TabAtkins: block sets the thresholds at 3s and infinity -- you really want that font
  1206. # [22:28] <fantasai> TabAtkins: after 3s show fallback rather than blank, but always swap in font once it loads
  1207. # [22:28] <fantasai> TabAtkins: swap sets the thresholds at 0s and 3s -- you show the fallback font immediately, and don't swap the real font if it shows up after 3s
  1208. # [22:29] <fantasai> TabAtkins: Assume user has started interacting with page, so it shouldn't relayout
  1209. # [22:29] <fantasai> TabAtkins: optional sets the thresholds at 0s and epsilon
  1210. # [22:29] <fantasai> TabAtkins: Basically only show the real font if it's locally available (or loaded lightning fast)
  1211. # [22:30] <fantasai> TabAtkins: John's proposal had some other keywords
  1212. # [22:30] * Quits: abucur___ (~sid19072@public.cloak) ("")
  1213. # [22:30] * Joins: abucur___ (~sid19072@public.cloak)
  1214. # [22:30] <fantasai> TabAtkins: fallback sets the thresholds at 0s and infinity -- use the fallback, swap in the real font at any point in time
  1215. # [22:30] * Parts: dael (~dael@public.cloak)
  1216. # [22:31] <fantasai> ChrisL: Why epsilon?
  1217. # [22:31] <fantasai> TabAtkins: Because you'll immediately fall into "screw it" and never show the font. It still takes *some* amount of time to check the cache
  1218. # [22:31] <fantasai> TabAtkins: optional is "Nice font if you have it, not a big deal if it doesn't show"
  1219. # [22:32] <fantasai> TabAtkins: ? mentioned that you could simply not download the font
  1220. # [22:32] <fantasai> TabAtkins: mobile's are most likely to fail epsilon
  1221. # [22:32] <fantasai> TabAtkins: continually
  1222. # [22:32] <fantasai> TabAtkins: So never show the font
  1223. # [22:32] * Zakim excuses himself; his presence no longer seems to be needed
  1224. # [22:32] * Parts: Zakim (zakim@public.cloak)
  1225. # [22:32] <fantasai> TabAtkins: So might be useful to have it mean "loading the font is optional"
  1226. # [22:33] <fantasai> plinss: For "screw it" phase, might want to also say "abort the download"
  1227. # [22:34] <fantasai> TabAtkins adds a column for the four values titled "download", with checkmarks on blank, swap, fallback, and abort/cancel for optional"
  1228. # [22:34] <fantasai> ChrisL: So, which of those should you use in the case where you have a font for a language which you expect the fallback font not to have any glyphs?
  1229. # [22:34] * Joins: andrey-bbg (~andrey-bbg@public.cloak)
  1230. # [22:34] <fantasai> TabAtkins: I think you'd use 'block'.
  1231. # [22:34] <fantasai> TabAtkins: Unicode "can't find the glyph" blocks aren't particularly useful, so showing blank is fine, possibly better
  1232. # [22:35] <fantasai> TabAtkins: And then you're treating it as a required font
  1233. # [22:35] <fantasai> TabAtkins: So these are block = "super-needed", fallback = "pretty needed", swap = "kinda needed", optional = "meh"
  1234. # [22:36] <fantasai> ChrisL: Essential, important, preferable, and meh
  1235. # [22:36] <fantasai> leaverou: I think we have consensus on "meh"
  1236. # [22:36] <fantasai> Florian: We have two more rows on this table. Not necessarily desirable, but discussed
  1237. # [22:36] <fantasai> Florian: Safari had an infinite blank period
  1238. # [22:37] <fantasai> Florian: safari sets thresholds at infinity, infinity, yes download
  1239. # [22:37] <fantasai> Florian: John had another bad proposal which was
  1240. # [22:37] <fantasai> s/bad/slightly less bad proposal/
  1241. # [22:38] <fantasai> Florian: Which had very long but not infinite timeout on blank
  1242. # [22:38] <fantasai> TabAtkins: jdaggett's 'blank' keyword is my 'block' keyword
  1243. # [22:39] <fantasai> TabAtkins completes the table with jdaggett's variant of safari's behavior
  1244. # [22:40] <fantasai> block: 3s | infinity | yes
  1245. # [22:40] <fantasai> fallback: 0s | infinity | yes
  1246. # [22:40] <fantasai> swap: 0s | 3s | yes
  1247. # [22:41] <fantasai> optional: 0s | epsilons | abort
  1248. # [22:41] <fantasai> -----
  1249. # [22:41] <fantasai> Apple: infinite | lol | yes
  1250. # [22:41] <fantasai> really-blank: ~60s | infinite | yes
  1251. # [22:42] <fantasai> fantasai: I think swap should be called 'fallback'
  1252. # [22:43] <fantasai> fantasai: For fallback, if we want to keep it, that should be called 'swap', because you can swap forever
  1253. # [22:43] <fantasai> Florian: 'optional' is a good name
  1254. # [22:43] <fantasai> TabAtkins: Our proposed name... we proposed font-display
  1255. # [22:43] <fantasai> TabAtkins: That seems to go along with Chris's names
  1256. # [22:44] <fantasai> Florian: jdaggett had font-display-loading (or font-loading-display)
  1257. # [22:44] * Joins: vollick_ (~vollick@public.cloak)
  1258. # [22:44] <fantasai> TabAtkins: auto is whatever default you feel like
  1259. # [22:44] <fantasai> fantasai: Could just put your preference in the UA stylesheet
  1260. # [22:44] <fantasai> TabAtkins: auto allows more sophisticated heuristics
  1261. # [22:45] <fantasai> fantasai: ok, that's fair
  1262. # [22:45] <fantasai> fantasai: So, swap and fallback should swap names
  1263. # [22:45] <fantasai> fantasai: I think 'block' is not a great name
  1264. # [22:46] <fantasai> discussion that ChrisL's naming captures use cases beter
  1265. # [22:47] <fantasai> fantasai points out that understanding what the values do is valuable
  1266. # [22:47] <fantasai> Florian: We should definitely have swap & fallback in the first level
  1267. # [22:47] <andrey-bbg> I like fallback
  1268. # [22:47] <fantasai> Florian: block I guess we need, too
  1269. # [22:47] * Quits: amtiskaw (~sid19262@public.cloak) ("")
  1270. # [22:47] <fantasai> Florian: optional could defer
  1271. # [22:47] * Joins: amtiskaw (~sid19262@public.cloak)
  1272. # [22:47] <fantasai> ChrisL: Don't see the benefit
  1273. # [22:48] <fantasai> leaverou: Are we only going to have keywords, not timeouts?
  1274. # [22:48] <fantasai> leaverou: What about other countries?
  1275. # [22:48] <fantasai> TabAtkins: 3s is just "a reasonable time"
  1276. # [22:49] <fantasai> Florian: If you're making a mobile browser for crappy networks, you can set it to 10
  1277. # [22:49] <fantasai> leaverou: But if you're shipping for desktop browsers, will ship the same hard-coded default everywhere
  1278. # [22:49] * Quits: dauwhe (~dauwhe@public.cloak) (Client closed connection)
  1279. # [22:49] <fantasai> [discussion of setting this as a UA pref]
  1280. # [22:50] * Joins: dauwhe (~dauwhe@public.cloak)
  1281. # [22:50] <fantasai> plinss: I have a fundamental moral objection to this entire thing because it's taking what is fundamentally a user preference and putting it in the hands of the author
  1282. # [22:50] <fantasai> plinss: I'm cool as long as the UA is allowed to ignore the author's rules on behalf of the user
  1283. # [22:50] <fantasai> plinss: Want to make sure it's clear in the spec that this is a hint
  1284. # [22:50] <fantasai> TabAtkins: font-hinting! :D
  1285. # [22:51] <fantasai> plinss: Even if we give authors the actual timeouts, the UA could decide to multiply all timeouts by 10
  1286. # [22:51] <fantasai> TabAtkins: I kinda prefer the intentional keywords (ChrisL's list)
  1287. # [22:51] <fantasai> TabAtkins: Rather than the behaviorial ones
  1288. # [22:51] <fantasai> TabAtkins: And e.g. not block, not treat as mandatory
  1289. # [22:52] <fantasai> TabAtkins: Hierarchy of levels allows you to do some amount of discrimination
  1290. # [22:52] <fantasai> Florian: Make everything should
  1291. # [22:52] <fantasai> TabAtkins: Would rather be must, with exception for exceptional network conditions
  1292. # [22:52] <fantasai> Florian: And you can limit the scope of the exception
  1293. # [22:53] <fantasai> fantasai: I think we should have a note about networks speeds and the timeout
  1294. # [22:54] <fantasai> Discussion of ChrisL's keywords
  1295. # [22:54] <fantasai> should avoid 'important' because of !important
  1296. # [22:55] <fantasai> ChrisL's keywords = essential, important, preferable, optional
  1297. # [22:55] * heycam|away is now known as heycam
  1298. # [22:55] <fantasai> Florian: Wrt property vs descriptor
  1299. # [22:55] <fantasai> Florian: smfr didn't want a property
  1300. # [22:56] <fantasai> Florian: Only having a descriptor does not limit the use cases. If needed you can create two different fonts via @font-face, use as you want.
  1301. # [22:56] <fantasai> RESOLVED: font-loading control is only an @font-face descriptor, not a property
  1302. # [22:57] <fantasai> ChrisL: Swapping out font in some elements not in others is really weird
  1303. # [22:57] <fantasai> fantasai: Possible but annoying via descriptor
  1304. # [22:57] <fantasai> plinss: There are use cases for it
  1305. # [22:58] <fantasai> plinss: E.g. navigation you want to never be blank, but other parts allow to be blank for awhile
  1306. # [22:58] <fantasai> fantasai: We're missing smfr, who might be arguing for blank
  1307. # [22:58] <Bert> (Some people name their fonts by their function, such as "body font", "button font", etc, so it's easy to have different policies for each, even if they are actually the same font face.)
  1308. # [22:58] <fantasai> fantasai: but Safari could do that via auto
  1309. # [22:59] <fantasai> Florian: This isn't something we want authors to opt into
  1310. # [22:59] <fantasai> Florian: So, do we want to resolve on the first four values, modulo bikeshedding?
  1311. # [23:00] <fantasai> fantasai: yeah, block is not a great name
  1312. # [23:00] * Joins: dael (~dael@public.cloak)
  1313. # [23:00] * glazou Bikeshedibus Unum ?
  1314. # [23:00] * dauwhe text-align: center !meh;
  1315. # [23:00] <fantasai> fantasai: I kinda prefer the functional names to the importance ones
  1316. # [23:01] <fantasai> fantasai: I would want to know if you are going to swap the font at any point in the future vs. within a timeout
  1317. # [23:01] <fantasai> tantek: UA could do anything
  1318. # [23:01] <fantasai> ?: Only for exceptional cases
  1319. # [23:01] <fantasai> Florian: Timeout varies, but behavior unlikely to
  1320. # [23:01] * heycam waves hello; what's the call in details again?
  1321. # [23:01] * glazou reminds dauwhe that the CSS mascot is a sheep so that would be « center ! beh »
  1322. # [23:02] <plinss> heycam +1-212-617-1960 for New York, +44-20-7330-7700 for London, +81-3-3201-7040 for Tokyo. PIN 295109
  1323. # [23:02] <tantek> s/tantek/???
  1324. # [23:02] <tantek> s/tantek:/TabAtkins:
  1325. # [23:03] * Joins: jdaggett (~jdaggett@public.cloak)
  1326. # [23:03] <heycam> plinss, is there a new pin for today?
  1327. # [23:03] <TabAtkins> should be same?
  1328. # [23:03] * plinss should be the same
  1329. # [23:03] <heycam> I got told that that pin was for yesterday, and couldn't get in
  1330. # [23:04] * ChrisL ah but here it is still yesterday
  1331. # [23:04] * heycam :)
  1332. # [23:04] <TabAtkins> we're working on this
  1333. # [23:04] <heycam> cheers
  1334. # [23:04] <ChrisL> rrsagent, this meeting spans midnight
  1335. # [23:04] <RRSAgent> ok, ChrisL; I will not start a new log at midnight
  1336. # [23:05] <fantasai> Proposed resolution: have 4 values for font-loading-display-whatever: block-essential | fallback-important | swap-preferable | optional
  1337. # [23:05] <fantasai> Waiting for jdaggett and heycame to dial in and catch up before resolving
  1338. # [23:05] <jdaggett> explanation of values?
  1339. # [23:06] * fantasai RRSAgent pointer
  1340. # [23:06] <jdaggett> block-essential == sort of like safari now?
  1341. # [23:06] <fantasai> no
  1342. # [23:06] <fantasai> :)
  1343. # [23:06] * fantasai looks up logs
  1344. # [23:06] * Quits: jcraig (~jcraig@public.cloak) (Ping timeout: 180 seconds)
  1345. # [23:06] <plinss> csswg_logbot, pointer?
  1346. # [23:06] <CSSWG_LogBot> http://log.csswg.org/irc.w3.org/css/2015-05-20/#e556910
  1347. # [23:06] * fantasai made a table in the minutes
  1348. # [23:06] * fantasai just got to find it
  1349. # [23:06] * ChrisL heycam, john - the operator appears to be non responsive
  1350. # [23:07] <fantasai> jdaggett: http://log.csswg.org/irc.w3.org/css/2015-05-20/#e556805
  1351. # [23:07] * heycam :(
  1352. # [23:07] * heycam ChrisL is this the operator at the end of that NY phone number? I spoke to her just before
  1353. # [23:07] <fantasai> That's the table, the columns are
  1354. # [23:07] <fantasai> name of value
  1355. # [23:08] <fantasai> Timeout for showing fallback instead of blank
  1356. # [23:08] <fantasai> Timeout for no longer accepting the real font as a swap-in
  1357. # [23:08] <fantasai> Whether or not to complete the download
  1358. # [23:08] * Joins: jcraig (~jcraig@public.cloak)
  1359. # [23:08] <fantasai> (if the download has timed out)
  1360. # [23:08] * Joins: Zakim (zakim@public.cloak)
  1361. # [23:09] <fantasai> Note proposed resolution there is pre-bikeshedding (in case that wasn't obvious from the ridiculous)
  1362. # [23:09] <plinss> new conference PIN: 205187
  1363. # [23:09] * heycam tries
  1364. # [23:10] <Florian> John: in terms of your proposal, we're taking blank-fallback and fallback, rejecting blank, and adding optional and swap from Tab's proposal
  1365. # [23:10] * Quits: andrey-bbg (~andrey-bbg@public.cloak) (Ping timeout: 180 seconds)
  1366. # [23:11] <Florian> John: and want to bikeshed everything
  1367. # [23:11] * Ms2ger suggests blink-fallback
  1368. # [23:12] <fantasai> TabAtkins: Every keyword controls how long you blank for, how long you swap for, and then you're stuck in permanent fallback
  1369. # [23:12] <fantasai> TabAtkins: block-essential does 3s blank, and swaps in until infinity
  1370. # [23:13] <fantasai> TabAtkins: swap-important does fallback immediately, swaps until infinity~
  1371. # [23:14] <fantasai> TabAtkins: fallback-preferable does fallback immediately, swaps only up to 3s
  1372. # [23:14] <fantasai> TabAtkins: optional falls back immediately, swaps if it shows up fast, and could be ditched if it doesn't load quickly
  1373. # [23:14] <fantasai> jdaggett expresses concerns wrt epsilon
  1374. # [23:15] <fantasai> TabAtkins: You give it enough time to at least load from cache
  1375. # [23:15] <fantasai> TabAtkins: But if you're in an exceptionally slow network, or otherwise resource-constrianed, you can say "screw it" and not load the font
  1376. # [23:15] <fantasai> TabAtkins: This sets up 4 preference levels for how important the font is to the page
  1377. # [23:15] <fantasai> TabAtkins: from "you need to display this font, otherwise everything is terrible" down to "it'd be nice, but it's okay if not"
  1378. # [23:16] <fantasai> jdaggett: optional will always display the fallback
  1379. # [23:16] <fantasai> TabAtkins: No, it has an effect. If the font has not yet loaded, optional is basically guaranteed to show the fallback
  1380. # [23:16] <fantasai> TabAtkins: If the font has downloaded and is in the cache, then you'll use it successfully
  1381. # [23:16] <fantasai> TabAtkins: On devices too slow to load from cache in a reasonable amount of time, it won't be used
  1382. # [23:17] <fantasai> jdaggett: Ppl who are demanding optional are asking for a ????
  1383. # [23:17] <fantasai> s/????/no-reflow solution/
  1384. # [23:17] <jdaggett> the people who are asking for optional are looking for a "no reflow" use of fonts
  1385. # [23:17] <fantasai> TabAtkins: That's very nearly what you get. The only exception is if you start trying to render text, but the font comes in, then you rerender
  1386. # [23:17] <jdaggett> i.e. either the font is *immediately* available or it's not
  1387. # [23:18] <dbaron> Yeah, if the people who want 'optional' actually want "no reflow", then they're not going to get it with this definition.
  1388. # [23:18] <fantasai> yeah
  1389. # [23:18] <dbaron> Is that the main use case?
  1390. # [23:18] <fantasai> jdaggett: dbaron's point is my question
  1391. # [23:18] <fantasai> jdaggett: [...]
  1392. # [23:18] * fantasai needs to move closer to speaker
  1393. # [23:19] <fantasai> dbaron: Do ppl who want optional because they want no reflow, because want to avoid perf cost of reflow?
  1394. # [23:19] <fantasai> several ppl say no
  1395. # [23:19] <fantasai> Florian: No, I want it for.. It's a font, if you have it, would be nice
  1396. # [23:19] <fantasai> Florian: In my mind epsilon is ~ 100ms
  1397. # [23:19] <fantasai> Florian: I'm not looking for entirely no reflow at all
  1398. # [23:19] <fantasai> Florian: looking for, if there is a reflow, it should happen so early in the page that the user hasn't started reading
  1399. # [23:20] <fantasai> Florian: Which is not what would happen with swap
  1400. # [23:20] <fantasai> Florian: After 3 seconds or so, user might hhave started reading, then text moves around
  1401. # [23:20] <fantasai> Florian: If font is sufficiently unimportant, as soon as user has started reading I no longer want to disturb the content
  1402. # [23:20] <fantasai> Florian: 100ms or so, nobody has got far with reading. But if you have the font available, I'd prefer that
  1403. # [23:20] <fantasai> Florian: If you reflow a little bit, I won't mind.
  1404. # [23:21] <fantasai> TabAtkins: You probably won't notice the reflow during that portion of the load time
  1405. # [23:21] <fantasai> plinss: If the UA has eye-tracking, can even tell whether the user is reading or not :)
  1406. # [23:21] <fantasai> jdaggett: What Florian's describing... I'm not really sure
  1407. # [23:22] <fantasai> jdaggett: if it helps what Google ppl are looking for
  1408. # [23:22] <fantasai> jdaggett: I think they're looking for no flash ever
  1409. # [23:22] <fantasai> TabAtkins: I don't think that's what they were looking for, but if it would help I can ask them about it when I get back to work
  1410. # [23:22] <fantasai> q+
  1411. # [23:22] * Zakim sees fantasai on the speaker queue
  1412. # [23:22] <fantasai> jdaggett: Discussion with google ppl would be nice if not in various google forums
  1413. # [23:22] * fantasai unsure
  1414. # [23:22] <fantasai> TabAtkins: it generally was, mostly in github for original proposal
  1415. # [23:23] <dbaron> fantasai: interesting thing that was discussed for optional was, with limited network, just not even bother trying to load the font
  1416. # [23:23] <jdaggett> it would help if the discussion by google people was in public forums like www-style and not within github issues for example
  1417. # [23:23] <dbaron> Florian: also low memory
  1418. # [23:23] <dbaron> fantasai: and bandwidth constraint
  1419. # [23:24] <fantasai> heycam: ...
  1420. # [23:24] <fantasai> heycam: in terms of bandwidth constraint
  1421. # [23:24] <fantasai> heycam: Aren't you going to do the same kind of loading?
  1422. # [23:24] <fantasai> heycam: I'm not sure how optional helps with bandwidth constrained situations
  1423. # [23:24] * Quits: lajava (~javi@public.cloak) (Ping timeout: 180 seconds)
  1424. # [23:24] <fantasai> heycam: Aren't you just going to do the same loading?
  1425. # [23:25] <fantasai> fantasai: We had discussed making 'optional' make the loading optional entirely
  1426. # [23:25] <fantasai> fantasai: So a device that knew it was constrained could opt to not download the font
  1427. # [23:25] <fantasai> jdaggett: I'm not sure if optional is being imagined in this context
  1428. # [23:26] <fantasai> jdaggett: On a certain device you have an idea of your max bandwidth
  1429. # [23:26] <fantasai> jdaggett: You can guess whether going to make it within a certain timeout value
  1430. # [23:26] <fantasai> jdaggett: There's sort of a multiple-page ...
  1431. # [23:26] <fantasai> jdaggett: How are you imaginign the font ever gets down to the UA unless you've got something that says "here's when a load happens"?
  1432. # [23:26] <fantasai> jdaggett: This gets into resource hints
  1433. # [23:26] <fantasai> TabAtkins: When the font is marked optional?
  1434. # [23:26] <fantasai> jdaggett: If it's marked optional, how is it ever getting downloaded?
  1435. # [23:27] <fantasai> jdaggett: UA knows it can't download within the timeout, so wouldn't bother downloading
  1436. # [23:27] <fantasai> jdaggett: Would need some language, something like a resource hint
  1437. # [23:27] <fantasai> TabAtkins: Yes
  1438. # [23:27] <fantasai> TabAtkins: Point is, optional is the least necessary font
  1439. # [23:27] <fantasai> TabAtkins: If UA determines that it will never be able to pull down reasonably, fine
  1440. # [23:27] <fantasai> TabAtkins: If doesn't have it yet, but bandwidth is fine, then could continue downloading even though not using it
  1441. # [23:28] <fantasai> jdaggett: Then need a normative definition of whether loading follows through
  1442. # [23:28] <fantasai> jdaggett: or treated as something that can be ignored
  1443. # [23:28] <fantasai> fantasai: He wants the last column in the table normatively
  1444. # [23:28] <fantasai> TabAtkins: Yes, that would be in the normative definition
  1445. # [23:28] <fantasai> (last column is whether to download or not)
  1446. # [23:28] <fantasai> jdaggett: Need to say whether fetch continually or fetch never happens
  1447. # [23:29] <fantasai> TabAtkins: It might continue or might never happen, depending on UA
  1448. # [23:29] <fantasai> plinss: I'm questioning how this interacts with service workers
  1449. # [23:29] <fantasai> jdaggett: If different UAs are making different decisions
  1450. # [23:29] <fantasai> jdaggett: optional will be either never use this font or use in a blue moon
  1451. # [23:29] <fantasai> TabAtkins: Yes
  1452. # [23:29] <fantasai> TabAtkins: If font was important, you'd use a higher-preference keyword
  1453. # [23:30] <fantasai> TabAtkins: You can just use sans-serif, it's fine
  1454. # [23:30] <fantasai> fantasai: Might want continue through and download the font a separate switch from the timeout?
  1455. # [23:30] <fantasai> TabAtkins: If the font is at all important, so continue downloading
  1456. # [23:31] <fantasai> plinss: ... service workers could abort the load, or fetch for next time.
  1457. # [23:31] <fantasai> TabAtkins: Would have to talk to other engineers, but this might have useful conceptual overlap with client hints
  1458. # [23:31] <fantasai> TabAtkins: Could say that optional request is tagged with a particular client hin
  1459. # [23:31] <fantasai> *hint
  1460. # [23:31] <fantasai> plinss: In general, we want to try to explain these behaviors in terms of other api
  1461. # [23:32] <fantasai> fantasai: I suppose might want a user pref to choose not to download preferable or optional fonts, but download essential ones
  1462. # [23:32] * jdaggett other than tab it basically sounds like all others in the room are talking through a cup
  1463. # [23:33] <fantasai> jdaggett: Don't think I can follow the description
  1464. # [23:33] <fantasai> TabAtkins: Proposal is just your proposal, minus blank, plus my swap and optional keywords values
  1465. # [23:34] <fantasai> plinss: John, we were very close to accepting this proposal with strong consensus in the room. Held off because wanted to give you a chance to object
  1466. # [23:34] <fantasai> plinss: Suggest, if it's okay with jdaggett, that we resolve to accept this and you can suggest improvements
  1467. # [23:35] <fantasai> s/this/this, let Tab write it up as spec prose,
  1468. # [23:35] <fantasai> s/improvements/improvements, and we will revisit/
  1469. # [23:35] <Florian> +1 to plinss
  1470. # [23:35] <fantasai> jdaggett: I don't know what the proposal is, can't hear anything to what Tab says
  1471. # [23:35] * ChrisL https://pbs.twimg.com/media/CFejzOTWoAA9mMT.jpg:large
  1472. # [23:35] <fantasai> jdaggett: I'm fine with Tab writing it up, resolving to move forward can't tell one way or another
  1473. # [23:35] <BradK> What about a descriptor that says what the average character width and extent is, so that reflow will be minimal when the font does load?
  1474. # [23:36] <fantasai> RESOLVED: accept font-display-thing-whatever-loading properyt with four values to be renamed later: block | swap | fallback | optional
  1475. # [23:37] <fantasai> block shows blank, swaps in fallback at 3s, swaps in real font whenever it loads
  1476. # [23:37] <fantasai> swap shows fallback, swaps in real font whenever it loads
  1477. # [23:37] <ChrisL> bradk, we tried that with css2 (not 2.1) and dropped in for css3
  1478. # [23:37] <fantasai> fallback shows fallback, swaps in real font if it loads before 3s
  1479. # [23:38] * Florian stop!
  1480. # [23:38] <jdaggett> ouch
  1481. # [23:39] <ChrisL> bradk - see http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#synthesizing
  1482. # [23:39] <fantasai> optional shows real font if it loads from cache (very short timeout), otherwise shows fallback
  1483. # [23:39] <fantasai> optional allows UA to not continue loading the font for the next time
  1484. # [23:39] <ChrisL> topic: new
  1485. # [23:39] <fantasai> Topic: load/check FontFaceSet
  1486. # [23:39] * jdaggett bradk: better way is to use font-size-adjust since this will push the fallback font to be close to the downloaded one
  1487. # [23:40] <fantasai> heycam: Think the spec is in reasonably good shape
  1488. # [23:40] <fantasai> heycam: l... behavior of check method
  1489. # [23:40] <fantasai> heycam: Fundamentally unclear to me what the intent of having check method is for
  1490. # [23:40] <fantasai> heycam: Not clear to me from description in the spec what it's meant to do at a high level
  1491. # [23:40] <fantasai> heycam: also not sure what it's intended to do to solve a use case
  1492. # [23:40] <fantasai> heycam: would be helpful to see some code snippets that use check to accomplish some particular thing
  1493. # [23:41] <fantasai> heycam: so I can evaluate whether the particular behavior in the spec is useful or needs tweaking
  1494. # [23:41] <fantasai> TabAtkins: I can always put in better introductions
  1495. # [23:41] <fantasai> TabAtkins: Intent of check method is, e.g. you want to render in to canvas, ask each font you want to use, if it's good
  1496. # [23:41] <fantasai> jdaggett: That's not what actually happens
  1497. # [23:41] <BradK> jdaggett: yes, I'do like something like font-size-adjust for widths, so that when I have a very condensed font, the fallback don't won't be huge looking.
  1498. # [23:41] <fantasai> jdaggett: Given a font list, never guaranteed that all the text will be rendered with that font
  1499. # [23:42] <fantasai> jdaggett: This will only tell, if there's a load... [can't hear]
  1500. # [23:42] <fantasai> TabAtkins: No that' snot right, because gives you bad behavior in a corner case
  1501. # [23:42] <fantasai> TabAtkins: You've mispelled one of the font faces
  1502. # [23:42] <fantasai> TabAtkins: ...
  1503. # [23:42] <fantasai> TabAtkins: Getting a no there, yeah check method just fine, it's a bad confusing behavior
  1504. # [23:42] <fantasai> TabAtkins: Semantic of "can I render with this font" works here
  1505. # [23:43] <fantasai> TabAtkins: It'll return "No" for the typoed font, because it doesn't exist
  1506. # [23:43] <BradK> ChrisL: dropped because to complex? I was think of a single width (average of all characters), and assuming an ascender and descender's effect on height, if any.
  1507. # [23:43] <fantasai> jdaggett: Don't understand why misspelling has to do with return value on a method
  1508. # [23:43] <fantasai> jdaggett: Want to flag a developer that there's no font that you specified in this list, that's a dev tool feature
  1509. # [23:43] <fantasai> jdaggett: This introduces inconsitency, has side-effect of making ideal API for font fingerprinting
  1510. # [23:43] <fantasai> jdaggett: That's especially bad
  1511. # [23:44] <fantasai> TabAtkins: We're not disagreeing on basic behavior
  1512. # [23:44] <fantasai> TabAtkins: All but trivial case is easily define
  1513. # [23:44] <fantasai> TabAtkins: The case is none of the fonts can render the string you describe
  1514. # [23:44] <ChrisL> bradk - even the more complex one was not enough to prevent reflow. and that was before opentype features meant that reflow was even less predictable just from individual widths
  1515. # [23:44] <fantasai> jdaggett: The trivial case isn't whether font can render a piece of text
  1516. # [23:44] <fantasai> jdaggett: There's about whether there are no fonts that result in the font list
  1517. # [23:44] * fantasai ??????
  1518. # [23:44] <ChrisL> ... a single average width will not be enough to avoid reflow
  1519. # [23:44] <fantasai> jdaggett: The wording you're using you're proving fonts for all possible strings, which you're not
  1520. # [23:45] <fantasai> TabAtkins: The only case we're disagreeong on is if you call check() with a font listing and a sample string of characters you're going ot use
  1521. # [23:45] <BradK> ChrisL: didn't mean to synthesize, just as a hint for reserving space. But OK, I see your next comment there
  1522. # [23:45] <fantasai> TabAtkins: If it can't render all chars in the sample string, drops font from the list
  1523. # [23:45] <jdaggett> check("calibri") ==> returns true on windows, false elsewhere
  1524. # [23:45] <fantasai> TabAtkins: At the end, whatever fonts are left, get them back. Check method returns true or false
  1525. # [23:45] <fantasai> TabAtkins: Only disagreeing if the list is empty, do you return true or false
  1526. # [23:46] <jdaggett> check("calibri,sans-serif") ==> returns true always
  1527. # [23:46] <fantasai> TabAtkins: true is if you can render all the characters with the font you gave, false otherwise
  1528. # [23:46] <jdaggett> you're making check into an existence check
  1529. # [23:46] <jdaggett> which is *not* the use case
  1530. # [23:46] * fantasai is confused what jdaggett is saying
  1531. # [23:47] <fantasai> jdaggett: It says, let's check this font list, and if not true, then I need to call mode on the font list
  1532. # [23:47] * fantasai sure that's wrong
  1533. # [23:47] <fantasai> jdaggett: call load, and the promise will immediately resolve if the font list is already loaded
  1534. # [23:47] <jdaggett> er, no...
  1535. # [23:47] * fantasai pls fix, so confused
  1536. # [23:48] <jdaggett> if (!check(fontlist)) load(fontlist)
  1537. # [23:48] <dbaron> anyway, heading out... see you in Paris
  1538. # [23:48] <fantasai> jdaggett: Having this behavior that's inconsistent across font lists, and behavior that's different from the way load works and check works
  1539. # [23:48] * Quits: dbaron (~dbaron@public.cloak) ("8403864 bytes have been tenured, next gc will be global.")
  1540. # [23:48] <fantasai> jdaggett: Those are really bad inconsistencies
  1541. # [23:49] <fantasai> heycam: From a different direction
  1542. # [23:49] <fantasai> heycam: Looking at what the limit value is as you reduce the number of font faces in the fontFaceSet
  1543. # [23:49] <fantasai> heycam: If you have a bunch of matching fonts
  1544. # [23:49] <fantasai> heycam: As you remove fonts, you are more likely to return true because more and more likely to have error case
  1545. # [23:50] <fantasai> heycam: But when you remove the last one, suddenly return false
  1546. # [23:50] <fantasai> heycam: It adds another .. for what the check method is doing
  1547. # [23:50] <fantasai> heycam: Are all of the things in this list ready?
  1548. # [23:50] <fantasai> heycam: And do we have no font faces at all?
  1549. # [23:50] <fantasai> heycam: Complicates what we're looking for
  1550. # [23:51] <fantasai> heycam: Those make me want to return a true value
  1551. # [23:51] <fantasai> TabAtkins: I'm willing to provisionally change it, until/unless I revisit the arguments for changing it
  1552. # [23:51] <fantasai> heycam: Agree it's kindof a corner case
  1553. # [23:52] <fantasai> heycam: As an author probably know what fonts you added to set
  1554. # [23:52] <fantasai> heycam: Why would you do checks and loads not in the set
  1555. # [23:52] <fantasai> heycam: But would want consistent with load's behavior and [?]
  1556. # [23:52] <fantasai> TabAtkins: Okay, let's do that, that's fine
  1557. # [23:52] <fantasai> heycam: Another aspect of this, which I think we have different opinions on
  1558. # [23:52] <fantasai> heycam: Looking up the list
  1559. # [23:52] <fantasai> heycam: system fonts
  1560. # [23:52] <fantasai> heycam: whether they should influence the return value of check()
  1561. # [23:53] <fantasai> heycam: In my mind, check() is like a very close counterpart to load()
  1562. # [23:53] <fantasai> heycam: Where it's telling you, are things going to load
  1563. # [23:53] <fantasai> heycam: Same set of font faces as load
  1564. # [23:53] <fantasai> heycam: It tells me if you call load, that promise is going to be resolved straightaway or not
  1565. # [23:53] <fantasai> heycam: Looking up system fonts, influencing value of check() doesn't fit in with that
  1566. # [23:53] * Quits: dael (~dael@public.cloak) ("Page closed")
  1567. # [23:53] <fantasai> TabAtkins: can't seem to find thread that convinced me on this....
  1568. # [23:54] <fantasai> jdaggett: I don't really remember seeing a thread on the list about this
  1569. # [23:56] <fantasai> TabAtkins trying to find emails
  1570. # [23:56] <fantasai> TabAtkins: Don't want to make a resolution until I find the logic that caused this change in the first place
  1571. # [23:57] <fantasai> ACTION TabAtkins Find out why including system fonts behavior of check and trivial case behavior of check
  1572. # [23:57] * trackbot is creating a new ACTION.
  1573. # [23:57] <trackbot> Created ACTION-693 - Find out why including system fonts behavior of check and trivial case behavior of check [on Tab Atkins Jr. - due 2015-05-27].
  1574. # [23:57] <fantasai> jdaggett: Whether check returns true or false when no fonts are found in the font list
  1575. # [23:58] <fantasai> plinss: Anything else on this topic?
  1576. # [23:58] <fantasai> TabAtkins: Found the thread!
  1577. # [23:58] <fantasai> TabAtkins: Either I wrote the algo slightly wrong, or you're reading slightly wrong
  1578. # [23:59] * Quits: Ms2ger (~Ms2ger@public.cloak) (Ping timeout: 180 seconds)
  1579. # [23:59] <fantasai> TabAtkins: The idea for returning false if you have only one mispelled font
  1580. # [23:59] <fantasai> TabAtkins: True should look nice
  1581. # [23:59] <BradK> Heisenberg font loading uncertainty principle
  1582. # [23:59] <fantasai> TabAtkins: Added systemwide keywords, because before they could write 'Arial' and it would return false, because 'Arial' is a system font, not an @font-face rule
  1583. # [23:59] <fantasai> jdaggett: check should return whether a font should be loaded or not
  1584. # [23:59] <fantasai> jdaggett: If it's a system font, doesn't need to be loaded
  1585. # Session Close: Thu May 21 00:00:00 2015

Previous day, Next day

Think these logs are useful? Then please donate to show your gratitude (and keep them up, of course). Thanks! — Krijn