|
Bugzilla – Full Text Bug Listing |
| Summary: | selectChild is called from "combo box" accessible in Gtk, but "menu" accessible in WinForms | ||
|---|---|---|---|
| Product: | [Mono] UI Automation | Reporter: | Brian Merrell <bgmerrell> |
| Component: | Winforms - General | Assignee: | Andres Aragoneses <aaragoneses> |
| Status: | VERIFIED FIXED | QA Contact: | E-mail List <mono-a11y-qa> |
| Severity: | Normal | ||
| Priority: | P2 - High | CC: | cachen |
| Version: | Release 1.0 | ||
| Target Milestone: | --- | ||
| Hardware: | x86 | ||
| OS: | openSUSE 11.1 | ||
| Whiteboard: | |||
| Found By: | Integration Test | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
Well, the winforms test has numbers, not fruits. Can I simplify the steps to reproduce? GTK -------- 1. Run Accerciser and open the "IPython Console" tab 2. Run uia2atk/test/samples/gtkcombobox.py 3. In Accerciser's left pane, browse to and select the "combo box" accessible 4. In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)' and press Enter. WINFORMS -------- 1. Run Accerciser and open the "IPython Console" tab 2. Run uia2atk/test/samples/combobox_dropdownlist.py 3. In Accerciser's left pane, browse to and select the "combo box" accessible 4. In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)' and press Enter. RESULTS GTK -------- "Cherry" (3rd element) appears in the ComboBox of the gtkcombobox.py GUI WINFORMS -------- "2" (3rd element) *should* appears in the ComboBox of the combobox_dropdownlist.py GUI No need for the NEEDINFO status IMO, as I'm going to head and fix the steps to reproduced mentioned in last comment. Hours from thursday. Fixed in trunk r137460 (only the steps to reproduce mentioned in comment#1; if something else is missing, please open a new bug). Verified in RPM version: mono-uia-132785-276 uiaatkbridge-137574-668 uiautomationwinforms-137456-676 |
PROBLEM STATEMENT The AtkSelection interface's selectChild method may be called from an accessible to select a child of that accessible. The problem is that the WinForms behavior is different than Gtk's behavior, if the intent is to select a menu item of a combo box. In Gtk, the selectChild method is called from the "combo box" accessible object and in WinForms the selectChild method is called from the "menu" accessible object. In both cases, the accessible hierarchy looks like this (for a combo box that has 3 items): combo box ---> menu ----> menu item ----> menu item ----> menu item REPRO GTK -------- 1. Run Accerciser and open the "IPython Console" tab 2. Run uia2atk/test/samples/gtkcombobox.py 3. In Accerciser's left pane, browse to and select the "menu" accessible 4. In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)' and press Enter. Notice that nothing happens, the method call just returns "True". 5. In Accerciser's left pane, browse to and select the "combo box" accessible 6. In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)' and press Enter. WINFORMS -------- 1. Run Accerciser and open the "IPython Console" tab 2. Run uia2atk/test/samples/combobox_dropdownlist.py 3. In Accerciser's left pane, browse to and select the "combo box" accessible 4. In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)' and press Enter. Notice that nothing happens, the method call just returns "True". 5. In Accerciser's left pane, browse to and select the "menu" accessible 6. In Accerciser's IPython console, type 'acc.querySelection().selectChild(2)' and press Enter. RESULTS GTK -------- "Cherry" appears in the ComboBox of the gtkcombobox.py GUI WINFORMS -------- "2" appears in the ComboBox of the combobox_dropdownlist.py GUI EXPECTED RESULTS I would expect the WinForms behavior to match the Gtk behavior. COMMENTS I am assuming the Gtk behavior isn't correct here, but I suppose that isn't necessarily the case.