00:27
<Hixie>
Philip`: the text of the spec was written very much stream of consciousness. if we had the data, you could probably see a pattern as to when i use "... and ...", and "..., then ...", etc, based on who last talked to me, who I last replied to in e-mail, when I woke up, what i ate for lunch, or something :-)
00:28
jgraham_
imagines the spec rewritten in the style of Ulysses
00:28
<jgraham_>
Although that should perhaps be styles
00:28
<jgraham_>
"styles", even
00:55
Philip`
wonders why lots of tests are failing, and then realises it's the head/body-implication thing where the spec disagrees with the tests
01:03
<Philip`>
Does someone happen to know how this ought to work?
01:03
<Hixie>
i really should fix that
01:03
<Hixie>
gah, so many things to fix
01:03
<Dashiva>
Speaking of implications. Whitespace nodes are sometimes processed as if the parser was in a different mode (e.g. in head noscript counts as in head"
01:03
<Dashiva>
Does this also normalize them if there's an existing one before or after already?
01:03
<Philip`>
(By "lots of tests", I mean 4 out of the 9 before I get a not-yet-implemented exception)
01:03
<Dashiva>
It says appending several characters means making them a single node, but it doesn't have specific mention of what happens when an append crosses phases
01:20
<Philip`>
Yay, now I pass 9 out of 9 tests before dying
09:16
<zcorpan_>
oooh
09:16
<zcorpan_>
xml 1.0 5th edition
09:16
<zcorpan_>
first step towards xml5?
09:20
<zcorpan_>
"XML 1.0 documents SHOULD NOT specify a version number other than '1.0'."
09:21
<zcorpan_>
seems they have made the version pseudo-attribute meaningless
09:21
<zcorpan_>
which is good
09:32
<zcorpan_>
wonder if they can be convinced to say that "XML 1.0 documents SHOULD NOT contain a DOCTYPE declaration."
09:32
<zcorpan_>
(or must not)
09:33
<annevk>
Philip`, when you hit EOF and you haven't created <head> yet, do that, etc., up until <body>
09:45
<Philip`>
I've done something like
09:45
<Philip`>
BeforeHead: (EndOfFile, [ActAsIfStartTag "head"; ReprocessCurrentToken])
09:45
<Philip`>
InHead: (EndOfFile, [ActAsIfEndTag "head"; ReprocessCurrentToken])
09:45
<Philip`>
AfterHead: (EndOfFile, [ActAsIfStartTag "body"; ReprocessCurrentToken])
09:45
<Philip`>
Every other mode: same for EndOfFile as what the spec says
09:45
<Philip`>
which hopefully covers the necessary cases
09:47
<annevk>
i think html5lib has something like that
10:57
<jgraham_mibbit>
zcorpan_: What's the status of aria in HTML 5? Are we just planning to import all the aria properties as aria-*
11:00
<zcorpan_>
jgraham: think so
11:00
<zcorpan_>
the aria spec now requires only aria-*
11:02
<jgraham_mibbit>
That's the Member only WD, right?
11:25
<gsnedders>
zcorpan_: yeah, I think it's a good first step, though
11:25
gsnedders
realises how awesome school is: he is in secondary 5!
11:42
<zcorpan_>
jgraham_: no, a fpwd was published the other day
11:42
<zcorpan_>
jgraham_mibbit: http://www.w3.org/TR/wai-aria/
11:51
<jgraham_mibbit>
zcorpan_: Thanks
11:52
jgraham_mibbit
wonders how aria properties are supposed to interact with html-native properties (e.g. <td aria-labelledby="foo" headers="baz">
11:52
<jgraham_mibbit>
)
11:54
<zcorpan_>
jgraham: i wonder that too
11:55
<zcorpan_>
i'm planning to go through each and every aria role and question its existance in the first place and furthermore how it interacts with native features in host languages
11:56
<jgraham_mibbit>
zcorpan_: That sounds very worthwhile.
11:59
<jgraham_mibbit>
(and something that I would be interested in working on)
11:59
<zcorpan_>
feel free :)
12:01
<zcorpan_>
i think that the host language should be able to say whether a role applies or not
12:01
<zcorpan_>
e.g. role=heading might make sense in svg but not in html
12:04
<annevk2>
why oh why did I reply to Dmitry Turin
12:05
<hsivonen>
do we have some kind of support for SVG diagrams in the mediawiki instance on wiki.whatwg.org?
12:05
<zcorpan_>
annevk2: your ignore flag isn't working properly
12:12
<annevk2>
:)
12:12
<annevk2>
this was my last reply
13:27
<zcorpan_>
hmm there's no spec for window.scrollTo and friends
13:27
<annevk2>
if you can propose definitions I'm willing to put them where they belong
13:27
<annevk2>
(cssom-view)
13:28
<zcorpan_>
i have to figure out which should throw when
13:28
<zcorpan_>
s/when/and when/
13:30
<annevk>
is there a non-multipage shortcut for the WHATWG draft of HTML5?
13:35
<zcorpan_>
don't think so
13:37
<Philip`>
http://whatwg.org/html5/../ unfortunately doesn't work
13:40
<annevk>
http://html5.org/spec
13:51
Philip`
keeps getting mixed up between Ocaml's "!=" and "<>" operators
13:51
<Philip`>
which is annoying because it makes my code fail in ways that take me ages to discover :-(
13:52
<Philip`>
(!= and == do physical equality, = and <> do structural equality, so "x" = "x" and "x" != "x")
14:20
Philip`
notes that e.g. the "reconstruct the active formatting elements" algorithm does not map trivially into a functional language
14:56
<Philip`>
"1. Let node be the element immediately prior to node in the stack of open elements. 2. If node is not in the list of active formatting elements, then remove node from the stack of open elements and then go back to step 1."
14:57
<Philip`>
If node is removed from the stack of open elements, then there is no longer any element immediately prior to it in the stack of open elements
14:57
<Philip`>
or am I misunderstanding something?
14:58
<Dashiva>
node seems overloaded
14:58
<annevk>
the stack of open elements always has the root node
14:59
<annevk>
which can't be popped iirc
14:59
annevk
forgot the details
15:00
<Philip`>
But 'node' can be not the root node, and once it's removed from the stack then you can't find an element prior to 'node' in the stack
15:00
<annevk>
?
15:00
<Philip`>
Like, what comes before node 'x' in the list [a; b; c; d]?
15:01
<Philip`>
Once 'x' has been removed from the list, that doesn't make sense any more
15:02
<annevk>
good point, which algorithm is this?
15:03
<Philip`>
Adoption agency
15:03
<Philip`>
though I don't know of many real adoption agencies that clone children
15:04
<annevk>
I think "node" and "node" in the first sentence are distinct
15:07
<annevk>
so that one of those "node" thingies is still around when you delete the other
15:08
Philip`
wishes the terms 'lower' and 'prior' and 'after' and 'furthest' and 'last' and 'end' and 'start' and 'bottom' weren't all mixed up for similar concepts
15:09
<annevk>
node = self.tree.openElements[
15:09
<annevk>
self.tree.openElements.index(node)-1]
15:09
<annevk>
while node not in self.tree.activeFormattingElements:
15:09
<annevk>
tmpNode = node
15:09
<annevk>
node = self.tree.openElements[self.tree.openElements.index(node)-1]
15:09
<annevk>
self.tree.openElements.remove(tmpNode)
15:10
<annevk>
with better indentation is the html5lib impl of those two steps
15:10
<Philip`>
That's setting node to the element prior to node, before removing node
15:10
<Philip`>
which is the opposite order to what the spec says
15:13
<annevk>
i guess the spec needs to be clarified then
15:13
Philip`
will probably email something once he's worked out what's meant to be going on in the algorithm
15:16
<annevk>
bugs :(
16:49
<annevk>
gsnedders, someone else pointed out the changes I needed to make for ABNF fancyness
16:50
<gsnedders>
annevk: ah, so I need not do anything?
16:52
<annevk>
right, though you may review
16:52
<annevk>
and maybe answer a question
16:52
<annevk>
does ABNF do #rule ?
16:52
<gsnedders>
# being a number? yes
16:52
<annevk>
HTTP #rule
16:53
<gsnedders>
meaning what?
16:53
gsnedders
is slightly confused now
16:56
<annevk>
a comma-seperated list
16:59
Philip`
sees that the 'has an element in scope' algorithm deceptively is used in two quite different ways, one checking for a specific element and one checking for any element with a name in a given set
17:07
Philip`
wonders if anyone knows of a bug where Firefox on Linux shifts a random set of characters up or down by one codepoint
17:07
gavin
doesn't
17:07
<gavin>
sounds nasty!
17:07
<Philip`>
like changing all spaces into "!"s, or changing the world "element" into "dldmdnt"
17:08
<Philip`>
s/world/word/
17:08
<gsnedders>
annevk: what's the original that you're trying to go from?
17:08
<Philip`>
I just saw it happen to someone, but he fixed it by restarting the browser
17:10
<annevk>
gsnedders, http://dev.w3.org/2006/waf/access-control/#access-control0
17:10
<gsnedders>
annevk: that doesn't make sense in the original if it should be comma-seperated, off the top of my head
17:12
<gsnedders>
annevk: rule *("," *LWS rules) — I think that would do
17:12
<annevk>
the idea is to :allow <*>, deny <*>, allow <*>
17:12
<gsnedders>
s/rules/rule/
17:12
<annevk>
do you need *LWS ?
17:12
annevk
thought LWS was already multiple
17:13
<gsnedders>
I have no idea. In RFC2616?
17:13
<gsnedders>
IIRC no
17:13
<gsnedders>
RFC2616 seems to use *LWS a lot
17:14
<gsnedders>
LWS = [CRLF] 1*( SP | HT )
17:14
<gsnedders>
and it's implicit *LWS that's allowed in HTTP
17:15
<gsnedders>
RFC2616's BNF seems to have implicit commas, but ABNF doesn't
17:15
<gsnedders>
annevk: rule *(*LWS "," *LWS rule)
17:16
<gsnedders>
*LWS rule *(*LWS "," *LWS rule)
17:16
<gsnedders>
that's the equivalent
17:16
<annevk>
holy crap
17:16
<gsnedders>
RFC2616's BNF is made to make HTTP easy to spec in BNF
17:17
<gsnedders>
in most cases you don't want implicit comma separated lists
17:17
<annevk>
maybe I should use RFC2616 BNF
17:17
<gsnedders>
2616bis may move to ABNF too, so maybe we get that there :)
17:17
<annevk>
as it's about HTTP after all
17:18
<annevk>
and i don't want it to be vastly different from HTTP
17:18
<annevk>
oh well, got to run
17:18
<gsnedders>
me too
17:39
Philip`
gives in and writes an imperative function
18:05
Philip`
gets half of the adoption agency algorithm to type-check
18:28
<Philip`>
So, I hope steps 6-8 are equivalent to: Remove all items from open-stack between furthest-block and formatting-element that are not in active-list. Set bookmark to be after the first element in that open-stack range that is also in active-list. Fold all the elements in that range into a tree, with some cloning, then fold that into common-ancestor.
20:11
<annevk>
http://norman.walsh.name/2008/02/07/xml105e
20:14
<hsivonen>
I suppose I should find time to write a comment to the effect of too little too late and causes uncertainty and interop problems to the very people it is supposed to help
21:03
<Lachy>
XML1 5th ed. sounds ok. Although I haven't read the spec, I assume new documents written that contain previously forbidden characters will fail well formedness checks in older parsers.
21:03
<Lachy>
I don't see that as a major problem, but there will be a significant transitional period
21:59
<gsnedders>
Lachy: your assumption is correct
21:59
<gsnedders>
Lachy: I doubt it'll take wrong, basically change 1.1 mode into 1.x mode
22:07
<jgraham_>
gsnedders: The relevant timescale is not the time to implement but the time for existing deployments to be updated
22:07
<jgraham_>
(asumming you meant s/wrong/long/)
22:11
<Philip`>
It'll be fun for people who try to be careful and do well-formedness checks before passing user-provided data into some backend system
22:28
<gsnedders>
jgraham_: yeah, I did
22:28
<gsnedders>
I'm too tired to typ
22:28
<gsnedders>
*type
22:32
<sayrer>
I have a way to work around the XHR issues that Microsoft has
22:32
<sayrer>
new XMLHttpRequest('<meta http-equiv="X-UA-Compatible" content="IE=8" />')
22:32
<sayrer>
that will trigger their compatibility mode
22:33
<Philip`>
Uh, how is that meant to work?
22:34
<sayrer>
perfectly!
22:35
<Philip`>
Oh, okay
22:35
<Philip`>
By what mechanism is that meant to work perfectly?
22:35
<sayrer>
AJAX
22:36
<Philip`>
*confused* :-(
22:37
<Philip`>
I still think Microsoft should run a database of all web pages to say what IE-compatibility mode they should be rendered with
22:38
<Philip`>
They've already got the right infrastructure from the phishing filter
22:40
<jgraham_>
Philip`: Given much of the problem is with intranet pages...
22:53
<annevk>
sayrer :)
23:10
Philip`
's adoption agency appears to run forever
23:12
<annevk>
infinite childs
23:14
<takkaria>
not too unlike real life, then
23:17
<annevk>
pfff
23:17
<annevk>
i don't quite get this accountability thread
23:21
<annevk>
-> bed
23:22
<jgraham_>
Philip`: I think the html5lib adoption agency encountered a spec bug at first but it was fixed iirc
23:39
<Lachy>
nice. WebKit adds support for selectors api http://webkit.org/blog/156/queryselector-and-queryselectorall/
23:42
<othermaciej>
oh yeah we should have mentioned that sooner
23:42
<othermaciej>
weinig had some comments about the spec actually but I don't think he submitted them to the webapi list
23:42
othermaciej
glares at weinig
23:44
<othermaciej>
Lachy: I think his particular comment was that being able to preflight a selector as one the engine could handle might be more convenient for JS libraries that would wrap this than the exception on syntax error
23:44
<othermaciej>
Lachy: since browser selector support may be variable, and libraries would want to fill in the holes
23:45
<aroben>
othermaciej: I think it didn't get announced until we passed the css3.info selector test
23:45
<aroben>
othermaciej: for exactly the reason of not wanting to be less capable than the JS libraries
23:46
<aroben>
othermaciej: since they don't have an easy way of know what we support
23:46
<aroben>
knowing
23:46
<othermaciej>
aroben: many JS libraries support nonstandard extensions to Selectors anyway
23:46
<aroben>
othermaciej: oh?
23:47
<othermaciej>
yeah
23:47
<othermaciej>
so either way they'll want to dispatch to a native implementation only conditionally
23:47
<othermaciej>
but I actually thing try/catch might be an ok way to achieve that
23:49
<aroben>
othermaciej: yeah, it's not so bad
23:51
Philip`
tries running through the adoption agency manually, and finds that it still loops infinitely...