When user starts typing into a text field, it gets validated before the character entered and field value is set. Empty value results in validation failure. This affects IE7 and IE8 document modes of IE9. IE9 mode works fine.
Having it debugged, I found that form validation had been triggered by a keydown event in IE7, but by a keypress in IE9. The two modes differ in the availability of the input event. (IE Dev Center)
Form validation is registered by _uiSetValidateOnInput() (in aui-form-validator.js). It calls delegate() in event-delegate.js which checks if Y.Node.DOM_EVENTS contains the specified event. Since input event is not available before IE9, a synthetic event is created and used instead.
In IE7/8 modes, focusing the text field makes _dispatchEvent (in aui-event-input.js) be bound to keydown, paste, drop and cut events.