00:00 | <Hixie> | i have to run |
00:00 | <Hixie> | bbiab |
00:02 | <benschwarz> | Damn. I missed Hixie again |
00:27 | <realityking> | Anyone know a good IRC channel to discuss WAI-ARIA questions? |
00:27 | <realityking> | Or would this one be good? |
00:49 | <TabAtkins> | cssyThis might be good. |
00:49 | <TabAtkins> | realityking: ^^^ s/cssy// |
00:50 | <realityking> | thanks |
00:51 | <realityking> | I wonder what the appropriate roles would be for something like this http://aryweb.nl/projects/mootools-datepicker/Test/ |
00:51 | <realityking> | (month or year picker) |
00:51 | <realityking> | it's not really a grid, is it? |
00:53 | <TabAtkins> | I don't think ARIA really has the ability to annotate a complex widget like a datepicker. |
01:05 | <realityking> | there's a best practive example for the days view |
01:05 | <realityking> | which is the most complex one |
01:06 | <realityking> | which is supposed to be done as a grid |
01:06 | <realityking> | which works because columns and rows actually mean something |
01:06 | <realityking> | but that isn't true for the months and days views |
01:11 | <TabAtkins> | Yeah, indeed. |
01:18 | <jamesr> | good god charles pritchard writes a lot of emails |
01:18 | <jamesr> | not short ones either |
01:19 | <heycam> | I find it difficult to reply to him, because he seems to make a lot of irrelevant statements in his emails, which don't really deal with the topics being discussed |
01:21 | <jamesr> | seems more interested in talking than communicating |
02:34 | <jamesr> | question for anyone who's implemented canvas' globalCompositeOperation="copy" for text correctly - is there any reasonable way to implement this other than actually constructing a intermediate buffer to render into? |
02:57 | <roc> | depends on your graphics library |
02:57 | <roc> | we use a temporary buffer |
02:57 | <roc> | does that bother you? |
02:58 | <jamesr> | not necessarily. it's avoidable in some cases for most operations, but there doesn't seem to be any obvious way to avoid the buffer for text |
02:59 | <jamesr> | i suspect (hope) that people don't use these globalCompositeOperations enough for it to matter too much |
02:59 | <roc> | I personally would not bother trying to optimize it |
09:02 | <annevk> | if window.find selects, shouldn't it maybe be in AryehGregor's draft? |
09:02 | <annevk> | Hixie, I still think we should have something for in-page menus and toolbars |
09:35 | <jgraham> | annevk: Is there some way to get more context in the webapps tracker diff view? |
09:41 | <annevk> | not anymore |
09:41 | <annevk> | see http://code.google.com/p/html5/source/browse/trunk/web-apps-tracker/trackerlib.py |
09:42 | <annevk> | I suppose you can patch it back in |
09:42 | <david_carlisle> | should sliders from input type=range have keyboard controls to step the value by default? seems left/right arrow keys work in Opera 11, but not in Chrome dev? |
09:43 | <hsivonen> | david_carlisle: I'd expect them to be keyboard-accessible without scripting |
09:43 | <david_carlisle> | so would I but.... |
09:43 | <david_carlisle> | http://dpcarlisle.blogspot.com/2011/07/slinky-canvas.html |
09:43 | <hsivonen> | david_carlisle: Chrome's HTML5 forms implementation is incomplete to put it politely |
09:44 | <david_carlisle> | hsivonen: shoul dteh spec say something about keyboard access or is that at another level spec-wise |
09:44 | <david_carlisle> | the |
09:44 | <jgraham> | It should be obvious really. But it's a UI issue so the spec can't mandate UI |
09:44 | <jgraham> | s/so/and/ |
09:45 | <hsivonen> | david_carlisle: in theory, maybe it belongs on the level on intrinsic behavior of native widgets. In practice, I guess it would be good for the spec to say something, because the exact events may be relevant to authors who override stuff with their own event handlers |
09:47 | <david_carlisle> | hsivonen: or maybe it's best just to moan here until you all implement it the same way |
09:48 | <hsivonen> | similarly, the spec pretends to delegate default <label> onclick behavior to host OS conventions and the behavior of pressing enter to submit a form, but in practice, browsers need to be consistent |
09:49 | <hsivonen> | so the spec fails to be useful when browser developers end up reverse engineering other products anyway |
09:49 | <hsivonen> | for example, the <label> case is being addressed in Gecko based on observations of the behavior of other browsers |
09:51 | <david_carlisle> | thanks all for the thoughts, good to know I hadn't missed something and that convergence is expected, as implementations catch up with each other |
09:51 | <hsivonen> | david_carlisle: filing a bug on the chromium bug tracker might be more effective than pointing out the flaw here |
09:51 | <david_carlisle> | hsivonen: OK, will do |
09:51 | <david_carlisle> | here is quicker response though:-) |
10:17 | <annevk> | NodeIterator is a little more complicated than expected |
11:08 | <AnselmBradford> | Would anyone be able to explain the rationale behind this to me? The id attribute lists the following: "Identifiers are opaque strings. Particular meanings should not be derived from the value of the id attribute" - which I interpret to mean the semantics of an element should not be conveyed in an id. The class attribute on the other hand includes "authors are encouraged to use values that describe the nature of the content". Why is |
11:08 | <AnselmBradford> | attaching semantic meaning desirable for classes but not ids? |
11:10 | <Ms2ger> | Wrong interpretation |
11:10 | <Ms2ger> | Authors should use values that describe the nature of the content for both classes and ids, but you shouldn't try to derive meaning from them in other people's content |
11:12 | <annevk> | Ms2ger, if you can figure out a pseudo-algorithm for what moveNext() does let me know |
11:12 | <Ms2ger> | What's moveNext? |
11:12 | <annevk> | I mean nextNode() |
11:12 | <annevk> | I'm pretty close, but it is kind of hairy :( |
11:13 | <Ms2ger> | Sounds about right, then :) |
11:16 | <AnselmBradford> | Ms2ger: Ahh thanks! Is that what is meant by "opaque strings", that the values are to be treated as essentially meaningless to anyone but the author? |
11:16 | <Ms2ger> | Right |
11:22 | <AnselmBradford> | Ms2ger: is there a difference between ids and classes in this regard? e.g. why aren't class values identified as opaque strings too? Also shouldn't that term be defined in terminology... or am I just naive to it |
11:23 | <Ms2ger> | Maybe |
11:26 | <Ms2ger> | annevk, do you know of any compat issues Opera has by not supporting window.find? |
11:26 | annevk | looks |
11:27 | <annevk> | "Breaks the "find" button in TinyMCE (possibly also the search/replace feature)" |
11:27 | <annevk> | that seems to be the only thing out there however |
11:28 | <annevk> | no other report |
11:29 | <annevk> | I reckon if Gecko drops it that's no longer a problem :) |
11:32 | <annevk> | sweet |
11:32 | <annevk> | NodeIterator is not interoperable at all |
11:40 | <smaug____> | bz was hinting that we should just make window.find() no-op |
11:47 | <Ms2ger> | krijn, happy birthday! |
12:11 | <AnselmBradford> | with id attributes ... the spec says "The value must not contain any space characters." and in the next paragraph "user agents must associate the element with the given value (exactly, including any space characters)" is this saying that authors should not use spaces but UAs should honor them if present? |
12:12 | <smaug____> | annevk: in which way is NodeIterator not interoperable? |
12:12 | <jgraham> | AnselmBradford: Ye |
12:12 | <jgraham> | s |
12:13 | <AnselmBradford> | jgraham: cheers! |
12:14 | <david_carlisle> | hsivonen: I reported a chrome bug on slider controls http://code.google.com/p/chromium/issues/detail?id=89698 but they say it's not a bug, I have to tab to focus, not use the mouse, hmmmm |
12:16 | <hsivonen> | david_carlisle: not having click to focus the control is odd |
12:16 | <jgraham> | s/odd/buggy/ |
12:16 | <david_carlisle> | hsivonen: "If you don't like this focus behavior, please file another bug." I guess that's what I'll do... |
12:17 | <hsivonen> | david_carlisle: probably the best course of action |
13:03 | <jgraham> | http://blogs.msdn.com/b/ieinternals/archive/2011/07/18/optimal-html-head-ordering-to-avoid-parser-restarts-redownloads-and-improve-performance.aspx#10187680 suggests someone needs to do the "UA requirements" vs "author requirements" talk at Microsoft |
14:22 | <annevk> | smaug____, e.g. how often a filter is invoked that returns nothing |
14:40 | <annevk> | this is pretty great: http://my.opera.com/chooseopera/blog/2011/07/19/and-now-for-something-completely-random-your-own-band |
15:22 | <jgraham> | Hmm, I thought it was required that a charset-declaring <meta> was the first element in the <head>, but it doesn't seem to be |
15:22 | <jgraham> | +if any |
15:24 | <Ms2ger> | It might have used to be |
15:35 | <nlogax> | i think it only needs to fit in the first 512 bytes |
15:38 | <Philip`> | 1024 |
15:38 | <annevk> | smaug____, another difference is when INVALID_STATE_ERR exception is thrown |
15:38 | <Philip`> | (See http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset512 ) |
15:38 | <Philip`> | (which is not at all a confusing link) |
15:39 | <annevk> | smaug____, in Gecko it happens if the callback invokes detach(); in WebKit you have to invoke the method again |
15:50 | <dglazkov> | good morning, Whatwg! |
15:53 | <annevk> | good afternoon, dglazkov! |
15:56 | <Ms2ger> | Philip`, #charset1024 works too |
15:56 | <Philip`> | Ms2ger: Less fun though |
16:05 | <annevk> | As long as the implementor requirements are that you have to look for an encoding forever it is still not really nice though |
16:05 | <annevk> | That is, not fully deterministic |
16:06 | <annevk> | Or maybe that changed |
16:22 | <matjas> | “It's utterly bizarre to me that HTML5 would impose an "authoring requirement" which it doesn't bother to add to its implementation requirements, particularly when its failure to do so could result in a security vulnerability. But I don't work on much HTML5 stuff myself.” — Eric Law http://blogs.msdn.com/b/ieinternals/archive/2011/07/18/optimal-html-head-ordering-to-avoid-parser-restarts-red |
16:22 | <matjas> | ownloads-and-improve-performance.aspx |
16:23 | <matjas> | let’s try that again: http://blogs.msdn.com/b/ieinternals/archive/2011/07/18/optimal-html-head-ordering-to-avoid-parser-restarts-redownloads-and-improve-performance.aspx |
16:25 | <annevk> | he doesn't explain the vulnerability |
16:28 | <jgraham> | It would be nice if he would |
16:28 | <jgraham> | I was going to ask but got distracted by charset metas not having to be first in the head per spec |
16:29 | <jgraham> | I am guessing it it just a "some people might have bad sanitizers" vunerability, but maybe I will be surprised |
16:37 | <annevk> | How would you describe (1 << (node.nodeType() - 1)) & iterator.whatToShow in prose? |
16:38 | <annevk> | It is needed to map the constants of http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter to Node.XXX_Node constants |
16:38 | <Philip`> | "If the n'th bit (where 0 is the least significant bit) of whatToShow is set, where n is nodeType"? |
16:39 | <Philip`> | (or nodeType-1) |
16:43 | Ms2ger | wonders which implementation that's from |
16:52 | <Ms2ger> | <annevk> yeah, but we first need to figure out the Web platform |
16:52 | <Ms2ger> | annevk++ |
16:58 | <annevk> | Ms2ger, context? :) |
16:59 | <Ms2ger> | http://krijnhoetmer.nl/irc-logs/whatwg/20110707#l-135 |
17:01 | <annevk> | you have quite the backlog |
17:04 | <Ms2ger> | Yes |
17:04 | <Ms2ger> | <krijn> (Server will be down a bit today, getting a new fiberglass connection) |
17:04 | <Ms2ger> | A bit today? |
17:06 | <jgraham> | Any reason that the web dom core tests aren't on the W3C server? Or am I looking in the wrong place? |
17:07 | <annevk> | they are in http://dvcs.w3.org/hg/webapps/ |
17:08 | <annevk> | http://dvcs.w3.org/hg/webapps/file/tip/DOMCore/tests/submissions/Ms2ger |
17:08 | <jgraham> | Oh, I thought they might be in the same place as the spec or something. Would make them easier to find |
17:08 | <Ms2ger> | w3c-test.org is out-of-date again.. |
17:08 | <annevk> | they used to be |
17:08 | Ms2ger | sighs |
17:08 | <annevk> | no idea why they moved |
17:40 | <krijnserver> | Ms2ger: if you (or anyone else) have the missing logs, please mail them to me |
17:41 | Philip` | has logs |
17:41 | <Philip`> | What time period? |
17:42 | <krijnserver> | Ms2ger: heh, and thanks :) |
17:42 | <krijnserver> | Philip`: a week or something |
17:42 | <Philip`> | krijnserver: Which week? |
17:43 | <krijnserver> | http://krijnhoetmer.nl/irc-logs/whatwg/201107 |
17:43 | <krijnserver> | That's all quite empty |
17:43 | <krijnserver> | Brb, fixing food |
17:44 | annevk | wonders what servers eat these days |
17:48 | <Philip`> | krijnhuman: http://zaynar.co.uk/misc/whatwg-20110701-to-20110719ish.log |
17:49 | Philip` | apologises for the bottom half of the file being backwards |
17:58 | <krijnhuman> | annevk: same stuff as always, http://lockerz.com/s/121710484, keeps servers healthy |
18:00 | <krijnhuman> | Philip`: thanks, will add them tonightish |
18:06 | <Ms2ger> | 20:34 < annevk> teehee logs offline again |
18:06 | <Ms2ger> | 20:34 < zewt> let's all say mean things |
18:09 | <annevk> | WHATWG secrets unveiled |
18:10 | <krijnh> | My idea was to add some.. |
18:13 | <Ms2ger> | 01:06 < weinig> Hixie: I am implementing annevk's new Event stuff just to rid my future test cases of it :) |
18:13 | <Ms2ger> | weinig++ |
18:13 | weinig | should really land that |
18:17 | <smaug____> | I wonder when to implement the new event initialization |
18:19 | <Ms2ger> | Now :) |
18:20 | <smaug____> | Ms2ger: well, is the spec stable in that case? |
18:20 | <smaug____> | has it been reviewed? |
18:21 | <Ms2ger> | As stable as it gets without implementations, I think |
18:24 | <annevk> | yeah |
18:24 | <annevk> | need implementations |
18:24 | <annevk> | and implementor feedback if there are bugs :) |
18:25 | <weinig> | annevk: bugs? |
18:27 | <annevk> | in the spec |
18:27 | <annevk> | I haven't heard of any so far though |
18:33 | <annevk> | Anyone here have a problem with DOM Core including NodeIterator and TreeWalker? |
18:34 | <annevk> | In favor? |
18:35 | <Ms2ger> | meh |
18:35 | <Ms2ger> | You get to maintain it :) |
18:39 | <jgraham> | annevk: I like the idea of them being specified somewhere. I don't really care where :) |
19:02 | <Hixie> | annevk: ooh, i like your thinking (making window.find() aryeh's problem) :-) |
19:03 | <Ms2ger> | Hixie, hah |
19:05 | <Ms2ger> | annevk, you realize he's just going to play that trick on you next time, right? :) |
19:05 | <annevk> | would not be the first time :) |
21:13 | <annevk> | http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#traversal |
21:13 | <annevk> | http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-traversal |
21:16 | <TabAtkins> | Argh, I hate numeric constants and bitmasks so bad. |
21:19 | <annevk> | Thanks for the input |
21:19 | <Ms2ger> | Do we use <sup>th</sup> consistently? |
21:19 | <TabAtkins> | Sorry, I know legacy constraints tie our hands here. |
21:19 | <TabAtkins> | But still. |
21:19 | <annevk> | Or should I say, film at eleven! |
21:20 | <Ms2ger> | At eleven? Should hurry up, then |
21:21 | <annevk> | Ms2ger, not sure, I think we should though |
21:21 | <Ms2ger> | Should check that one day |
21:22 | <annevk> | There are a few things about consistency that ought to be done one day |
21:29 | <annevk> | By the way, the nextNode() and previousNode() algorithms are pretty much identical. Maybe they should use a common algorithm. |
21:35 | <Ms2ger> | I believe Gecko shares the code there |
21:36 | <annevk> | Also for maintenance of the specification it would make sense. However, it would be cool if David and others could review it first :) |
21:39 | <Ms2ger> | sicking, ^ |
22:17 | <Ms2ger> | Got through my #whatwg backlog, yay |
22:17 | <jgraham> | annevk: Stop 5 of nextNode is wrong |
22:17 | <jgraham> | Oh, maybe it's not |
22:18 | <annevk> | substep 5? |
22:18 | <jgraham> | Yeah |
22:19 | <jgraham> | It's right but the whole substep/overall steps thing is confusing |
22:19 | <annevk> | it's a pattern more specs use, not sure how to do it differently |
22:19 | <jgraham> | Well HTML5 uses it and it can be confusing there. ES5 does something different |
22:19 | jgraham | looks for an example |
22:20 | <Hixie> | i'm not a fan of the terminology |
22:20 | <Hixie> | not sure how to fix it though |
22:20 | <Hixie> | ES5's approach isn't one i like either |
22:21 | <jgraham> | http://es5.github.com/#x10.6 is one example |
22:21 | <jgraham> | It uses "repeat while" instead of "goto" |
22:22 | <Hixie> | what if index < 0 at the start of the loop? |
22:22 | <Hixie> | the html spec does sometimes say "run the following substeps while (some condition)", iirc |
22:22 | <annevk> | this one is not really goto |
22:22 | <annevk> | it's more like continue/break |
22:23 | <jgraham> | Yeah, it's continue/break phrased as goto :) |
22:23 | <Ms2ger> | goto hell? |
22:23 | <jgraham> | Also makes it confusing when you say "terminate these steps" |
22:24 | <jgraham> | Because it could be the inner steps or the overall set of steps |
22:24 | <Hixie> | yeah the problem i regularly have is with "break" |
22:24 | <Hixie> | or even worse, "continue" |
22:24 | <annevk> | this one has both :evil: |
22:25 | <Ms2ger> | The web :evil: |
22:25 | <Hixie> | if any of you can come up with better wording for any of hte algorithms in the html spec, don't hesitate to let me know |
22:26 | jgraham | should try to work out a nice way to do this to see if he is actually learning anything from "programming pearls" |
22:27 | <zewt> | Hixie: fwiw, my impression from that is that it sort of sounds like you're supposed to abort the steps immediately if (some condition) ever turns false mid-loop (which I assume is usually not intended) |
22:27 | <Hixie> | zewt: yeah, that's another problem with that wording |
22:37 | <jgraham> | Doesn't "return" imply "and terminate these steps"? |
22:37 | <Hixie> | no |
22:38 | <Hixie> | there are a number of algorithms that return and continue |
22:39 | <annevk> | http://wiki.whatwg.org/wiki/How_to_write_a_spec should maybe be updated with instructions on writing algorithms |
22:40 | <annevk> | and maybe within specs there should be instructions on how to read them? |
22:40 | <annevk> | maybe after jgraham put some thought into it |
22:40 | <annevk> | nn |
22:40 | <Hixie> | as far as reading them, i think it's best if they're just english |
22:41 | <annevk> | yeah, ideally that's sufficient :) |
22:41 | <jgraham> | Well they are in some sense. But they contain terms of art |
22:45 | <roc> | Maybe we should write the algorithms in JS |
22:45 | <roc> | it would make the control structures clearer |
22:45 | <roc> | with defined syntax for escaping back into English |
22:47 | <TabAtkins> | That would be interesting. |
22:47 | <TabAtkins> | Would probably make flexbox easier to write. |
22:47 | <heycam> | in the JS algorithm you would construct a string and then say "evalEnglish(theString);" :) |
22:47 | <Hixie> | then we'd have to define the interaction of english and js |
22:47 | <roc> | that's exactly what I was thinking |
22:48 | <Philip`> | Do it as a function call, where the function happens to be defined in English |
22:48 | <Philip`> | so all the arguments and return values are nice and explicit |
22:48 | <roc> | AI("Queue a task to fire all applicable queue events"); |
22:48 | <Hixie> | also you'd have to define which parts of the JS semantics you meant to expose and which were side-effects |
22:49 | <roc> | yeah, it's problematic |
22:49 | <heycam> | how simple specs could become if the AI function were specified. someone should get on to defining that. |
22:49 | <roc> | but what we have right now is problematic too: pseudocode in English with gotos |
22:49 | <Hixie> | i just wish i could have unit tests for english |
22:49 | <Hixie> | and that my compiler had less latency. and didn't talk back to me. :-P |
22:51 | <Philip`> | Unit tests for English could just be examples, listing input and output and side-effects |
22:51 | <Philip`> | The only hard part is executing the unit tests |
22:51 | <roc> | Google can implement it. Search all the Web's scripts for comments related to the request string, cobble the top 10 hits together in a way that compiles, and eval it |
22:52 | <TabAtkins> | Anybody know of a half-decent explanation of a Coons patch mesh gradient, so I can implement it? |
22:52 | <TabAtkins> | Google isn't doing me very good here. |
22:52 | <TabAtkins> | And I think pdf.js hasn't implemented them yet. |
22:53 | <Philip`> | Like in http://tavmjong.free.fr/SVG/MESH/Mesh.html ? |
22:53 | <TabAtkins> | Yes. |
23:05 | <TabAtkins> | Okay, I think I got it. First, WLOG assume you're drawing into the unit square. Assign a color to each corner, and use linear interpolation to assign a gradient to each edge. Then use bilinear interpolation to fill in the interior. |
23:08 | <jgraham> | (fwiw I think that defining some terms like in http://es5.github.com/#x5.2 would be helpful, without going all the way to real code) |