GNOME Bugzilla – Bug 720983
Objects of ATK_ROLE_CHECK_MENU_ITEM fail to emit object:state-changed:checked signals in Gtk+ 3
Last modified: 2014-01-05 02:53:56 UTC
Created attachment 264804 [details] accessible-event listener Steps to reproduce: 1. Open the attached accessible-event listener in a terminal 2. Launch gtk3-demo's Application Class demo 3. Get into the Preferences menu, choose the color submenu, then choose a color that is not already checked. Expected results: Each time step 3 is performed, two object:state-changed:checked accessible events would be seen in the terminal (one for the formerly-checked menu item; one for the newly-checked menu item). Actual results: Each time step 3 is performed, there are no object:state-changed:checked accessible events seen in the terminal. Note: This bug is not present in gtk-demo (2.24.22), though I'm not sure when it was introduced into Gtk+ 3.
Created attachment 265344 [details] [review] a11y: Fix state tracking for GAction-based radio items It turns out that with GAction-based menu items, we get neither the toggled signal emitted, nor do we get change notification for the active property. We do, however get change notification for the toggled property (with the previous change). Switch the state tracking of GtkCheckMenuItemAccessible to be entirely based on property notification. Drop the toggled signal handler. We do listen for both active and toggled changes to catch both traditional menus and GAction-based ones.
Created attachment 265345 [details] [review] GtkModelMenuItem: Make toggled property readable Otherwise, we don't emit change notification, making it impossible for the accessibility infrastructure to stay on top of state changes.
grr, attached in the wrong order