I've just landed a patch that brings our keyboard event processing model much closer to that of Internet Explorer: <http://trac.webkit.org/projects/webkit/changeset/28620>. This fixes some bugs that couldn't be sanely fixed otherwise, and will hopefully make lives of Web developers easier, as they won't have to worry about that many different models. The patch comes with a long ChangeLog, and I'm also going to write a more approachable overview soon. Most changes have to do with what events are dispatched (e.g., keypress is no longer dispatched for Tab or arrow keys), and when default processing takes place (e.g., pressing Space on a button now fires onclick when releasing the key). I have tried to apply as many of the changes as I could to non-Apple ports, but I'm pretty sure that it wasn't enough. I'd be happy to help with figuring out what needs to be done in other ports, please do catch me on IRC, e-mail me, etc! - WBR, Alexey Proskuryakov.