<select accesskey='a' onfocus='document.getElementById("res1").innerHTML="PASS 1";' onclick='document.getElementById("res2").innerHTML="PASS 2";'>
<option>blaa
<option>jee
</select>
Press Ctrl-Option-A (or Alt-A on Windows) to activate the select. Works as layout test too using eventSender.

<div>
focus event:
<div id=res1>
FAIL
</div>
click event:
<div id=res2>
FAIL
</div>
<script>
    if (window.eventSender) {
        testRunner.dumpAsText();

        var modifiers;
        if (navigator.userAgent.search(/\bMac OS X\b/) != -1)
            modifiers = ['ctrlKey', 'altKey'];
        else
            modifiers = ['altKey'];
        eventSender.keyDown('a', modifiers);
    }
</script>
