[Pidgin] #2687: [a11y] pidgin Preferences dialog Inteface -> Show	system tray icon "combo box" has the wrong accessible name.
    Pidgin 
    trac at pidgin.im
       
    Tue Aug 21 17:41:41 EDT 2007
    
    
  
#2687: [a11y] pidgin Preferences dialog Inteface -> Show system tray icon "combo
box" has the wrong accessible name.
---------------------------+------------------------------------------------
 Reporter:  RichBurridge   |       Type:  defect
   Status:  new            |   Priority:  minor 
Component:  pidgin (gtk)   |    Version:  2.1.0 
 Keywords:  accessibility  |    Pending:  0     
---------------------------+------------------------------------------------
 See also GNOME Orca bug #468762 which is blocked by this problem.
 http://bugzilla.gnome.org/show_bug.cgi?id=468762
 This is with pidgin v2.1.1 on Gnu/Linux Ubuntu Gutsy.
 Steps to reproduce:
 1. Launch Pidgin
 2. Get into the Preferences dialog
 3. Tab to a combo box
 Expected results:  Orca would speak the currently selected item in the
 combo
 box.
 Actual results: Orca doesn't speak the currently selected item in the
 combo box
 until you expand the combo box by pressing space bar.
 --
 I investigated the problem (see the Orca bug for all the details).
 Here's just the gist of it.
 I compared Orca speaking the pidgin "combo box" with Orca speaking
 one of it's own combo boxes.
 In pidgin, for the object:state-changed:focused event we have:
 OBJECT EVENT: object:state-changed:focused             detail=(1,0)
     app.name='pidgin'             name='Show system tray icon:'
 role='combo
 box' state='ENABLED FOCUSABLE FOCUSED SENSITIVE SHOWING VISIBLE'
 relations='LABELLED_BY LABELLED_BY'
 In Orca, for the "focus:" event for the Say all combo box, we have:
 OBJECT EVENT: focus:                                   detail=(0,0)
     app.name='orca'               name='Sentence' role='combo box'
 state='ENABLED FOCUSED SENSITIVE SHOWING VISIBLE' relations='LABELLED_BY'
 In other words, the name of the pidgin "combo box" is incorrect.
 In pidgin gtkprefs.c, there is the call to
 pidgin_prefs_dropdown_from_list()
         label = pidgin_prefs_dropdown(vbox, _("_Show system tray icon:"),
 PURPLE_PREF_STRING,
                                         PIDGIN_PREFS_ROOT "/docklet/show",
                                         _("Always"), "always",
                                         _("Never"), "never",
                                         _("On unread messages"),
 "pending",
                                         NULL);
 Function definition for pidgin_prefs_dropdown_from_list() is:
 pidgin_prefs_dropdown_from_list(GtkWidget *box, const gchar *title,
                 PurplePrefType type, const char *key, GList *menuitems)
 so we are passing in a title variable of _("_Show system tray icon:").
 We then go through this bit of code:
         ...
         if (title != NULL) {
                 hbox = gtk_hbox_new(FALSE, 5);
                 /*gtk_container_add (GTK_CONTAINER (box), hbox);*/
                 gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0);
                 gtk_widget_show(hbox);
                 label = gtk_label_new_with_mnemonic(title);
                 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
                 gtk_widget_show(label);
         } else {
         ...
 which sets the label to the left of the "combo box". It also sets the
 variable called label.
 Further down the routine we have:
         ...
         if (label != NULL) {
                 gtk_label_set_mnemonic_widget(GTK_LABEL(label), dropdown);
                 pidgin_set_accessible_label (dropdown, label);
         }
         ...
 which is setting the accessible "label" of the dropdown widget
 (which was created with:
         dropdown = gtk_option_menu_new();
 to "_Show system tray icon:".
 (See pidgin_set_accessible_label() in gtkutils.c at about line 1168).
 This is incorrect.
-- 
Ticket URL: <http://developer.pidgin.im/ticket/2687>
Pidgin <http://pidgin.im>
Pidgin
    
    
More information about the Tracker
mailing list