2018-04-01 [00:19:14.0000] domfarolino: ok, I’ll figure out the syntax to make things happen on Tuesday [00:19:25.0000] domfarolino: thanks [03:15:55.0000] πŸ‘ [07:02:21.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl pqykr: calvaris β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:21.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl rzoejoewlp: igrigorik β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:21.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl flmmox: sarri β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:22.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl uajldr: birtles β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:26.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl diykv: milkii β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:26.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl jucaoijqqj: jihye β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:26.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl lyzay: so β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:27.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl dtbwoaxv: terinjok β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:31.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl mfazqwkgoi: gnarf β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:31.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl rbuupgn: hsivonen_ β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:31.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl sevmehjo: mkwst β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:31.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl cyfeomrnd: asuth β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:36.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl gmkjazci: fujihiro β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:36.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl iwmezbdyxi: deathy β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:36.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl ytomtz: tkore β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:36.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl nshzuag: shans_ β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:41.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl tkjpfu: boaz β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:41.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl awqgakd: Domenic β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:41.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl gpwrwbb: timdream β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:41.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl rorfb: MassDebates β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:46.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl mdwchevy: rwaldron β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:46.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl vogkw: rwaldron β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:46.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl lafych: e1z0 β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:46.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl ooofrpr: ebryn β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:51.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl pckxpjrqht: dcheng β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:51.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl ninyrwu: Domenic β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:51.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl ltgzo: benjamingr_ β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:52.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl bwiokm: enick_811 β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:54.0000] oh come on [07:02:56.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl nnyxrpp: ecobos β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:56.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl phkzblhn: riddle β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:56.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl jgrtclif: mantaroh β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:02:57.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl wyiebe: slightlyoff β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:01.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl dyplpzbls: nunnun β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:01.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl usiahsqxdc: svl β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:01.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl ljzqdg: wcpan β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:02.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl qewgzgqedl: rwaldron β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:06.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl gscsvwbrp: birtles β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:06.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl cnticgxt: fujihiro β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:06.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl qspogaetbq: miketaylr β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:07.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl fgewk: refack β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:11.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl xndvnjira: hayato β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:11.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl kvjywpeci: cwilso β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:11.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl adfyf: Smylers β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:03:11.0000] β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ HAPPY APRIL FLOODS DAY BROUGHT TO YOU BY iяс.sцрСяиСтs.ояg сни sцрСявоwl dvllkhxe: slightlyoff β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„β–„ [07:04:28.0000] Thanks Domenic [07:04:54.0000] most of the damage was done already I fear... [07:19:59.0000] Domenic: There are bots provided by Freenode for such matters, am currently chatting with mst (one of the ircops here) about it. [07:20:11.0000] oh neat [07:20:15.0000] Domenic: 16:19 get one of the ops to hop into #freenode and ask nicely [07:20:23.0000] (Ask nicely for Sygin, the name of the bot) [07:20:39.0000] Sigyn* [07:22:16.0000] \o/ [11:10:03.0000] Domenic: how do you feel about getting rid of NOTES.md altogether from Console [11:10:39.0000] domfarolino: I think that's probably a good idea, except maybe for the table() stuff? Although that could move into the spec, since the spec doens't have anything currently [11:11:13.0000] I guess it might be nice to have a listing of all bugs filed on the non-uniformities noted there, hrm [11:11:24.0000] Since not all of them are testable [11:13:38.0000] True. Yeah either removing NOTES as it is, or repurposing it to mainly be a directory of old impl bugs (with a few notes around non-uniformities) would be good. [11:15:33.0000] Domenic: I'm a little torn on what to do. I mean all the bugs do still exist in the repo somewhere in old spec PRs/bugs, but having them altogether would also be nice too... [11:15:51.0000] I think listing bugs is reasonable since you don't have to update them [11:16:04.0000] It's the stuff you have to keep updated that's annoying [11:16:09.0000] Right [11:16:24.0000] That sounds good I agree [11:16:50.0000] But just being like: ## Untestable output non-uniformities ### Float formatter - bug1 -bug2 -bug3 seems nice [11:18:07.0000] Yeah so for things like manual tests largely? [11:18:30.0000] Hmm right I guess we have manual tests [11:18:47.0000] Now that seems less important [11:18:52.0000] It seems convenient but a little redundant to do [11:19:07.0000] As long as manual tests cover all the same stuff; I haven't checked [11:20:04.0000] So yeah maybe going through systematically and checking that bugs have been filed/tests (possibly manual) have been written for everything, and then getting rid of it, makes the most sense [11:20:28.0000] I can do some looking-into for that so we can determine the efficacy of NOTES.md [11:20:33.0000] Cool, sgtm! [11:20:47.0000] \o/ [11:20:48.0000] Yeah as long as we have everything covered somewhere [11:20:57.0000] (ideally in tests) [11:22:17.0000] Domenic: You're learning Japanese right, how's that going? [11:23:33.0000] domfarolino: pretty well! A bit of a long slog, especially with all the kanji, but I think it's paying off; I definitely notice improvements in reading and listening comprehension every time I travel to Japan. [11:26:33.0000] Ah nice! That's really exciting, happy to hear. Yeah, sounds like you're in Japan quite a bit! [11:40:44.0000] Some great Chrome teams there makes it easy to visit :) 2018-04-02 [23:19:19.0000] annevk: I’m working on implementing a document-headings builder based on the spec text in the PR #3499 patch, and one difference I’ve noticed is that unlike the old outline algorithm, it doesn’t seem to take into account whether any ancestors of a heading have a `hidden` attribute [23:19:51.0000] (nor whether the heading itself does) [00:35:13.0000] MikeSmith: should that affect whether it’s a heading, basically? [00:35:41.0000] MikeSmith: that would add some complexity [00:36:26.0000] yeah I know γƒΌ it’s part of what made the old outline algorithm more complex [00:37:04.0000] but to answer your question, of course it doesn’t affect whether it’s intrinsically a heading [00:37:28.0000] but in practice, I’m not sure that’s what’s important [00:37:52.0000] MikeSmith: so what does it affect? [00:38:37.0000] well, does a screen reader announce a heading if it’s hidden? [00:39:11.0000] I thought a big part of the goal of this was to expose heading levels to AT in the right way [00:39:34.0000] MikeSmith: in that case it affects whether it’s a heading, right? Though AT also respects display:none so hmm [00:40:07.0000] Anyway, we could make this work and impl presumably do it already [00:41:08.0000] for h2-h6 yeah I guess implementations do [00:41:12.0000] MikeSmith, offscreen headings do get announced unless aria-hidden or role=presentation, generally, iirc [00:41:53.0000] /me is no expert [00:41:56.0000] yeah? [00:42:13.0000] ...but i've studied some [00:44:54.0000] OK well anyway right now I’m just trying to consider it in terms of what I need to do in order to replace the backend for the current Show Outline feature in the HTML checker with one based on the PR #3499 patch [00:46:00.0000] url? [00:46:06.0000] and with the current backend of this, which is based on the old outline algorithm, headings in subtrees with `hidden` attributes don’t get included/shown [00:46:26.0000] a-ja: URL for what? [00:46:35.0000] the PR [00:46:50.0000] ah [00:46:51.0000] https://github.com/whatwg/html/pull/3499 [00:46:56.0000] tks [00:48:34.0000] annevk: thinking about it more, maybe the broader issue/difference is the patch doesn’t define anything about how to build an outline [00:48:53.0000] or a set of heading levels or whatever we would want to call it [00:49:24.0000] it defines the term "document headings" but doesn’t say anything about doing something with it [00:50:23.0000] doesn’t say anything about exposing "document headings" as such, as a set [00:50:31.0000] or rather, as a list I guess [00:51:51.0000] i dunno how screen reader users prefer to nav around a site these dats...whether by headings or landmarks (which may have aria-label) [00:52:03.0000] *days [00:52:24.0000] a-ja: both, I htink [00:52:32.0000] since it’s not an either-or [00:53:00.0000] I guess it probably depends a lot on the site and how it’s marked up [00:54:01.0000] but one thing I do know is that in the years of discussion we’ve had about this, there have been lots of comments from SR users saying they do often navigate by headings [00:54:26.0000] not saying that they do exclusively, but saying that it’s comment [00:54:32.0000] *common [00:55:26.0000] lately i've been going by whether it's a heading i'd put in a toc...real content, whereas nav's get aria-labels instead of heading [00:56:15.0000] annevk: so this point, as far as I what I need for my purposes, I guess I just have to assume that `hidden` headings should not be including in the β€œdocument headings” view/outline that the checker exposes [00:56:58.0000] it keeps the a11y checker tools happy, but i've really no idea of any surveys which ways screen-reader users prefer [00:58:15.0000] annevk: I mean, since the the spec doesn’t explicitly say what should happen for `hidden` headings γƒΌ nor no longer say anything explicitly about how to build an outline [00:59:21.0000] a-ja: for us I’m not sure it’s so relevant which they prefer, since we need to support both [01:00:03.0000] I mean as far as having the spec define how UAs expose heading levels [01:01:18.0000] gonna create an element, too, while you're at it? :) [01:01:26.0000] nope [01:01:31.0000] heh [01:01:39.0000] definitely not going to do that [01:02:15.0000] in hindsight, we never should have created
or
[01:02:42.0000] especially
[01:04:58.0000] not so sure about that...certainly nudged a lot of folks (myself included) into more semantic structure [03:57:15.0000] MikeSmith: we ahould figure out what to do with hidden I think [03:57:23.0000] MikeSmith: we did for main [03:57:51.0000] MikeSmith: I guess we can be more explicit on doc headings too somehow [04:30:20.0000] annevk: dunno maybe it’s not actually important γƒΌ I mostly just noticed it as a difference compared to the previous requirements [04:31:54.0000] annevk: but anyway, speaking of differences, if I read the patch text correctly,
never takes it heading level from the level-ness of its child h1-h6 but instead takes it only from its nesting depth? [04:32:18.0000] if so, that strikes me a very suboptimal [04:34:04.0000] I think
was never really anything more than a hack to suppress sub-section creation in the old outline algorithm [04:34:50.0000] so given that we’re discaring the old outline algorithm, I think we should consider just essentially ignoring
altogether [04:36:20.0000] what I mean is, the spec should say that
should not be treated as a heading, but instead its child heading elements should take whatever level they otherwise would if they had not
parent [04:37:56.0000] that’s just as easy for UAs to implement (doesn’t require keeping any more state than what the current patch says, doesn’t require looking down/ahead) [04:39:38.0000] in other words, if we’re dispensing with the idea that headings create sections (as they did in the old outline algorithm), then we no longer have any useful function/behavior to associate with
[04:42:43.0000] it can instead become purely just some extra markup wrapper that’s effect-less/harmless but just there for legacy reasons [04:43:04.0000] or alternatively, we can deprecate or obsolete it [04:47:56.0000] the use-counter stats from the HTML checker showed
being used in only ~0.2% of documents, if I recall correctly [05:14:44.0000] MikeSmith: how would we do subheadings then? [05:15:14.0000] MikeSmith: the current idea is that hgroup is the heading in such cases and UAs can represent the multiple headings nested therein as of being increasingly less important [07:49:54.0000] Hmm, would be really useful to have a highWaterMark in `fetch` [08:36:34.0000] benjamingr_: file a bug? Seems pretty easy to add in theory. [08:54:42.0000] Domenic: cheers https://github.com/whatwg/fetch/issues/689 [11:58:11.0000] Quick question. In 14.3.1 (https://html.spec.whatwg.org/#hidden-elements) what does the `i` in `input[type=hidden i]` mean? [11:58:23.0000] Zegnat: case-insensitive [11:58:41.0000] Quick question gets a quick question. thanks Domenic! [11:58:51.0000] quick answer ... ugh [12:44:37.0000] Hi, is there a way to ask the browser not to share same-origin XHR with withCredentials set to true? [12:45:04.0000] Access-Control-Allow-Credentials:false does not do it. [13:21:10.0000] espadrine: What do you mean by "not to share" [13:26:12.0000] domfarolino: as in, either not send the credentials with the request, or not yield the response body to the xhr / fetch [13:37:59.0000] espadrine: Only on same-origin requests? [13:39:56.0000] with fetch() you can set a Request's mode to `no-cors` (and credentials = `same-origin`/`include`) which will give an opaque response if that makes sense. [13:51:45.0000] domfarolino: In a situation where I don't trust nor control what a specific page contains, and that page comes from my origin. I can't expect the page to simply not do the harmful thing and set credentials as I want. I don't want it to be able to make a request to my server with the credentials (which it can't read since they are secure cookies). [13:57:04.0000] Hmm, I tried to submit the Participant Agreement (for PR whatwg/html#3606) but it gave me an Error 400 β€œInvalid 'scope-workstreams' field”. Known error? 2018-04-03 [22:00:19.0000] Zegnat: haven’t seen anyone run into that yet [22:00:42.0000] espadrine wants sandboxing [01:09:42.0000] mkwst: FWIW, I think we discussed expanding Origin some years ago too and concluded it wasn't feasible [01:10:01.0000] mkwst: but as with From-Origin, we can repeat it a few times I suppose πŸ˜ƒ [01:10:17.0000] mkwst: I strongly suspect that if you include it for GET servers will assume CORS and hickup [01:11:38.0000] annevk: *shrug* I haven't had enough coffee yet this morning, so I wouldn't be surprised if it's a bad suggestion. But I'd prefer to expand something that already exists if possible, rather than introducing a new thing. [01:14:23.0000] mkwst: also, for an ad-hoc defense From-Origin seems far easier to deploy at scale to protect users of many sites quickly [01:16:10.0000] annevk: It certainly requires less server-side logic for a static policy (e.g. "This endpoint is mine, mine, mine, go away everyone else!"). I'm not sure it's any simpler for a policy with more interesting rules, but maybe those are few and far between. [01:18:07.0000] To be clear: I'm not opposed to `from-origin` per se. Among other advantages, I think getting folks on board with shipping it would make it easier for me to come back to the Entry Point Regulation proposal we floated a few years ago. *shrug* I'd like to make sure we explore other options before shipping something, but I think the problem space is totally worth poking at. [01:58:28.0000] can anyone point me to what powers the spec diffs, e.g. https://whatpr.org/html/3566/be2f5df...e0567b2/interaction.html [01:58:29.0000] ? [02:00:25.0000] fergal_daly: https://github.com/tobie/pr-preview [02:00:46.0000] fergal_daly: though note that for HTML it's a specialized setup [02:01:18.0000] fergal_daly: and for WHATWG in general it's a bit special, since we have our own domain to host these things on [02:13:10.0000] thanks [05:46:14.0000] annevk: Can I borrow your brain for a second? [05:46:22.0000] I'm getting confused by the wording in https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.3 [05:46:49.0000] Specifically: "If srcData is a DataView, let copyLength be srcData.byteLength - srcOffset; the typed elements in the text below are bytes. Otherwise, let copyLength be srcData.length - srcOffset." [05:46:59.0000] Why does it matter whether srcData is a DataView or not? [05:48:39.0000] nox: is that the normative prose? [05:49:09.0000] Wow, looks like it might be [05:49:18.0000] annevk: AFAIK yes, that's the only prose using JS terminology in the whole stack. [05:49:40.0000] annevk: That spec is… not as good as it could be. [05:50:50.0000] nox: DataView only has byteLength [05:50:58.0000] annevk: Oh I see. [05:51:10.0000] nox: so .length would be undefined, but that they're branching on public getters is rather nuts [05:51:21.0000] nox: and not at all how impls work [05:51:27.0000] :D [05:52:24.0000] annevk: I like how it totally ignores any under or overflow too. [05:52:27.0000] What could go wrong? [05:53:10.0000] nox: don't tell Waldo [05:53:15.0000] nox: but maybe do tell Waldo [05:53:23.0000] About which part specifically? [05:54:18.0000] nox: bound checks; though maybe by now we've found all security issues with ArrayBuffer [05:54:50.0000] It's also worth asking for a better specification, but I wonder if we're going to get it [05:54:59.0000] (not from Waldo that last one) [05:55:20.0000] annevk: Isn't ArrayBuffer only for arrays of bytes? [05:55:59.0000] Confused about "If srcData is a DataView, set the size of buf to copyLength; otherwise, set the size of buf to copyLength * srcData.BYTES_PER_ELEMENT. " [06:04:08.0000] nox: ArrayBuffer is for bytes, but views on top of it are generally not [06:04:41.0000] annevk: So can ArrayBufferView be backed by something that isn't for bytes? [06:04:59.0000] nox: I think that one makes sense; e.g. if you had a float32array its elements would be 4 bytes each [06:05:37.0000] nox: you cannot [06:05:52.0000] annevk: So it doesn't make sense, right? [06:05:56.0000] The method takes a `[AllowShared] ArrayBufferView srcData`. [06:06:37.0000] nox: ArrayBufferView is a typed array object, backed by an ArrayBuffer [06:07:22.0000] (or SharedArrayBuffer in some parallel universe where that's still a thing) [11:35:49.0000] domfarolino: FYI I've made all workstream editors able to edit https://github.com/whatwg/participant-data (e.g. to verify people). [11:36:02.0000] That's how it was supposed to be since the beginning, but we forgot [11:36:14.0000] This is great, thank you! [11:52:55.0000] Are browsers allowed to display content above a body-ok *even* before a parser-blocking script below the is ran? [11:53:39.0000] It seems in Chrome/Firefox, parser-blocking scripts do not delay the first paint when they come after a body-ok link and i can't find in the spec where this might be specified [12:07:36.0000] This reminds me of some bug about non-interoperability here... [12:08:15.0000] I guess it's not really specified when browsers are allowed to display content at all? [12:08:25.0000] https://github.com/whatwg/html/issues/3355 was probably what I was thinking of [12:08:42.0000] Oh or https://github.com/whatwg/html/issues/1349 [12:16:40.0000] Interesting, checking those out thanks. Before I saw ^^, I found https://jakearchibald.com/2016/link-in-body/ which does mention Chrome switching to allow rendering before a body-ok stylesheet (though DOMContentLoaded is still blocked) [14:15:28.0000] I think I'm achieving some level of bz-ness: https://github.com/w3c/payment-handler/issues/263#issuecomment-373734422 [14:17:02.0000] Domenic++ [14:17:57.0000] Domenic: hello, new AI overlord [14:27:59.0000] ha! 2018-04-04 [05:42:58.0000] JakeA: for no-cors range requests, did you look at CORB? [05:44:01.0000] annevk: I haven't. Will catch up now. [06:24:40.0000] annevk: looks sensible. Doesn't get in the way of the range stuff I'm looking at. [06:31:25.0000] K [07:15:45.0000] With setTimeout(fn, 0) on a page in a parser-blocking script, should fn be invoked before the DOMContentLoaded event is fired? [07:20:31.0000] domfarolino: timers are in a diff source, so don’t think so [07:28:57.0000] annevk: Ok, because FF and Chrome seem to handle this differently (FF will run the timeout before DOMContentLoaded, chrome after) would you expect they should behave the same? [07:29:39.0000] domfarolino: not necessarily, since it's up to the browser to determine relative priorities [07:29:50.0000] Ok that's what I thought [07:30:09.0000] I thought I remembered they could sort of do what they wanted wtih different sources [07:30:32.0000] It's a little scary though since I'm not sure web developers take that kinda thing into account [07:39:30.0000] annevk: How about https://gist.github.com/domfarolino/e0a19349f7134b9798e984c81138873c, would you expect the load event fired to appear first in the console? [07:40:21.0000] I use async script here that runs before the parser-blocking script to ensure that the event listeners are setup before DOMContentLoaded event has a chance to fire [07:40:41.0000] Chrome won't show the load event fired until after DOMContentLoaded, whereas FF is opposite [07:41:46.0000] that one is tricky, it depends on whether the browser decides to wait for the stylesheet [07:42:04.0000] /me gets tempted to try and write an extension to redirect people away from /TR/ again [07:42:04.0000] I think in theory it should, although I could also see a case that it doesn't, unless the script asks for layout [07:43:47.0000] annevk: Wait for the stylesheet to load before executing async script? [07:44:47.0000] domfarolino: before executing the sync script [07:45:59.0000] annevk: I believe all browsers block parser-blocking scripts from running before previously discovered stylesheets are loaded right now, which should "ensure" that the async script will run. [07:46:30.0000] I can't see how, if both listeners got set before DOMContentLoaded, the DOMContentLoaded handler would be fired first [07:46:53.0000] Because the parser-blocking script can only start running after the load is loaded (and its event fired), it *must* come first right? [07:47:12.0000] domfarolino: well, loaded will queue a task to fire [07:47:30.0000] domfarolino: when that task runs depends on which source it's in [07:47:38.0000] domfarolino: and how much priority that has for the browser [07:48:10.0000] annevk: Right, but won't DOMContentLoaded and ` load` events be queued to the same source? [07:48:14.0000] Or is that not mandated [07:48:23.0000] domfarolino: maybe, some of this is a little vague [07:48:34.0000] My assumption with this example was that they will be the same source, therefore should be well-ordered [07:48:36.0000] Ahh ok [07:48:40.0000] domfarolino: I haven't checked; if they go to the same source you'd be correct [07:49:12.0000] annevk: I can dig around for it, I assume where we actually queue this task would be in HTML and not DOM right? [07:51:14.0000] domfarolino: yup [07:51:20.0000] (both) [07:57:27.0000] Yeah so basically #queue-a-task says all tasks from a specific source must go to the same task queue, but nothing states that the DOMContentLoaded and other element `load` events originate from the same task source [07:57:48.0000] And I guess there's not too much use in specifying that probably [07:58:12.0000] I guess I just assumed they *must* originate from same source :( [08:00:19.0000] domfarolino: we totally should specify their sources [08:00:41.0000] Precisely so you can answer whether the order is defined [08:00:56.0000] annevk: Ok initially that's what I thought but didn't know if that would be too restricting [08:01:07.0000] Cool :) I can open an issue to discuss [08:03:18.0000] Maybe specifying like a few key sources that must always exist, and giving impls freedom to add their own would be nice [08:03:41.0000] Would allow us to fire these sorts of DOM events consistently from the same source to the same queue I guess [08:08:44.0000] There is some of that already [09:36:23.0000] Domenic: You can now send key events in WPT in firefox and chrome [09:37:10.0000] Tab key should work... test_driver.send_keys(element, keys) [09:41:31.0000] <3 [09:45:34.0000] Oooh wow [09:57:12.0000] Incrementally adding this stuff should be mcuh easier now, assuming features you want are exposed in WebDriver [09:57:39.0000] If you want e.g. control over the GC or fake camera input, that's harder :) [09:59:05.0000] Is it keys = "tab" or keys = "\t" or...? [09:59:53.0000] Hahaha [09:59:55.0000] https://w3c.github.io/webdriver/webdriver-spec.html#keyboard-actions [10:00:13.0000] \uE004 [10:02:41.0000] annevk: It seems at the end of these sections (https://html.spec.whatwg.org/multipage/semantics.html#obtaining-a-resource-from-a-link-element & https://html.spec.whatwg.org/multipage/parsing.html#the-end) the task source is specified as the DOM manipulation task source. So it appears this is specified, and Chrome doesn't follow it (a quick look of the source shows that the blink `LinkLoader` actually uses the networking [10:02:41.0000] task source) so I'll refrain from filing a spec issue [10:06:36.0000] domfarolino: what Chrome does seems a bit more reasonable though [10:09:39.0000] annevk: I find it a little confusing personally. I would think the "load" event of a stylesheet that's blocking a script should be observable before the document is finished parsing. Because for the document to finish parsing, the stylesheet must be finished, we just can't tell from JS it seems [10:10:52.0000] domfarolino: in this specific scenario it makes sense for them to use the same task source maybe, but generally network-driven events should use the networking task source [10:13:54.0000] annevk: Yeah that too makes sense. I wonder if we should change the spec to fire load/error events from the networking source [10:27:44.0000] domfarolino: I think so; def worth filing an issue on [11:05:21.0000] is there a way to run a specific WPT on my browser? [11:06:37.0000] KiChjang: http://w3c-test.org/? [11:06:38.0000] oh nevermind, i found w3c-test.org [11:07:05.0000] gsnedders: yeah, i knew of wpt.fyi and i just thought to look there [11:10:03.0000] also, does anyone here maintain wpt.fyi? [11:10:45.0000] the links to w3c-test.org doesn't quite work, because apparently w3c-test.org doesn't serve over SSL and all the links in wpt.fyi uses HTTPS [11:12:07.0000] jugglinmike: ^ [11:13:19.0000] KiChjang: it should work over HTTPS? though it's frequently super-slow for some reason [11:13:26.0000] yeah I just loaded it over HTTPS [11:13:45.0000] but yeah, most of the links (i.e., all except tests that rely on HTTPS) should point at HTTP [11:13:48.0000] ah, perhaps it was indeed super slow [11:15:10.0000] KiChjang: https://github.com/w3c/wptdashboard/issues/532 2018-04-05 [00:07:55.0000] There are several ways to create HTMLDocument that is not connected to browsing context (e.g. DOMImplementation.createHTMLDocument(), DOMParser API, XHR) but I'm wondering what's the meaningful use case for creating an "HTML document" (vs a DocumentFragment or a plain node tree), where we don't have an API like window.document.swap(otherDocument) or something to display the document. [01:13:34.0000] Before JSON documents where somewhat popular to exchange data [01:13:47.0000] Still are to some extent I suppose [01:34:17.0000] hmm, I see, maybe like XML, or SOAP -like use cases. [01:47:01.0000] kochi: yeah, not especially compelling though [01:47:20.0000] kochi: I only ever do it myself to test edge cases and break browsers [01:47:45.0000] kochi: having said that, I have heard that folks still run into these kind of formats and would actually like to have some kind of DOM in workers... [01:57:20.0000] Is it possible for an event to fire synchronously while another event's handler is being run? [01:57:46.0000] hsivonen: yes [01:58:10.0000] hsivonen: e.g., the handler can run obj.dispatchEvent(...) [01:58:31.0000] annevk: ok, so the window.event stuff should restore the previous window.event afterwards instead of just setting to undefined [01:59:13.0000] hsivonen: yeah, I think in review of that PR it was suggested that you store the current value, then set it to the event, then run the callback, then set it to the stored value [01:59:46.0000] annevk: why is it set and restored for each callback separately? [02:00:30.0000] hsivonen: oh, I guess you can do it for a whole currentTarget [02:00:51.0000] annevk: Is the shadow DOMness not known before the whole capture and bubble stuff starts? [02:01:19.0000] hsivonen: it is, that part isn't specced yet [02:01:32.0000] hsivonen: basically the whole path is known and it has some annotations about boundary crossing [02:02:01.0000] hsivonen: so when you set it to the event it needs to be conditional upon information from that path [02:02:08.0000] annevk: in that case, it would be really nice the shadow DOMness could be decided using the "target" that Gecko has before it traverses the events path [02:02:38.0000] oh, it needs information from the path :-( :-( [02:02:58.0000] hsivonen: as I understand it Firefox also has the path pre-dispatch [02:03:18.0000] hsivonen: perhaps in a different form, but that's basically a per-requisite for many bits of dispatching [02:05:12.0000] annevk: my problem mainly is that I'm unfamiliar with this stuff, so locating the interesting points of code that are not too soon and not too late isn't obvious [02:06:23.0000] hsivonen: okay, as I understand it from Olli we have all the information before we call into JavaScript [02:06:47.0000] annevk: yeah, smaug____ known this code. I don't. [02:07:03.0000] hsivonen: e.g., whether the node we are firing listeners for was in a shadow tree at the time dispatch started [02:07:11.0000] hsivonen: based on that we'd like to set window.event [02:08:36.0000] hsivonen: the crucial bit here is that if something was in a shadow tree at the time of dispatch and one listener moves it into the main document, when the next listener runs window.event should still be its original value [02:11:45.0000] annevk: what's "original value"? original as in before the whole dispatch thing or the one decided before the node was moved during this dispatch? [02:12:04.0000] annevk: Is there a test case for that? [02:12:41.0000] hsivonen: I don't know, Mike Taylor wanted to work on this so I haven't been involved much [02:12:51.0000] annevk: ok [02:12:52.0000] hsivonen: if this is high priority suddenly maybe I should take over a bit [02:13:11.0000] annevk: my understanding is that this is a priority now [02:14:04.0000] By original value I meant the value it currently has [02:14:43.0000] Basically we only change the value if the current target was not in a shadow root determined at dispatch time before any JavaScript along the path is executed [02:15:11.0000] (I tried to look around a bit in Mozilla's event code, but it seems very polymorphic so hard to find the right location for all this...) [02:15:20.0000] annevk: that suggests the current PR has the setting and unsetting of window.event too deep in the algorithm [02:16:47.0000] hsivonen: yeah I recommend not looking at the current PR, especially if you want to consider shadow trees [02:17:11.0000] hsivonen: I'll have a look at rebasing the current PR and splitting out srcElement and returnValue, which are now elsewhere [02:17:56.0000] I did check with Mike and he seemed okay with me doing some work on window.event [02:19:53.0000] annevk: in the spec, step 16 checks shadow DOMness [02:20:24.0000] annevk: Do I understand correctly that `target` may have changed via retargeting after step 11? [02:22:41.0000] hsivonen: that question is a bit ambiguous, the target passed to dispatch doesn't really change; but as the event gets dispatched, it might have multiple targets due to shadow trees [02:23:33.0000] hsivonen: note that the current spec at https://dom.spec.whatwg.org/#dispatching-events doesn't have a step 16 [02:23:51.0000] hsivonen: (it changed a whole lot due to review from smaug____) [02:24:03.0000] I meant step 16 in the PR preview [02:24:09.0000] /me looks at the actual spec [02:24:21.0000] hsivonen: yeah as I said, that PR is out-of-date and needs rebasing [02:24:31.0000] hsivonen: I can work on that now [02:25:08.0000] This does seem like a fairly complex thing to work on given that other changes (including to Firefox) are also in flight [02:25:30.0000] Unless you own all of those changes I think smaug____ should give some specific directions here [02:26:27.0000] /me is [02:26:38.0000] annevk: I don't own other changes. I basically know nothing other than I'm supposed to make window.event happen [02:27:05.0000] maybe I should upload my current code [02:42:11.0000] annevk: there's now code on the bug. It works in the non-shadow DOM case and it checks for shadow DOMness, but it might check for shadow DOMness at the wrong time [03:04:29.0000] hsivonen: hmm, the other thing that's worth testing here is how the global object is found [03:05:05.0000] hsivonen: e.g. if I run a function in an