Hello,
GTK plus has no accessibility related support for windows. GTK apps are
only accessible on linux as far as I can tell.
Here is a GTK bug listing some things on how accessibility support for
GTK on windows should be developed however the enhancement request is
there for some ten years already I don't expect anyone just magically
doing it in the mean time.
Here it is so you can take a look on how it stands...
https://bugzilla.gnome.org/show_bug.cgi?id=303304
Greetings
Peter
On 16.07.2015 at 10:23 Miroslav Rajcic wrote:
Hi everyone,
recently I've received the mail from a blind user of my program
complaining about accessibility issues.
Program is GTK+ 2.x based, he tried Windows edition.
One of the things he mentioned is that pressing Alt key in the main
window should cause the first item in the menu bar to become focused.
I've checked other programs and it seems that:
1. Windows native programs (see Notepad for example) obey this
behavior, pressing Alt does set focus to a first menu bar item
2. created basic GTK program with menu bar, this behavior is not
obeyed (see test source code below)
3. tried few Qt-based programs, this works fine for Qt
My questions:
- is this unsupported?
- any plans to get this implemented?
More info on user:
- OS: windows 7
- screen readers: "I am using JAWS and NVDA."
Thanks for any tip, I'd like to improve the program accessibility for
my users.
Regards,
Miroslav
PS. Sample code:
#include <gtk/gtk.h>
void create_window();
GtkWidget *window1;
GtkWidget *vbox1;
GtkWidget *menubar1;
GtkWidget *menu1;
GtkWidget *item1;
int main (int argc, char *argv[])
{
gtk_init (&argc, &argv);
create_window();
gtk_main ();
return 0;
}
#ifdef _WIN32
#include <windows.h>
int APIENTRY WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
return main( __argc, __argv );
}
#endif
void create_window()
{
window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window1), "test");
gtk_widget_show (window1);
g_signal_connect (window1, "destroy", G_CALLBACK (gtk_main_quit),
NULL);
vbox1 = gtk_vbox_new (FALSE, 0);
gtk_widget_show (vbox1);
gtk_container_add (GTK_CONTAINER (window1), vbox1);
menubar1 = gtk_menu_bar_new ();
gtk_widget_show (menubar1);
gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0);
//create menu items
item1 = gtk_menu_item_new_with_mnemonic ("_File");
gtk_widget_show (item1);
gtk_container_add (GTK_CONTAINER (menubar1), item1);
menu1 = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item1), menu1);
item1 = gtk_image_menu_item_new_with_mnemonic ("_Quit");
gtk_widget_show (item1);
gtk_container_add (GTK_CONTAINER (menu1), item1);
item1 = gtk_menu_item_new_with_mnemonic("_Edit");
gtk_widget_show(item1);
gtk_container_add(GTK_CONTAINER(menubar1), item1);
menu1 = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(item1), menu1);
item1 = gtk_image_menu_item_new_with_mnemonic("_Action");
gtk_widget_show(item1);
gtk_container_add(GTK_CONTAINER(menu1), item1);
}
_______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
_______________________________________________
gnome-accessibility-list mailing list
gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list