Options:
- # Session Start: Sat May 03 00:00:01 2008
- # Session Ident: #whatwg
- # [00:19] <Hixie> man i wish anne would provide an obvious link to the editor's copies of his drafts on the TR versions
- # [00:19] <Hixie> i can never find the latest versions of his specs
- # [00:22] <Hixie> christ dev.w3.org is such a mess
- # [00:22] <Hixie> how am i supposed to guess that access-control is a waf spec, and how am i supposed to guess the waf was created in 2006?
- # [00:26] <Hixie> hrm
- # [00:26] <Hixie> did we remove the ability to opt-in to certain methods?
- # [00:27] <Hixie> i guess we did
- # [00:28] <Lachy> Hixie, have you been following the selectors api thread about :scope vs. other methods?
- # [00:28] <Hixie> yeah
- # [00:28] <Lachy> what's your opinion on the issue?
- # [00:29] <Hixie> i don't understand the issue
- # [00:29] <Hixie> i mean, i understand what is being requested
- # [00:29] <Hixie> i don't understand the use case
- # [00:30] <Lachy> there are several use cases that need to be addressed.
- # [00:30] <Hixie> i agree that a pseudo-class that matches the context node might be useful, but it seems like a v2 thing
- # [00:30] <Lachy> yeah, that was the original plan
- # [00:30] <Hixie> i don't agree with changing selectors to only look at nodes at the context plan or lower
- # [00:30] <Hixie> that seems silly
- # [00:30] * Quits: qwert666_ (n=qwert666@acdf242.neoplus.adsl.tpnet.pl) ("Leaving")
- # [00:31] <Lachy> yeah, that's what I think. But it is the behaviour of current JS library versions
- # [00:31] <Hixie> so? this doesn't stop them existing
- # [00:31] <Hixie> not my fault they are all buggy...
- # [00:31] <Lachy> yeah, I guess.
- # [00:33] <Lachy> JohnResig, yt?
- # [00:34] <JohnResig> Lachy: what's up?
- # [00:36] <Lachy> I don't see what problem is being solved by changing the API, that won't be solved by adding :scope in the near future
- # [00:36] <Hixie> (:scope is a terrible name btw)
- # [00:36] <Hixie> (imho!)
- # [00:36] <Lachy> Hixie, any better suggestion?
- # [00:36] <Hixie> sadly not
- # [00:36] <Hixie> so i'm afraid i'm not much help
- # [00:36] <Hixie> :-)
- # [00:36] <Lachy> so far the options are :self, :this, or :scope
- # [00:36] <Hixie> :context-node
- # [00:36] <Hixie> :current
- # [00:37] <Lachy> yeah, they could work
- # [00:37] <Hixie> :query-root
- # [00:37] <Hixie> i dunno
- # [00:37] <Hixie> i guess it doesn't matter that much
- # [00:37] <Hixie> i do like the :query-root name, since this is similar to :root in many ways
- # [00:37] <Hixie> indeed some people suggested just using :root
- # [00:37] <Hixie> which i disagree with
- # [00:37] <Hixie> but i see the logic
- # [00:38] <Lachy> naming debates are fun :-)
- # [00:38] <Hixie> the final decision is up to you obviously
- # [00:38] <Lachy> that's what I thought the last time I was in a naming debate
- # [00:38] <Hixie> i'm just throwing in my twopence or however you spel that
- # [00:38] <Hixie> yeah well
- # [00:38] <JohnResig> Lachy: so you're perfectly happy with Safari, Opera, Firefox, and Internet Explorer all shipping with no way of finding child (or adjancent) elements and returning inconsistent results? and everyone being stuck with using that broken method for years to come?
- # [00:39] <Hixie> the w3c hasn't quite caught up with the 21st century yet
- # [00:39] <Lachy> JohnResig, why couldn't we spec and ship with support for :scope, in the same time it would take to change the API?
- # [00:39] <Hixie> why would they be inconsistent results?
- # [00:40] <Hixie> and how is there no way to find child or adjacent elements?
- # [00:40] <Hixie> i guess it would help to see the use cases
- # [00:40] <JohnResig> Hixie: note the examples that I provided in the thread - finding elements that are globally-rooted rather than contextually-rooted goes against all previous implementations
- # [00:41] <Hixie> JohnResig: sure, but like i said, it's not my fault all those implementations are buggy
- # [00:41] <JohnResig> Hixie: define "buggy" - "buggy" seems to be "we have better control over the selectors that we can provide"
- # [00:41] <Hixie> buggy as in they don't implement selectors correctly
- # [00:41] <Hixie> selectors aren't rooted at a different tree
- # [00:41] <Lachy> it's easier to add contextually-rooted support later (or at the same time), than it is to add globally-rooted selectors
- # [00:42] <Hixie> but anyway that's not a use case
- # [00:42] <Hixie> that's just past implementations
- # [00:42] <othermaciej> JohnResig: old Safari versions fall to infinitesimal market share pretty quickly
- # [00:42] <Lachy> in fact, it would be impossible to do the latter without introducing a whole new method
- # [00:42] <Hixie> use cases are what i'd like to see
- # [00:42] <othermaciej> JohnResig: at least as to WebKit, I think your concern about old versions is overblown
- # [00:42] <JohnResig> othermaciej: I'm not worried about Safari at all - I'm crazy-concerned about IE
- # [00:42] * Joins: hober (n=ted@unaffiliated/hober)
- # [00:43] <JohnResig> if browsers are released that don't implement :scope then, effectively, developers won't be able to use Element.querySelectorAll in them
- # [00:43] <Hixie> it's trivial to fake :scope
- # [00:43] <JohnResig> oh, is this the fun "add an ID to the element then remove it later" - yeah, that' BS
- # [00:43] <JohnResig> *that's
- # [00:43] <Lachy> yeah, it can be done with an ID selector (even if that ID is temporarily auto-generated by the API
- # [00:44] <Lachy> I know it's not optimal
- # [00:44] <Hixie> it's no more BS than the idea that we need it in the first place :-)
- # [00:44] <JohnResig> except that's something that should be done by the implementation in the first place
- # [00:44] <Hixie> but like i said, i'd need use cases to work out what the actual discussion point is
- # [00:44] <Hixie> arguing about an API design in the absence of use cases is meaningless
- # [00:45] <Hixie> it could be that the best anchor point is the parent's previous sibling for all i know
- # [00:45] <Lachy> JohnResig, do you have some example pages that use the JS libraries in the way you describe?
- # [00:45] <JohnResig> Lachy: using contextual selectors? how many do you want?
- # [00:45] <Hixie> 5 would be nice
- # [00:48] * Quits: jacobolus (n=jacobolu@140.247.156.168)
- # [00:49] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [00:49] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu) (Client Quit)
- # [00:51] <jwalden> Hixie: 'If the scheme is "file:", then the user agent may return a UA-specific origin.' -- there shouldn't be a colon in "file", methinks
- # [00:51] * eseidel_ is now known as eseidel
- # [00:52] <Hixie> you sure?
- # [00:53] <Hixie> i forget if scheme includes the colon or not
- # [00:53] <Hixie> ah it does not
- # [00:53] <Hixie> ok
- # [00:53] <Hixie> i have removed it
- # [00:53] <Hixie> thanks!
- # [00:53] <Hixie> (won't appear in the spec for a while)
- # [00:54] <Philip`> Are contextual selectors in jQuery done with thing.filter('selector')?
- # [00:54] <JohnResig> Here's about 200, give or take, http://www.google.com/codesearch?hl=en&lr=&q=jquery+\.find+-%22New+Wave+JavaScript%22+file%3Ajs%24&btnG=Search
- # [00:55] * Lachy looks...
- # [00:55] <JohnResig> Philip`: those are filters - contextual selectors are done with .find()
- # [00:55] <Philip`> JohnResig: Ah, thanks
- # [00:55] <JohnResig> Lachy: those are only the ones that use .find() - there's a bunch that do jQuery("selector", element)
- # [00:56] <JohnResig> this is also ignoring the ones that are used in jQuery directly - and ones that are used by other frameworks
- # [00:57] <JohnResig> some of these queries won't be applicable to querySelectorAll (unless, of course, it's made to work on document fragments)
- # [00:57] <Lachy> what's the difference between .find() and jQuery("selector", element)?
- # [00:57] <JohnResig> Lachy: there is none - they're identical
- # [00:58] <JohnResig> doing jQuery("selector", element) just maps to jQuery(element).find("selector")
- # [00:58] <Philip`> The first few I find via dmoz.org are ...
- # [00:58] <Philip`> http://www.dorez.com/ - $(this).find("+ ul")
- # [00:58] <Philip`> http://www.queens.edu/athletics/wvolleyball/home.asp - $("#nav").superfish(...).find(">li[ul]")
- # [00:58] <Philip`> http://www.fortdalles.com/ - $(this).find("a")
- # [00:58] <Philip`> (plus another dozen or so)
- # [00:58] <JohnResig> the second one is using an old version of jQuery - but the other two are applicable
- # [00:59] <JohnResig> the second one would be written .find("> li:has(ul)")
- # [00:59] <JohnResig> Philip`: what's the search that you used?
- # [01:00] <Lachy> .find("+ ul") one couldn't work even with :scope, or any other proposed solution, since .querySelector only returns descendant nodes
- # [01:01] <JohnResig> as the spec is written, that is
- # [01:02] * Quits: aaronlev (n=chatzill@pD9E4DF68.dip.t-dialin.net) ("ChatZilla 0.9.81 [Firefox 3.0pre/2008050206]")
- # [01:03] <Lachy> I'm not even sure how it could be rewritten to add the ability, and doing so would add a significant amount of development time for both the spec and implementations
- # [01:03] <Philip`> Hmm, I also found one duplicate of the superfish script, and two of the find("a") script, and the rest are:
- # [01:03] <Philip`> http://cafe.daum.net - $(this).find("CONTENT")
- # [01:03] <Philip`> http://www.abenteuer-reisen.de/wg/ph/ http://www.abenteuer-reisen.de/wg/cv/wg_cv__rf00__index.htm - $(this).find("option:selected")
- # [01:03] <Philip`> http://www.mat.uni.torun.pl/wosp2001/ - portlet.find('.portlet-content-container')
- # [01:03] <Philip`> http://www.rodgersinstruments.com/ - $(this).find("a[@class='active']")
- # [01:03] <Philip`> http://www.dostavka.ru/ - $node.find("div.node_ajax")
- # [01:03] <Lachy> $(this).find("a") works with the current API
- # [01:04] <Philip`> (or at least that's what they were two months ago - at least the last of those sites has changed now)
- # [01:04] <Philip`> JohnResig: I downloaded ~130K pages that were listed on dmoz.org a couple of months ago, then grepped for /\.find\(["']/
- # [01:05] <JohnResig> Philip`: ah, neat
- # [01:05] <Lachy> so the proposed changes are only relevant when one wants to acquire either a child node of the context node (":scope>*") or using descendant combinators, such that all parts of the selector only match elements within the context (":scope foo bar")
- # [01:08] <Lachy> with the current spec, only the last simple selector in the sequence needs to match an element within context, whereas all others can match any ancestors or previous siblings (depending on the combinators)
- # [01:08] <Philip`> JohnResig: Just in case it's of any interest: Of those 130K pages, http://philip.html5.org/misc/jquery-pages.txt lists the ones matching /<script[^>]*jquery/
- # [01:08] <JohnResig> Philip`: neat - thanks!
- # [01:08] <Hixie> ":scope>*" isn't a valid use case for this, that's what the element traversal stuff is for
- # [01:09] <JohnResig> Hixie: but :scope > div.foo.bar[baz] is totally valid here
- # [01:09] <Hixie> yeah, what's the page that does that?
- # [01:10] <Hixie> most seem to just do a single simple selector chain
- # [01:10] <Hixie> or whatever the term is these days
- # [01:10] <Lachy> Philip`, I only used * in :scope>* because I was referring to the general case
- # [01:10] <Hixie> no combinators, i mean
- # [01:10] <Philip`> Lachy: s/Philip`/Hixie/ ?
- # [01:10] <Hixie> oh
- # [01:10] <JohnResig> here's one with at least two: jQuery(element.form || document).find('[@name=' + element.name + ']:checked')
- # [01:10] * Quits: KevinMarks (n=KevinMar@nat/google/x-cb0ae3bf536e2097) ("The computer fell asleep")
- # [01:11] <Hixie> that would work fine
- # [01:11] <Hixie> there's no combinator there
- # [01:11] <Lachy> Hixie, there are a couple that I have seen using .find(">x")
- # [01:11] <Hixie> Lachy: interesting syntax
- # [01:11] <Lachy> yeah, it's the equivalent to ":scope>x"
- # [01:12] <Hixie> right
- # [01:12] <Lachy> and it's the one I'm not sure how to solve without :scope
- # [01:12] <Hixie> seems like most of them don't do this
- # [01:12] <Hixie> which would suggest it's not a high prioprity
- # [01:12] <JohnResig> jQuery("> tbody:first/tr",o).find("> td:eq(" + COLUMN_LAST_INDEX + ")")
- # [01:12] <Hixie> priority
- # [01:12] <JohnResig> Hixie: they don't do it because it's slow - the point of this whole new API is to make it fast
- # [01:13] <JohnResig> if we're not striving to make things faster - that pure JS can't make faster - then there's really no point
- # [01:13] <Hixie> this data suggests many people use the api, just not with combinators
- # [01:13] <Hixie> i've no idea what "tbody:first/tr" is supposed to match
- # [01:13] <Lachy> nor do I.
- # [01:13] <Hixie> but it certainly won't work with the api anyway, so that again isn't an argument in favour of this
- # [01:13] <Hixie> i have to go to another building, but i'll be on irc again briefly
- # [01:13] * Joins: tantek (n=tantek@131.107.204.126)
- # [01:14] <Hixie> s/briefly/momentarily/
- # [01:14] <JohnResig> sure it is - we support some simple XPath expressions - we map them to CSS before parsing
- # [01:14] <Lachy> ok, so it tbody/tr the same as "tbody tr" or "tbody>tr"?
- # [01:14] <JohnResig> "tbody>tr"
- # [01:15] <Philip`> How would you do :eq with the Selectors API?
- # [01:16] <JohnResig> Philip`: we wouldn't - we'd have to fall back - which is why I've been arguing for good error reporting so that we can actually fallback gracefully
- # [01:16] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [01:16] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu) (Client Quit)
- # [01:17] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [01:19] <Philip`> Is this almost like Array.forEach(o.querySelector('tbody').querySelectorAll('tr'), function (tr) { var td = tr.querySelectorAll('td')[COLUMN_LAST_INDEX]; foo(td) }) ?
- # [01:19] <Lachy> JohnResig, without :scope, how would you propose the API work to find child nodes of the context node in the following scenario?
- # [01:19] <Philip`> (Oh, except that won't work with nested tables)
- # [01:19] * Quits: billmason (n=billmaso@ip96.unival.com) (Read error: 104 (Connection reset by peer))
- # [01:20] <JohnResig> Philip`: roughly, yeah - it would seem!
- # [01:20] <Lachy> <div id=foo>A <div>B <div>C</div> B</div> A</div>
- # [01:21] <JohnResig> Lachy: without scope, just look for the front-leading >. I'm not really sure what the purpose of introducing :scope is if there's only one combinator that it'll work on
- # [01:21] <Lachy> with foo.querySelectorAll("..."); how would you find all child divs (the ones labelled B)
- # [01:21] <Philip`> After the querySelector('tbody'), it wants some way to find all the <tr>s that are direct children of that particular <tbody> (and not e.g. children of a tbody which is a descendant of that first tbody)
- # [01:21] <Lachy> because ">div" is an invalid selector
- # [01:21] <JohnResig> Lachy: unless it's defined to be valid
- # [01:21] <Lachy> and allowing that would require redefining the selector syntax
- # [01:22] <JohnResig> Lachy: new syntax is already being defined with :scope - it's not a leap of imagination
- # [01:22] <Lachy> the difference is :scope doesn't require chaning the grammar
- # [01:22] <Lachy> it's just another pseudo class
- # [01:23] <jgraham_> FWIW selectors like ">div" strike me as a bad idea
- # [01:23] <othermaciej> Lachy, JohnResig: since you're both here...
- # [01:23] <othermaciej> I was going to suggest on the list that there could be queryScopedSelector()
- # [01:23] <JohnResig> Lachy: but yeah, with the current spec, it's impossible to reliably find the <div>B one
- # [01:23] <othermaciej> which implicitly prepends ":scope "
- # [01:24] <othermaciej> and that might be what JS libraries want to use
- # [01:24] <JohnResig> othermaciej: I'd contend that it's what users want to use
- # [01:24] <othermaciej> at least that would clarify that it is using a different notion of a "scoped selector" instead of standard slector grammar and semantics
- # [01:24] <othermaciej> JohnResig: is that feedback in favor of or against my suggestion?
- # [01:25] <JohnResig> othermaciej: I think it's fine if it's implied - I just think that querySelectorAll should do that to begin with.
- # [01:25] <Lachy> othermaciej, are you suggesting that .queryScopedSelector(">div") implicitly becomes ":scope >div"?
- # [01:26] <Philip`> Does HTML5's <style scoped> have exactly the same issues?
- # [01:26] <othermaciej> Lachy: yes
- # [01:26] <Lachy> Philip`, yeah, introducing :scope addresses use cases for that too
- # [01:26] <JohnResig> othermaciej: I'm also assuming that there'd be .queryScopedSelectorAll and .queryScopedSelector?
- # [01:26] <othermaciej> Lachy: similarly, queryScopedSelector("div") becomes queryScopedSelector(":scope div")
- # [01:27] <othermaciej> Lachy: sorry, just querySelector the second time
- # [01:27] <othermaciej> JohnResig: presumably, yes
- # [01:27] * Quits: tantek (n=tantek@131.107.204.126)
- # [01:28] <othermaciej> JohnResig: the de facto syntax for selectors supported by JS library query APIs does not match standard selectors, and I am not sure changing the core selector syntax is the way to go, but I think this could be a plausible workaround that gives a simple well-defined notion of a "scoped selector"
- # [01:28] * Quits: roc (n=roc@121-72-173-175.dsl.telstraclear.net)
- # [01:28] <othermaciej> with grammar and semantics that better match JS libraries
- # [01:29] <othermaciej> of course there is still the fact that JS libraries support some extensions that CSS3 Selectors expressly forbids, which maybe should be handled by extending Selectors (things like ":not(a > b)")
- # [01:29] <othermaciej> I'm not sure what all the differences are
- # [01:31] <Lachy> I guess there's one advantage to introducing a separate method is that is allows libraries to test for it like: if (element.queryScopedSelector) {... }
- # [01:31] <JohnResig> I'm just completely confused as to why this wasn't done in the first place - and why it's not the default. Alternatively, I'd like to propose that querySelectorAll("selector") be equivalent to .queryGlobalSelector(":scope selector") (changing the primary querySelectorAll method to actually match precedence)
- # [01:32] <othermaciej> JohnResig: we had lots of input from UA implementors and CSS experts, but not so much from JS library authors or AJAX developers, when drafting the spec
- # [01:33] <JohnResig> :-|
- # [01:33] <othermaciej> so I think everyone assumed that normal selector syntax and semantics were what is desired
- # [01:33] <Lachy> I certainly assumed that
- # [01:33] <Lachy> while I was aware of the problem, I wasn't aware it was such a priority
- # [01:33] <Lachy> and assumed that it could be safely left to v2 and solved with :scope
- # [01:35] <othermaciej> in fact queryScopedSelector could even be defined without Selectors defining ":scope" first, because it could say it acts as if an unspecified simple selector uniquely matching the scope element is prepended
- # [01:36] <othermaciej> (I guess to each selector in a group of selectors, not just stringwise)
- # [01:36] <othermaciej> (since you want comma to work as expected)
- # [01:36] <othermaciej> so UAs could use an arbitrary mechanism to achieve that, and ":scope" can be added to the CSS Selectors spec later
- # [01:37] * Quits: hober (n=ted@unaffiliated/hober) ("ERC Version 5.3 (IRC client for Emacs)")
- # [01:38] <Lachy> ok, I'll think about it.
- # [01:38] <JohnResig> othermaciej: it seems like it would be better to not overload that method and, instead, provide a primary filtering method .filterSelector("div.class")
- # [01:38] <JohnResig> othermaciej: of course, that's more useful if the method also exists on DOMNodeLists
- # [01:39] <Lachy> I'm not sure how .filterSelector would work on anything but NodeLists
- # [01:39] <othermaciej> for NodeLists you obviously can't support scoped selectors
- # [01:39] <Lachy> but then, as I wrote in the email, I really need to see the use cases for it
- # [01:40] <othermaciej> I'm not sure what filterSelector does
- # [01:40] <Lachy> indeed. .filterSelector() would have to use the global context
- # [01:40] <Lachy> othermaciej, it takes a NodeList and evaluates the selector against the element in the context of the document
- # [01:41] <Lachy> and returns all matching elements
- # [01:41] <othermaciej> that's sorta the same thing as querySelectorAll, as currently defined
- # [01:41] <othermaciej> isn't it?
- # [01:42] <Lachy> it's not quite, but the reason I need use cases for it is because I can't see what it can solve that querySelectorAll can't
- # [01:42] * Joins: tantek (n=tantek@131.107.204.126)
- # [01:43] <othermaciej> is it that it can only match immediate children?
- # [01:44] <othermaciej> I guess thinking about it, querySelectorAll on a NodeList seems kind of weird
- # [01:44] <othermaciej> when would you want to do selector matching on a list of DOM subtrees?
- # [01:44] <Lachy> ok, so the advantages for queryScopedSelector/queryScopedSelectorAll() are: 1. Doesn't break the existing API, 2. Can be tested for by scripts, 3. Doesn't depend upon :scope being defined immediately
- # [01:44] <othermaciej> seems more likely you'd want to do it on a list of actual nodes
- # [01:45] <Lachy> othermaciej, I think your interpretation of how it would work is different from mine
- # [01:46] <Lachy> or I'm not sure what you meant by "selector matching on a list of DOM subtrees?"
- # [01:46] <othermaciej> Lachy: I am not sure how you see it working either
- # [01:46] <Lachy> ok, consider this:
- # [01:46] <othermaciej> I am drawing conclusions based on you saying filterSelector and querySelector all would be different
- # [01:46] <othermaciej> here is what I assumed the difference is:
- # [01:46] <Lachy> var list = document.getElementsByTagName("div");
- # [01:46] <othermaciej> filterSelector - can only match items actually in the node list, not their descendants
- # [01:47] <Lachy> var list2 = list.filterSelector(".foo");
- # [01:47] <othermaciej> querySelectorAll - can match items in the node list, or any of their descendants
- # [01:47] <Lachy> list 2 contains all the divs from the first list that had a class of foo
- # [01:47] <Lachy> basically, the result is the same as querySelectorAll("div.foo")
- # [01:47] <othermaciej> that seems to match my interpretation of filterSelector
- # [01:47] <Lachy> which is useless
- # [01:48] <Lachy> ok, good
- # [01:48] <othermaciej> Is my understanding of how NodeList.querySelectorAll would differ correct?
- # [01:49] <othermaciej> I can see how you could do things with filterSelector + querySelectorAll that can't be done with just QSA
- # [01:49] <Lachy> I assumed they would were just different possible names for the same thing.
- # [01:49] <othermaciej> for instance:
- # [01:49] <Lachy> I didn't think there were 2 separate suggestions
- # [01:50] <othermaciej> var list = document.querySelectorAll("div *")
- # [01:50] <othermaciej> var list2 = list.filterSelector("section *")
- # [01:50] <othermaciej> list 2 is all elements contained in both a div and a section, in either order
- # [01:50] <othermaciej> no, I guess I am wrong
- # [01:51] <othermaciej> you could instead query for "div section *, section div *"
- # [01:51] <Lachy> oh yeah, that's right. It's sort of like the :matches() proposal in Selectors
- # [01:51] <othermaciej> but with many independent conditions you could get a huge explosion of selector length
- # [01:51] <othermaciej> and maybe some trickier case is not trivially convertible to a group of two selectors
- # [01:52] <Lachy> yeah, I'm sure there are some rather complicated cases that it could simplify. But are there any such use cases that people are actually attempting?
- # [01:52] <othermaciej> you might also want to do foo.childNodes.filterSelector(), but queryScopedSelectorAll could do that
- # [01:52] <othermaciej> I dunno
- # [01:52] <othermaciej> I am just trying to understand it
- # [01:56] * Quits: tndH (i=Rob@adsl-87-102-36-33.karoo.KCOM.COM) ("ChatZilla 0.9.81-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [01:59] * Quits: kingryan (n=ryan@c-24-5-77-167.hsd1.ca.comcast.net)
- # [02:02] <Lachy> I think that would mean foo.queryScopedSelectorAll("div").filterSelector("section *"); would be equivalent to foo.querySelector("section div");
- # [02:03] <othermaciej> Lachy: I think that's right
- # [02:06] <Lachy> queryScopedSelector() would need to prepend ":scope " (or equivalent magical selector) to evey sequence of simple selectors, so "strong, em" became ":scope strong, :scope em"
- # [02:07] <othermaciej> right
- # [02:10] <Lachy> ok, I've got a lot too think about and a lot more to do. I have to find out if IE, Mozilla and Opera would be willing and able to implement queryScopedSelector, then define it, and still evaluate whether or not it really is the best solution to go for
- # [02:18] * Joins: kevogod (n=Kevin@network185-253.wctc.net)
- # [02:21] * Quits: eseidel (n=eseidel@72.14.224.1)
- # [02:23] <hasather> Hixie: seen this: http://xiphmont.livejournal.com/31209.html
- # [02:35] * Quits: tantek (n=tantek@131.107.204.126)
- # [02:43] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [02:44] <Lachy> queryScopedSelector() won't work as easily as I initially thought. :-(
- # [02:44] <Lachy> Consider this:
- # [02:45] <Lachy> foo.queryScopedSelector(">strong, >em");
- # [02:46] <Lachy> I would basically need to define a special grammar for selectors used in this method in a way that is compatible with normal selectors, and doesn't break forwards compatibility
- # [02:46] <Lachy> it's basically a complete nightmare
- # [02:49] <Hixie> hsivonen: that doesn't look like the kind of stuff i'd write
- # [02:49] <Hixie> i don't even known how to spell antithesis
- # [02:51] <kevogod> I remember reading something about that months ago.
- # [02:52] <kevogod> http://64.233.167.104/search?q=cache:VvbdPyHxdxAJ:ventnorsblog.blogspot.com/2008/04/rated-p-for-proprietary.html%3FshowComment%3D1209354480000+The+distinction+between+the+video+format+war+and+the+browser+war&hl=en&ct=clnk&cd=2&gl=us&client=firefox-a
- # [02:52] <Hixie> yeah i just posted a link to that
- # [02:52] <kevogod> Oh, sorry.
- # [02:53] <kevogod> I am curious how "Michael" became Hixie.
- # [02:54] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [02:54] <Lachy> Hixie, I was wondering why the article implied you no longer had a blog.
- # [03:06] <Philip`> kevogod: The keys are like right next to each other
- # [03:06] <kevogod> Philip`, True, I can see how the mistake was made.
- # [03:09] * Quits: andersca (n=andersca@nat/apple/x-b0d6d6e6d81f9058) ("a")
- # [03:20] * Joins: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net)
- # [03:30] * Quits: Camaban (n=alee@85-211-222-146.dyn.gotadsl.co.uk) ("Ex-Chat")
- # [03:39] * Quits: syp_ (n=syp@lasigpc9.epfl.ch) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: weinig (n=weinig@17.203.15.172) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: gsnedders (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: deltab (n=deltab@82-36-30-34.cable.ubr02.smal.blueyonder.co.uk) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: jgraham_ (n=jgraham@81-86-215-216.dsl.pipex.com) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: takkaria (n=takkaria@isparp.co.uk) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: bradee-oh (n=bradeeoh@web7.webfaction.com) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: mcarter (n=mcarter@pool-72-87-174-185.plspca.dsl-w.verizon.net) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: YaaL (i=yaal@hell.pl) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: gavin (n=gavin@firefox/developer/gavin) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: hsivonen (n=hsivonen@kekkonen.cs.hut.fi) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: jeremyb (n=jeremy@unaffiliated/jeremyb) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: jmb (n=jmb@login.ecs.soton.ac.uk) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: alp (n=alp@host-84-9-46-160.dslgb.com) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: starjive (i=beos@213-66-217-32-no30.tbcn.telia.com) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: wakaba (n=w@180.165.210.220.dy.bbexcite.jp) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: Lachy (n=Lachlan@85.196.122.246) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: heycam (n=cam@124-168-117-1.dyn.iinet.net.au) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: sverrej (n=sverrej@89.10.27.86) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: fearphage (n=fearphag@xbmc/user/fearphage) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: didymos (i=jho@rapwap.razor.dk) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: inimino (n=inimino@atekomi.inimino.org) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: hendry (n=hendry@nox.vm.bytemark.co.uk) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: kevogod (n=Kevin@network185-253.wctc.net) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: dbaron (n=dbaron@corp-241.mountainview.mozilla.com) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: mahound (n=mahound@87-196-11-150.net.novis.pt) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: mpt (n=mpt@canonical/launchpad/mpt) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: Kuruma (n=Kuruman@h123-176-107-050.catv01.catv-yokohama.ne.jp) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: Hixie (i=ianh@trivini.no) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: tomg (n=ntom@unable.to.resolve.host.name) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: gavin_ (n=gavin@firefox/developer/gavin) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: ianloic (i=yakk@glub.dreamhostps.com) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: Yudai (n=Yudai@p9258c3.kngwnt01.ap.so-net.ne.jp) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: doublec (n=ChrisDou@li5-223.members.linode.com) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: JohnResig (n=jresig@c-76-118-158-44.hsd1.ma.comcast.net) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: MikeSmith (n=MikeSmit@58.157.21.205) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Quits: bzed (n=bzed@debian/developer/bzed) (anthony.freenode.net irc.freenode.net)
- # [03:39] * Joins: shepazu (n=schepers@124.226.115.11)
- # [03:39] * Joins: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net)
- # [03:39] * Joins: kevogod (n=Kevin@network185-253.wctc.net)
- # [03:39] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [03:39] * Joins: dbaron (n=dbaron@corp-241.mountainview.mozilla.com)
- # [03:39] * Joins: weinig (n=weinig@17.203.15.172)
- # [03:39] * Joins: mahound (n=mahound@87-196-11-150.net.novis.pt)
- # [03:39] * Joins: gsnedders (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com)
- # [03:39] * Joins: mcarter (n=mcarter@pool-72-87-174-185.plspca.dsl-w.verizon.net)
- # [03:39] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [03:39] * Joins: Lachy (n=Lachlan@85.196.122.246)
- # [03:39] * Joins: jmb (n=jmb@login.ecs.soton.ac.uk)
- # [03:39] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [03:39] * Joins: YaaL (i=yaal@hell.pl)
- # [03:39] * Joins: heycam (n=cam@124-168-117-1.dyn.iinet.net.au)
- # [03:39] * Joins: syp_ (n=syp@lasigpc9.epfl.ch)
- # [03:39] * Joins: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
- # [03:39] * Joins: deltab (n=deltab@82-36-30-34.cable.ubr02.smal.blueyonder.co.uk)
- # [03:39] * Joins: alp (n=alp@host-84-9-46-160.dslgb.com)
- # [03:39] * Joins: Kuruma (n=Kuruman@h123-176-107-050.catv01.catv-yokohama.ne.jp)
- # [03:39] * Joins: sverrej (n=sverrej@89.10.27.86)
- # [03:39] * Joins: JohnResig (n=jresig@c-76-118-158-44.hsd1.ma.comcast.net)
- # [03:39] * Joins: MikeSmith (n=MikeSmit@58.157.21.205)
- # [03:39] * Joins: Hixie (i=ianh@trivini.no)
- # [03:39] * Joins: jgraham_ (n=jgraham@81-86-215-216.dsl.pipex.com)
- # [03:39] * Joins: takkaria (n=takkaria@isparp.co.uk)
- # [03:39] * Joins: bradee-oh (n=bradeeoh@web7.webfaction.com)
- # [03:39] * Joins: fearphage (n=fearphag@xbmc/user/fearphage)
- # [03:39] * Joins: tomg (n=ntom@unable.to.resolve.host.name)
- # [03:39] * Joins: bzed (n=bzed@debian/developer/bzed)
- # [03:39] * Joins: gavin (n=gavin@firefox/developer/gavin)
- # [03:39] * Joins: gavin_ (n=gavin@firefox/developer/gavin)
- # [03:39] * Joins: ianloic (i=yakk@glub.dreamhostps.com)
- # [03:39] * Joins: didymos (i=jho@rapwap.razor.dk)
- # [03:39] * Joins: starjive (i=beos@213-66-217-32-no30.tbcn.telia.com)
- # [03:39] * Joins: inimino (n=inimino@atekomi.inimino.org)
- # [03:39] * Joins: wakaba (n=w@180.165.210.220.dy.bbexcite.jp)
- # [03:39] * Joins: hsivonen (n=hsivonen@kekkonen.cs.hut.fi)
- # [03:39] * Joins: Yudai (n=Yudai@p9258c3.kngwnt01.ap.so-net.ne.jp)
- # [03:39] * Joins: jeremyb (n=jeremy@unaffiliated/jeremyb)
- # [03:39] * Joins: hendry (n=hendry@nox.vm.bytemark.co.uk)
- # [03:39] * Joins: doublec (n=ChrisDou@li5-223.members.linode.com)
- # [03:50] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
- # [03:50] * Quits: heycam (n=cam@124-168-117-1.dyn.iinet.net.au) ("bye")
- # [03:50] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [03:54] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
- # [03:56] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [04:04] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [04:04] * Quits: dbaron (n=dbaron@corp-241.mountainview.mozilla.com) ("8403864 bytes have been tenured, next gc will be global.")
- # [04:04] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 110 (Connection timed out))
- # [04:08] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [04:38] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
- # [04:41] * Quits: shepazu (n=schepers@124.226.115.11) ("Core Breach")
- # [04:43] * Joins: roc (n=roc@121-72-173-175.dsl.telstraclear.net)
- # [04:47] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [04:52] * Joins: heycam (n=cam@clm-laptop.infotech.monash.edu.au)
- # [04:55] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
- # [04:55] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [05:03] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [05:07] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [05:08] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu) (Client Quit)
- # [05:09] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [05:10] * Joins: mahound_ (n=mahound@87-196-74-174.net.novis.pt)
- # [05:10] * Quits: kevogod (n=Kevin@network185-253.wctc.net) ("Leaving")
- # [05:13] * Quits: jwalden (n=waldo@RANDOM-THREE-O-EIGHT.MIT.EDU) (Remote closed the connection)
- # [05:15] * Joins: tantek (n=tantek@70-13-31-67.area2.spcsdns.net)
- # [05:20] * Quits: tantek (n=tantek@70-13-31-67.area2.spcsdns.net) (Client Quit)
- # [05:29] * Quits: mahound (n=mahound@87-196-11-150.net.novis.pt) (Read error: 110 (Connection timed out))
- # [05:50] * Quits: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net)
- # [06:13] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [06:17] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [06:24] * Joins: heyadayo2 (n=mcarter@pool-72-87-174-120.plspca.dsl-w.verizon.net)
- # [06:26] * Quits: mcarter (n=mcarter@pool-72-87-174-185.plspca.dsl-w.verizon.net) (Read error: 110 (Connection timed out))
- # [06:36] * Joins: Facedown (n=HELLO@c-68-48-58-38.hsd1.md.comcast.net)
- # [06:36] <Facedown> positioned elements (other than static) have a higher stacking order than floated non-positioned elements (z-index not explicitly set) , dont they?
- # [06:49] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [06:50] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [07:15] <roc> yes
- # [07:17] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [07:21] <Facedown> have you run into any IE specific issues where IE does not honor the rightful stacking order, roc?
- # [07:21] <roc> IE treats z-index:auto as z-index:0 IIRC
- # [07:21] <roc> not sure about any other stacking order bugs
- # [07:22] <roc> I hardly ever use IE :-)
- # [07:22] <Facedown> no self proclaimed web dev would ever personally use it.. but clients..
- # [07:22] <roc> I work on Firefox. I don't have clients :-)
- # [07:23] <Facedown> heh
- # [07:36] * Quits: weinig (n=weinig@17.203.15.172)
- # [07:38] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [07:43] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [07:46] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [08:18] * Quits: roc (n=roc@121-72-173-175.dsl.telstraclear.net)
- # [08:44] * Joins: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp)
- # [08:51] * Joins: roc (n=roc@121-72-173-175.dsl.telstraclear.net)
- # [08:58] * Quits: heycam (n=cam@clm-laptop.infotech.monash.edu.au) ("bye")
- # [09:02] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [09:07] * Quits: roc (n=roc@121-72-173-175.dsl.telstraclear.net)
- # [09:13] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [09:13] * Joins: heycam (n=cam@124-168-117-1.dyn.iinet.net.au)
- # [10:07] * Joins: roc (n=roc@121-72-173-175.dsl.telstraclear.net)
- # [10:15] * Joins: myakura_ (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp)
- # [10:22] <hsivonen> I wish we could magically make CRLF disappear
- # [10:23] * Joins: qwert666 (n=qwert666@acdf242.neoplus.adsl.tpnet.pl)
- # [10:30] <Facedown> what's CRLF?
- # [10:30] <Facedown> \r\n ?
- # [10:31] * Joins: jgraham (n=james@81-86-215-216.dsl.pipex.com)
- # [10:31] <Facedown> carriage return line feed?
- # [10:31] * Quits: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp) (Read error: 110 (Connection timed out))
- # [10:32] * Quits: jgraham (n=james@81-86-215-216.dsl.pipex.com) (Client Quit)
- # [10:32] * Joins: ROBOd (n=robod@89.122.216.38)
- # [10:38] <hsivonen> Facedown: yes. It's evil.
- # [10:42] * Joins: tndH_ (i=Rob@adsl-87-102-36-33.karoo.KCOM.COM)
- # [10:42] * tndH_ is now known as tndH
- # [10:45] * Joins: fear\phage (n=fearphag@cpe-66-68-52-63.austin.res.rr.com)
- # [10:47] * Quits: fear\phage (n=fearphag@cpe-66-68-52-63.austin.res.rr.com) (Client Quit)
- # [11:01] * Quits: fearphage (n=fearphag@xbmc/user/fearphage) (Read error: 110 (Connection timed out))
- # [11:06] * Joins: tndH_ (i=Rob@adsl-87-102-77-138.karoo.KCOM.COM)
- # [11:07] * Joins: jgraham (n=james@81-86-215-216.dsl.pipex.com)
- # [11:20] <jgraham_> Sigh. Nice of Daniel to post such a well argued, non-inflammatory addition to the alt thread
- # [11:23] * Quits: tndH (i=Rob@adsl-87-102-36-33.karoo.KCOM.COM) (Read error: 110 (Connection timed out))
- # [11:27] * Quits: jgraham (n=james@81-86-215-216.dsl.pipex.com) ("I get eaten by the worms")
- # [11:39] * Joins: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net)
- # [11:40] * Quits: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net) (Remote closed the connection)
- # [11:40] * Joins: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net)
- # [11:40] <Lachy> oh, yeah, cause arguments like "making alt optional in HTML 5 is ridiculous" is exactly the kind of short and to the point arguments we need.
- # [11:48] -myakura_:#whatwg- wonders what wai said to the early html4 wd, in which alt was #IMPLIED http://www.w3.org/TR/WD-html40-970708/struct/includes.html#h-7.7.7
- # [11:52] * Joins: sverrej (n=sverrej@89.10.27.86)
- # [11:55] * jgraham_ ponders the recursive nature of making non-conformance conforming
- # [12:02] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [12:06] * Joins: tantek (n=tantek@c-24-19-2-124.hsd1.mn.comcast.net)
- # [12:08] * Quits: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net)
- # [12:10] * Joins: othermaciej_ (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [12:10] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
- # [12:23] <hsivonen> hmm. perhaps I should just do a preflight on each buffer to get rid of CRLF instead of making the rest of the tokenizer really complex in order to avoid the preflight
- # [12:24] <hsivonen> I don't usually admit to hating things, so I seriously dislike CRLF
- # [12:38] <jgraham_> hsivonen: IIRC we strip out CRLF when we buffer the data
- # [12:39] <jgraham_> (and have a flag to indicate trailing CR in case CRLF is split over two buffers)
- # [12:50] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 110 (Connection timed out))
- # [12:56] * Joins: sverrej (n=sverrej@89.10.27.86)
- # [12:59] * Quits: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net) (anthony.freenode.net irc.freenode.net)
- # [12:59] * Quits: gsnedders (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com) (anthony.freenode.net irc.freenode.net)
- # [13:00] * Joins: gsnedders (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com)
- # [13:00] * Joins: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
- # [13:06] * tndH_ is now known as tndH
- # [13:34] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [13:39] * Quits: mahound_ (n=mahound@87-196-74-174.net.novis.pt) ("Leaving")
- # [13:40] * Joins: webben (n=benh@81.168.10.233)
- # [14:16] * Joins: jgraham (n=james@81-86-215-216.dsl.pipex.com)
- # [14:40] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [15:33] * Quits: heyadayo2 (n=mcarter@pool-72-87-174-120.plspca.dsl-w.verizon.net) (Read error: 110 (Connection timed out))
- # [15:33] * Joins: heyadayo2 (n=mcarter@pool-72-87-174-238.plspca.dsl-w.verizon.net)
- # [15:49] * Quits: roc (n=roc@121-72-173-175.dsl.telstraclear.net)
- # [15:53] * Quits: othermaciej_ (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [16:26] * Joins: maikmerten (n=maikmert@Lbd88.l.pppool.de)
- # [16:28] * Joins: aroben (n=adamrobe@76.111.160.14)
- # [17:07] * Quits: maikmerten (n=maikmert@Lbd88.l.pppool.de) ("Leaving")
- # [17:09] * Joins: KevinMarks (n=KevinMar@c-98-207-134-151.hsd1.ca.comcast.net)
- # [18:20] * Joins: BenMillard (i=cerbera@cpc1-flee1-0-0-cust285.glfd.cable.ntl.com)
- # [18:22] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [18:23] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) (Client Quit)
- # [18:25] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [18:27] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [18:32] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [18:35] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [18:43] * Joins: csarven (n=csarven@dhcp-0-12-17-b8-7b-53.cpe.quickclic.net)
- # [18:49] * Quits: psa (n=yomode@71.93.19.66) (Remote closed the connection)
- # [19:10] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
- # [19:44] * Quits: myakura_ (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
- # [19:44] * Parts: BenMillard (i=cerbera@cpc1-flee1-0-0-cust285.glfd.cable.ntl.com)
- # [19:45] * Quits: csarven (n=csarven@dhcp-0-12-17-b8-7b-53.cpe.quickclic.net) (Read error: 110 (Connection timed out))
- # [19:45] * Joins: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com)
- # [19:48] <jgraham_> So Nvu/KomoZer adds alt="" even when you specify "Don't add alternate text"
- # [19:50] <jgraham_> And adds alt="image filename" if you drag and drop an image file in
- # [19:50] <jgraham_> s/KomoZer/KompoZer/
- # [19:50] <jgraham_> Which clearly sucks
- # [20:06] <Philip`> Maybe it'd be vaguely informative to correlate alt usage with <meta name=generator> values
- # [20:08] * Joins: qwert666_ (n=qwert666@acan160.neoplus.adsl.tpnet.pl)
- # [20:14] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [20:15] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [20:25] * Quits: qwert666 (n=qwert666@acdf242.neoplus.adsl.tpnet.pl) (Read error: 110 (Connection timed out))
- # [20:28] * Joins: aroben (n=adamrobe@76.111.160.14)
- # [20:35] <Facedown> what's the best ftp client anyone here has ever used? (on windows preferably)? filezilla 3 is a memory hog like firefox.. slow as shit
- # [20:40] <Philip`> I use Krusader (on Linux)
- # [20:48] * Quits: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com) ("Ex-Chat")
- # [20:58] * Quits: tantek (n=tantek@c-24-19-2-124.hsd1.mn.comcast.net)
- # [21:23] * Joins: jruderman_ (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
- # [21:23] * Quits: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net) (Read error: 104 (Connection reset by peer))
- # [21:30] * Joins: weinig (n=weinig@17.203.15.172)
- # [21:34] * Joins: tantek (n=tantek@99-203-172-171.area2.spcsdns.net)
- # [21:34] * Joins: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net)
- # [21:35] * Quits: tndH (i=Rob@adsl-87-102-77-138.karoo.KCOM.COM) ("ChatZilla 0.9.81-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [21:37] * Quits: tantek (n=tantek@99-203-172-171.area2.spcsdns.net) (Client Quit)
- # [21:47] * Quits: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net)
- # [21:48] * Joins: tantek (n=tantek@68-25-238-17.area2.spcsdns.net)
- # [21:51] * Joins: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net)
- # [21:59] <Hixie> i wonder why the alt="" people aren't screaming about <object></object>
- # [22:00] <Hixie> which is even worse since it doesn't distinguish between unknown important image and decorative image
- # [22:00] <Philip`> Probably because nobody uses <object> decoratively
- # [22:01] <jgraham_> Probably because nobody uses <object> for images
- # [22:01] <Philip`> and theoretical problems aren't worth worrying about
- # [22:01] <Hixie> well then shouldn't they be arguing that <object> must never be empty?
- # [22:01] <Hixie> what i find interesting is that the longer this argument goes on, the more people are coming out and defending what the spec says
- # [22:01] <Philip`> jgraham_: I use <object> for images, at least twice in my life :-)
- # [22:01] <Philip`> although actually one of those was purely decorative
- # [22:02] <jgraham_> OK "nobody" for large values of "nobody"
- # [22:03] <Philip`> Hixie: That's because people flock to authority, which the spec provides, rather than considering the technical arguments ;-)
- # [22:04] <Lachy> I used <object> for an image once, and I put an <img> inside it as fallback :-)
- # [22:04] <Philip`> Lachy: And an alt on the image as fallback?
- # [22:04] <Lachy> yes
- # [22:04] <Hixie> Philip`: if anyone is being an authority here it's the self-proclaimed accessibility experts who announce their opinions as unquestionable
- # [22:04] <jgraham_> I am quite tempted to say why I think that the Nvu UI encourages bad alt text and required alt encourages Nvu-like UI. But if I do that it will be taken badly...
- # [22:05] <Philip`> The logo on http://canvex.lazyilluminati.com/ does <h1><object><img alt></...>
- # [22:05] <Philip`> which is hopefully sane
- # [22:05] <Lachy> IMHO, Nvu is a really bad editor
- # [22:05] <Hixie> jgraham_: just ask Philip` for a list of pages that have nvu's signature, and do a study
- # [22:06] <jgraham_> Hixie: AFAICT Nvu doesn't have a signature
- # [22:06] <jgraham_> (at least the version that comes with Ubuntu)
- # [22:06] <Hixie> jgraham_: and compare it to a list of pages that have the signature of tools that make it optional and don't complain and see what they're like
- # [22:06] <Hixie> actually this would be an interesting study
- # [22:06] <jgraham_> Hixie: I agree this would be an interesting study
- # [22:06] <Hixie> i should get us a list of pages with various detailed generator strings
- # [22:07] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [22:07] <Hixie> someone remind me later today and i'll see about setting that up
- # [22:07] <Hixie> gotta go now though
- # [22:07] <Philip`> http://philip.html5.org/data/underline-generators.txt was my last attempt at looking at generators
- # [22:07] <Lachy> Hixie, at what time do you want to be reminded?
- # [22:08] <Hixie> Lachy: now + 8 hours
- # [22:08] <Lachy> OK, I'll be asleep by then. Someone else will have to do it
- # [22:09] <Philip`> Google Web History says 5am is not my time of greatest awakeness
- # [22:09] <Hixie> well remind me in 2 hours, i'll be gone then and will see the reminder when i get back :-D
- # [22:10] <Hixie> bbl :-)
- # [22:10] <Philip`> Looking for (?i)generator.*nvu I see one <meta name="GENERATOR" content="NVu"> and one <meta name="generator" content="nvu"> and one <meta name="generator" content="Nvu v1.0">
- # [22:11] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
- # [22:12] <Philip`> I see more pages with <comment title=" ... " xmlns="http://disruptive-innovations.com/zoo/nvu">, which presumably come from some form of interaction with Nvu
- # [22:13] <Philip`> ...where "more" means 8
- # [22:15] * Quits: MacDome (n=eric@c-24-130-11-246.hsd1.ca.comcast.net)
- # [22:16] <Philip`> Hixie: The problem with that kind of study is you have no way of knowing whether use of a particular authoring tool causes bad alt text, rather than some other external influence causing both, so you can't conclude anything
- # [22:17] <Philip`> e.g. maybe people who choose Nvu are more technically competent than those who choose FrontPage, and they'll do better alt text regardless of the editor's UI
- # [22:18] <jgraham_> Philip`: Yeah there are systematic biases in all surveys like this
- # [22:18] <jgraham_> You just have to try and understand them
- # [22:18] <jgraham_> rather than conclude that everything is pointless
- # [22:18] <Philip`> You should try to eliminate them
- # [22:18] <Philip`> and it's only pointless if you find you can't do that :-)
- # [22:19] <jgraham_> Also pasting <comment title=" ... " xmlns="http://disruptive-innovations.com/zoo/nvu">foo</comment> into the source view of KompoZer and then switching back to normal view seems to lock the application up with 100% CPU
- # [22:19] <Philip`> Just because it's not possible to do a good large-scale study, that doesn't mean you should do a bad one and think its conclusions have any relevance to reality
- # [22:20] <jgraham_> Philip`: If you have an idea of what the biases are then you can determine whether they are likely to affect the outcome in the way that you observe
- # [22:21] <jgraham_> e.g. if you think that all Nvu users are more competent than Frontpage users but find that Nvu pages have worse alt text, the effect is most likely real
- # [22:22] <jgraham_> rather than an artifact of the people using the software
- # [22:22] <Philip`> If that happened, it probably just means I didn't have a good idea of the biases
- # [22:22] <Philip`> (If it didn't happen, I still wouldn't think I had a good idea of the biases)
- # [22:23] * Quits: tantek (n=tantek@68-25-238-17.area2.spcsdns.net)
- # [22:23] <Philip`> Maybe Nvu users are less competent than FrontPage users, or maybe there's one extremely prolific Nvu-using author who writes really bad alt text
- # [22:23] <jgraham_> Philip`: You don't make any progress by not doing things because you can't do them perfectly. Of course you should report any problems your study might have
- # [22:25] <Philip`> jgraham_: Indeed, but 'not quite perfect' and 'so far from perfect that the results are meaningless' are not the same
- # [22:26] <jgraham_> Philip`: Of course :) I don't think this study would necessarily produce meaningless results though
- # [22:26] * Joins: aroben (n=adamrobe@76.111.160.14)
- # [22:26] <Philip`> So how could we be sure it was not going to produce meaningless results? :-)
- # [22:27] <jgraham_> We couldn't — at least for a strict definition of "sure"
- # [22:27] <Philip`> (preferably without first collecting a load of data and then checking whether it corresponds to our preconceived ideas of what the correct results should be :-) )
- # [22:27] <Philip`> s/sure/reasonably confident/
- # [22:27] <Philip`> s/reasonably confident/sufficiently confident that we could make language design decisions based on it/
- # [22:27] <Facedown> Philip` - <h1><object><img> ? hrm
- # [22:28] <jgraham_> But we could consider all the thinks that might be wrong with it and work out whether any effects should average out over the sample or have a systematic effect
- # [22:28] <Facedown> I usually dont put my logos in h1 since i don't think they're real headings
- # [22:28] <Facedown> <div id="logo"><img></div> or just <img id="logo"> usually does it..
- # [22:28] <jgraham_> We then decide if the systematic effect will be big enough to worry about
- # [22:28] <Philip`> Facedown: A non-visual UA that replaces the image with its alt text ought to use heading formatting for the alt text
- # [22:29] <jgraham_> If we're not sure, we do the study, collect the results and see if the significant of the result is greater than our estimate of the systematic effects
- # [22:29] <Facedown> ? to say the logo out louder?
- # [22:29] <Facedown> isnt that what aural styles are for?
- # [22:29] <Facedown> hehe
- # [22:30] <Philip`> Facedown: It could be a non-graphical text browser, rather than an aural one
- # [22:30] <Philip`> Facedown: and I'd rather aural browsers used the default <h1> aural styles, rather than some which I've made up myself and haven't been able to test
- # [22:30] <jgraham_> (also if we were doing the analysis in a proper Bayesian sense, our preconceived idea of what the result should be is important)
- # [22:30] <Facedown> My eyes usually go on the main heading in a newspaper rather than look at the logo
- # [22:31] <Philip`> Facedown: In my case, the logo is the main heading (since it's just fancy text)
- # [22:33] <Philip`> jgraham: So, how do we quantify the systematic biases in this case?
- # [22:34] <Philip`> (Oops, I've got to go out and find food)
- # [22:34] * jgraham suggests eating the pigeons
- # [22:35] <jgraham> (since you sound o hunter-gather about it ;)
- # [22:35] <jgraham> s/o/so/
- # [22:36] <Philip`> jgraham: I've not seen any pigeons around where I live :-(
- # [22:36] <Philip`> Quite a few cats wander around our garden, though
- # [22:38] <jgraham> Apparently carnivores taste quite bad
- # [22:39] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
- # [22:54] * Quits: KevinMarks (n=KevinMar@c-98-207-134-151.hsd1.ca.comcast.net) ("The computer fell asleep")
- # [22:59] <Philip`> Hmm, I did manage to sneak up on a cat, but I didn't manage to actually see it before it had already decided to run away
- # [22:59] <Philip`> and my spear arm wasn't quick enough
- # [23:03] * Joins: Camaban (n=alee@85-211-222-146.dyn.gotadsl.co.uk)
- # [23:11] * Quits: jgraham (n=james@81-86-215-216.dsl.pipex.com) ("I get eaten by the worms")
- # [23:16] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
- # [23:22] * Joins: aroben (n=adamrobe@76.111.160.14)
- # [23:47] * Joins: csarven (n=csarven@dhcp-0-12-17-b8-7b-53.cpe.quickclic.net)
- # [23:47] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net) (Remote closed the connection)
- # [23:51] * weinig is now known as weinig|brb
- # [23:53] * Quits: MikeSmith (n=MikeSmit@58.157.21.205) ("Less talk, more pimp walk.")
- # [23:54] * Joins: jwalden (n=waldo@STRATTON-FIVE-SIXTY-ONE.MIT.EDU)
- # [23:55] * weinig|brb is now known as weinig
- # Session Close: Sun May 04 00:00:00 2008
The end :)