- From: Doug Schepers <schepers@w3.org>
- Date: Tue, 22 Sep 2009 19:26:11 -0400
- To: "www-dom@w3.org" <www-dom@w3.org>
Hi, Garrett- Garrett Smith wrote (on 9/22/09 5:12 PM): > On Tue, Sep 22, 2009 at 10:28 AM, Garrett Smith<dhtmlkitchen@gmail.com> wrote: >> On Tue, Sep 22, 2009 at 12:40 AM, Doug Schepers<schepers@w3.org> wrote: >>> >>> As discussed on this list and in the telcon, I've added a new FocusEvent >>> interface with a 'relatedTarget' attribute, moved focus events there, then >>> moved Basic Events to UIEvents cuz DOMActivate was lonely, and removed the >>> Basic Events category. >>> >>> You can see my handiwork in the latest ED: >>> >> It would be nice if you would defer creating technical APIs to those >> who are qualified (instead of trying to do it yourself). >> > > Sorry, that was inflammatory and a little insulting. Just a little. :) FWIW, I've written quite a few commercial Web applications, so I have a reasonable sense of how the average author might expect things to behave. I'm not always right, which is why I solicit feedback from others on this list. In practice, I've not had much luck with getting feedback in a timely manner, prior to putting it in the spec. My requests for feedback on this list have yielded relatively few replies... unless I do the work of putting it in the spec first, which apparently is enough of a "threat" that some people pay attention and comment if I've totally messed it up. It's suboptimal from my point of view, but may be inevitable... people want something concrete to comment on, in part. Thus, I attempt to not be afraid on making a mistake on my first pass... I want the feedback, and it seems the best way to do that is to edit the spec ("worse is better"), and iterate quickly through the review and mistakes and corrections. But that also means that by the time I've digested what I have learned about the topic at hand, and stepped through the process of speccing it out, I cement my own opinions somewhat. So, I'm not necessarily inclined to revisit decisions unless there is a clear sense that there is a better way to do it. I do try to take constructive feedback into account, especially if it's concrete; I expect others do shoulder some of the burden, if they want things changed. I think that's reasonable. Speccing the focus events is an instance where I made a few decisions based on research (mine and others), and made a bad call on one of them (adding focusin/focusout was good, misusing currentTarget was stupid). Maciej, Jacob, Olli, Travis, and others advised me how to fix it, and during the telcon we resolved to make the FocusEvent interface and move the focus events there. So this is not an API decision I made myself... it's the result of that iterative process. It's probably not done, though I hope it is. Having done that, I also chose to move the Basic Events Module event types into the UIEvents interface because they are all defined as using UIEvents (at least sometimes), because the only event left in UIEvent was DOMActivate, and because unlike all the other event types, they were not collected under an interface (from a spec organization perspective). If that's a mistake, I'm happy to revisit it, and to move them wherever they fit better. In this instance, I don't think it causes any harm, it makes a certain degree of sense, and it makes the spec a little more readable. There's my editorial process in a nutshell. Fast, cheap, and out of control [1]. :) Now, if I took the time to explain every decision in that level of detail (which is just reiterating the results of the email on www-dom and discussion in the telcons), I wouldn't be left with any time to actually edit the spec. I'm not trying to be rude, but if we want to get this spec to Last Call soon, there is a certain expectation on all of us to contribute and keep up.... www-dom is actually a pretty light load, for a mailing list. (Except when I go into long, detailed emails.) > I actually meant > to snip that out but forgot. I'd like to focus more on the researching > of the proposed feature. > > As mentioned here: > >> http://lists.w3.org/Archives/Public/www-dom/2009JulSep/0330.html I read that email when you sent it. I read the article on QuirksMode that you referenced. I did consider your comments. I'll reply on a few points inline, here... Garrett Smith wrote (on 9/17/09 1:04 AM): > > initUIEvent has 5 params, and initMouseEvent 15, so that would make it > the sixth parameter for initUIEvent and the 16th of initMouseEvent. > > Would changing the method signature be backwards compatible? I think > it would not. Indeed, we decided against adding relatedTarget to UIEvent, splitting out the focus events to the new FocusEvent interface instead. So, no problem there. > Will a new "onfocusin" break sites that use loose inferences? Travis' and Olli's judgment during the telcon was that it wouldn't. (BTW, it's "focusin", not "onfocusin"... right now the DOM3 Events spec doesn't say anything about "on*" attribute event listeners.) > What is the recommended practice for detecting this feature? As I mentioned elsewhere, I don't think we've settled on that. My preference would be a featurestring for each interface and event. > When introducing the new feature, have you considered: > * How will the new feature will affect code in existing web pages? Since nobody is now expecting focusin/focusout to have the .relatedTarget attribute, it seems unlikely that that aspect will affect code at all. > * How can the feature be detected? See above. > * What sort of fallback mechanisms are available? As mentioned elsewhere, a script library [1] can emulate these events if they aren't supported natively. Adding these events doesn't mean we are taking away any feature already in use (focus/blur), though we are deprecating DOMFocusIn/DOMFocusOut (for a different reason). > Please do a google code search to see how it is used in existing web > pages. This is not a concrete task, nor even a bounded one, nor did it seem (from our conclusions stated above), that it was necessary. We did not anticipate conflicts (so, no negative results), and we aren't aiming to solve all problems, just the low-hanging fruit... onfocusin/onfocusout attribtutes are already implemented in IE, and only a slight adjustment will bring them into the current model (which they are willing to do), and they have been used with good results in many Web pages. We can draw reasonable conclusions without an exhaustive Web search, for some set of issues. If you are willing to do the work you suggest, and come back with a concrete proposal that improves over the current model, you are welcome to help us out in that way. But to be honest, I don't think this is necessary for us to progress on DOM3 Events. Obviously, it could be helpful for future versions of the spec. >Please also see the delegating focus article on quirksmode. I did read it, and it was interesting, but nothing in it suggested we were on the on the wrong track. Did you reach other conclusions? > Please do report back your findings. We discussed these issues, among many others, in email and in the telcons (the minutes of which are available to everyone). To be honest, I'm not sure what in that specific email struck you as particularly challenging to the decision that we settled on. Where is the contraindication of the current design of the focus features in the spec? Without more specific and targeted comments, I didn't have any more to say than what everyone on this list can gather from reading the other emails and the spec. I'm not going to respond to every email on this list (that's too time consuming), but I do read and consider them all. If you haven't gotten a satisfactory response, try restating the question another way and seeing if that clicks with someone on the list. We're only human. [1] http://www.errolmorris.com/film/fcooc.html [2] http://www.extjs.com/forum/showthread.php?t=74974 Regards- -Doug Schepers W3C Team Contact, SVG and WebApps WGs
Received on Tuesday, 22 September 2009 23:26:22 UTC