Exempel som använder tillgänglighets-API:t
Som nämnts tidigare bör det kräva liten eller ingen ansträngning för att göra ditt program tillgängligt om du använder GTK-komponentuppsättningen, eller något annat komponentbibliotek som implementerar ATK-gränssnitten. De två vanligaste sakerna som du kan behöva göra i detta fall är:
-
tillhandahålla beskrivningar av några kontroller och bilder med atk_object_set_description() eller atk_image_set_description():
Exempel 1-3 Ställa in tillgänglighetsbeskrivningen för en knapp{ AtkObject *obj; obj = gtk_widget_get_accessible(button); atk_object_set_description(obj,_("Öppnar dialogrutan Inställningar")); }
-
Ange relationer mellan ovanliga grupperingar av komponenter med atk_relation_new() och atk_relation_set_add():
Exempel 1-4 Ange en tillgänglig relation mellan två kontroller{ 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)); }
Exemplen i resten av detta avsnitt är mest till för att ge dig en försmak av omfånget av ATK. De täcker tekniker som du kanske aldrig kommer behöva använda som en programutvecklare, men de kan vara av intresse om du skriver egna anpassade komponenter (se Göra anpassade komponenter tillgängliga) eller om du vill skriva ett hjälpmedelsteknologiprogram. Vad än syftet är så tjänar källkoden för GAIL som en utmärkt guide för avancerad ATK-användning. Observera att sedan GTK+ 3.1.10 så har Gail sammanfogats in i GTK+ och är inte längre en fristående modul.