Help! Upload component. Unexpected open file dialog in IE

There are few inputs and file input button on the example web-page.
When I go through web-page elements by using TAB, the upload component shows file-select window before the file input getting focus.
It happens because some hidden file input getting focus.
Such trouble occurs only in Internet Explorer (versions 8, 9, 10).

I think events handling is setting in immediate mode, instead of be set in the normal mode.

Is it a normal behavior for the component or not?

I can confirm this behavior in the sampler.
I’m not sure if this behavior is desired or not although i can see it getting a bit annoying for devs using the Tab functionality.
You might want to file a ticket at
Vaadin Trac
. If you do you have to register first (the vaadin trac account is different to the forum account)

confirm it!
http://demo.vaadin.com/sampler-for-vaadin6#ImmediateUpload - in IE when i walk elements by TAB, “Open file” window opens without button click. It is very uncomfortably (for users, not only for devs)! How to fix it?

I think i found where this behavior comes from by digging through the VUpload class. @Override public void onBrowserEvent(Event event) { super.onBrowserEvent(event); if (event.getTypeInt() == Event.ONCHANGE) { if (immediate && fu.getFilename() != null && !"".equals(fu.getFilename())) { submit(); } } else if (BrowserInfo.get().isIE() && event.getTypeInt() == Event.ONFOCUS) { // IE and user has clicked on hidden textarea part of upload // field. Manually open file selector, other browsers do it by // default. fireNativeClick(fu.getElement()); // also remove focus to enable hack if user presses cancel // button fireNativeBlur(fu.getElement()); } } As you can see starting in line 9 it specifically calls a button click when a focus event is called and the Browser is the Internet Explorer.
You might be able to override this class and change these lines.
To replace the client-side class with a custom extended one look at the second post from
here

Thank you for your reply Marius.

I will try your solution.
New
ticket
created