org.a11y.atspi.Cache

Description

Interface to access objects in bulk. It provides local acccess to previously fetched objects and helps improve performance by reducing round-trip calls.

Assistive technology should do a bulk query of all the objects in a new window with the GetItems method, and then update them dynamically with the AddAccessible and RemoveAccessible signals.

Methods

org.a11y.atspi.Cache.GetItems

GetItems (
  OUT nodes a((so)(so)(so)iiassusau)
)

Returns a list of cached accessible objects as an array with one element for each available object.

Each element in the array contains the following fields:

  • (so): accessible object reference - DBus name and object path. The rest of the fields refer to this main object.

  • (so): application reference - DBus name and object path. This is the owner of the main object; the root path of the application that registered via the Embed method of the org.a11y.atspi.Socket interface.

  • (so): parent object reference - DBus name and object path.

    If the main object has no parent:

    • If it is a control, or a window, return the parent application.

    • If the object has the application role, return a null reference. FIXME: atk-adaptor/adaptors/cache-adaptor.c:append_cache_item() returns a reference to the registry in this case (the one it obtained from the initial Socket::Embed call); GTK4 returns a null reference.

    • Otherwise, return a null reference (”” for the application name name and “/org/a11y/atspi/null” for the object path).

  • i: index in parent, or -1 for transient widgets/menu items. Equivalent to the GetIndexInParent method of the org.a11y.atspi.Accessible interface.

  • i: child count of main object, or -1 for defunct/menus. Equivalent to the ChildCount property of the org.a11y.atspi.Accessible interface.

  • as: array of names of the interfaces that the main object supports. Equivalent to the GetInterfaces method of the org.a11y.atspi.Accessible interface.

  • s: human-readable, localized, short name for the main object. Equivalent to the Name property of the org.a11y.atspi.Accessible interface.

  • u: role. Equivalent to the GetRole method of the org.a11y.atspi.Accessible interface.

  • s: human-readable, localized description of the object in more detail. Equivalent to the Description property of the org.a11y.atspi.Accessible interface.

  • au: Set of states currently held by an object. Equivalent to the GetState method of the org.a11y.atspi.Accessible interface.

Signals

org.a11y.atspi.Cache::AddAccessible

AddAccessible (
  nodeAdded ((so)(so)(so)iiassusau)
)

Add an accessible object to the cache. See the org.a11y.atspi.Cache.GetItems for a description of the signature.

org.a11y.atspi.Cache::RemoveAccessible

RemoveAccessible (
  nodeRemoved (so)
)

Remove an accessible object from the cache.