1. Run MSAA Inspect
2. Enable viewing of caret move events
3. Move caret in address bar of Firefox
Caret location change events are not reported but should be as they are for HTML.
This would also help fix bug 244119 for Tablet PC support.
Created attachment 200020 [details] [diff] [review]
Attach selection listener to original target for focus events, which is where the focus really is. For XUL textboxes this allows us to listen to selection in the HTML input for it.
So, are there reasons why a) you don't special case nsIDOMXULTextBoxElement
or b) you don't do all accessible events on the original target?
(In reply to comment #2)
> a) you don't special case nsIDOMXULTextBoxElement
What if a web author uses XBL to create a widget with a HTML input or textarea
as anonymous content? This general rule will catch that.
> b) you don't do all accessible events on the original target?
Because the accessible itself is created for the XUL element. If we used the
original target we would be handing back an nsHTMLInputAccessible for events
instead of a nsXULTextBoxAccessible.
Unfortunately, while this fix does generate the proper caret location change
events generated by mouse clicks, location changes originated from the keyboard,
i.e. inserting text, still don't generate any events in the XUL textboxes. This
can be verified with the MSAA Inspector.
In reference to bug 244119 (Tablet PC support), this fix now allows the tablet
extension to open the floating input panel when the XUL textboxes are clicked,
but it automatically closes if the user types any keystroke on the onscreen
keyboard and the textbox must be continually re-clicked after each keystroke to
use the onscreen keyboard for input.