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)