Erhålla tillgänglighetsinformation från ett program

Ett program som önskar använda ATK-anrop kommer troligen behöva göra en (eller flera) av följande saker:

  1. Skapa en händelseövervakare, till exempel med atk_add_focus_tracker()-funktionen:

    atk_add_focus_tracker (_my_focus_tracker);

    där _my_focus_tracker() är en funktion med denna prototyp:

    void _my_focus_tracker (AtkObject *aobject);
  2. Konfigurera en global händelselyssnare med atk_add_global_event_listener():

    mouse_watcher_focus_id =   atk_add_global_event_listener(_my_global_listener,"Gtk:GtkWidget:enter_notify_event");
    

    där _my_global_listener har prototypen av en GSignalEmissionHook i Glib. Detta exempel skulle få _my_global_listener() att anropas närhelst en enter_notify_event-signal inträffar på ett GtkWidget-objekt.

  3. Kom åt ATK-toppnivåobjektet med följande funktionsanrop.

    AtkObject *root_obj = atk_get_root();

    Detta returnerar ett AtkObject som innehåller alla toppnivåfönster i programmet som för närvarande körs. Användaren skulle sedan kunna navigera genom objekthierarkin genom att komma åt rotobjektets underordnade objekt, vilket motsvarar toppnivåfönstren.