Exemplos que usam a API de acessibilidade
Como notado anteriormente, você pode ter um pouco ou nenhum trabalho para tornar o aplicativo acessível se você usar o conjunto de widgets do GTK, ou qualquer outra biblioteca de widgets que implementa as interfaces do ATK. As duas coisas mais comuns que você pode ter que fazer neste caso são:
-
fornece descrições de alguns controles e imagem usando atk_object_set_description() ou atk_image_set_description():
Example 1-3 Configurar a descrição de acessibilidade para um botão{ AtkObject *obj; obj = gtk_widget_get_accessible(button); atk_object_set_description(obj,_("Opens Preferences dialog")); }
-
Especificar relações entre quaisquer agrupamentos incomuns de widgets usando atk_relation_new() and atk_relation_set_add():
Example 1-4 Especificar relações acessíveis entre dois controles{ GtkWidget *widget; GtkLabel *label; AtkObject *atk_widget, *atk_label; AtkRelationSet *relation_set; AtkRelation *relation; AtkObject *targets[1]; atk_widget = gtk_widget_get_accessible (widget); atk_label = gtk_widget_get_accessible (GTK_WIDGET(label)); relation_set = atk_object_ref_relation_set (atk_label); targets[0] = atk_widget; relation = atk_relation_new(targets,1, ATK_RELATION_LABEL_FOR); atk_relation_set_add(relation_set,relation); g_object_unref(G_OBJECT(relation)); }
Os exemplos no resto desta seção são, em sua maioria, para dar a você o sabor do escopo do ATK. Eles cobrem as técnicas que você pode nunca precisar usar como um desenvolvedor de aplicativos, apesar de que eles podem ser interessantes se você está escrevendo seus próprios widets personalizados (veja Criando componentes acessíveis personalizados) ou se você deseja escrever um aplicativo de tecnologia assistiva. Seja qual for o propósito, o código-fonte do GAIL serve como um tutorial excelente para uso avançado do ATK. Por favor, note que desde o GTK+ 3.1.10, Gail foi mesclado com GTK+ e deixou de ser um módulo autônomo.