Obtener la información de accesibilidad de una aplicación

Un programa que quiera hacer llamadas ATK debería hacer una, o más, de las siguientes:

  1. Crear un vigilante de eventos, por ejemplo con la función atk_add_focus_tracker():

    atk_add_focus_tracker (_my_focus_tracker);

    donde _my_focus_tracker() es una función con este prototipo:

    void _my_focus_tracker (AtkObject *aobject);
  2. Configurar un detector de eventos globales, con atk_add_global_event_listener():

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

    donde _my_global_listener tiene el prototipo de un GSignalEmissionHook de Glib . Este ejemplo podría hacer que la función _my_global_listener() se llamara cada vez que ocurra una señal «enter_notify_even» en un objeto GtkWidget.

  3. Acceder al objeto ATK de nivel superior con la siguiente llamada de función.

    AtkObject *root_obj = atk_get_root();

    Esto devuelve un AtkObject que contiene todos las ventanas de nivel superior del programa en ejecución. El usuario puede navegar a través de la jerarquía de objetos accediendo a la raíz de los objetos hijos, que con las ventanas del nivel superior.