Klasse Accessible

Alle implementierten Schnittstellen:
PointerInterface

public class Accessible extends Interface
An interface for describing UI elements for Assistive Technologies.

Every accessible implementation has:

- a “role”, represented by a value of the [enum@Gtk.AccessibleRole] enumeration
- “attributes”, represented by a set of [enum@Gtk.AccessibleState],
[enum@Gtk.AccessibleProperty] and [enum@Gtk.AccessibleRelation] values

The role cannot be changed after instantiating a `GtkAccessible`
implementation.

The attributes are updated every time a UI element's state changes in
a way that should be reflected by assistive technologies. For instance,
if a `GtkWidget` visibility changes, the %GTK_ACCESSIBLE_STATE_HIDDEN
state will also change to reflect the [property@Gtk.Widget:visible] property.

Every accessible implementation is part of a tree of accessible objects.
Normally, this tree corresponds to the widget tree, but can be customized
by reimplementing the [vfunc@Gtk.Accessible.get_accessible_parent],
[vfunc@Gtk.Accessible.get_first_accessible_child] and
[vfunc@Gtk.Accessible.get_next_accessible_sibling] virtual functions.

Note that you can not create a top-level accessible object as of now,
which means that you must always have a parent accessible object.

Also note that when an accessible object does not correspond to a widget,
and it has children, whose implementation you don't control,
it is necessary to ensure the correct shape of the a11y tree
by calling [method@Gtk.Accessible.set_accessible_parent] and
updating the sibling by [method@Gtk.Accessible.update_next_accessible_sibling].

https://docs.gtk.org/gtk4/iface.Accessible.html

  • Konstruktordetails

  • Methodendetails

    • getClassHandler

      public static ClassHandler getClassHandler()
    • announce

      public void announce(@Nonnull Str message, int priority)
      Requests the user's screen reader to announce the given message.

      This kind of notification is useful for messages that
      either have only a visual representation or that are not
      exposed visually at all, e.g. a notification about a
      successful operation.

      Also, by using this API, you can ensure that the message
      does not interrupts the user's current screen reader output.
      Parameter:
      message - the string to announce
      priority - the priority of the announcement
    • announce

      public void announce(String message, int priority)
      Requests the user's screen reader to announce the given message.

      This kind of notification is useful for messages that
      either have only a visual representation or that are not
      exposed visually at all, e.g. a notification about a
      successful operation.

      Also, by using this API, you can ensure that the message
      does not interrupts the user's current screen reader output.
      Parameter:
      message - the string to announce
      priority - the priority of the announcement
    • getAccessibleParent

      public Accessible getAccessibleParent()
      Retrieves the accessible parent for an accessible object.

      This function returns `NULL` for top level widgets.
      Gibt zurück:
      the accessible parent
    • getAccessibleRole

      public int getAccessibleRole()
      Retrieves the accessible role of an accessible object.
      Gibt zurück:
      the accessible role
    • getAtContext

      public ATContext getAtContext()
      Retrieves the implementation for the given accessible object.
      Gibt zurück:
      the accessible implementation object
    • getBounds

      public boolean getBounds(@Nonnull Int x, @Nonnull Int y, @Nonnull Int width, @Nonnull Int height)
      Queries the coordinates and dimensions of this accessible

      This functionality can be overridden by `GtkAccessible`
      implementations, e.g. to get the bounds from an ignored
      child widget.
      Parameter:
      x - the x coordinate of the top left corner of the accessible
      y - the y coordinate of the top left corner of the widget
      width - the width of the accessible object
      height - the height of the accessible object
      Gibt zurück:
      true if the bounds are valid, and false otherwise
    • getFirstAccessibleChild

      public Accessible getFirstAccessibleChild()
      Retrieves the first accessible child of an accessible object.
      Gibt zurück:
      the first accessible child
    • getNextAccessibleSibling

      public Accessible getNextAccessibleSibling()
      Retrieves the next accessible sibling of an accessible object
      Gibt zurück:
      the next accessible sibling
    • getPlatformState

      public boolean getPlatformState(int state)
      Queries a platform state, such as focus.

      This functionality can be overridden by `GtkAccessible`
      implementations, e.g. to get platform state from an ignored
      child widget, as is the case for `GtkText` wrappers.
      Parameter:
      state - platform state to query
      Gibt zurück:
      the value of state for the accessible
    • resetProperty

      public void resetProperty(int property)
      Resets the accessible property to its default value.
      Parameter:
      property - the accessible property
    • resetRelation

      public void resetRelation(int relation)
      Resets the accessible relation to its default value.
      Parameter:
      relation - the accessible relation
    • resetState

      public void resetState(int state)
      Resets the accessible state to its default value.
      Parameter:
      state - the accessible state
    • setAccessibleParent

      public void setAccessibleParent(@Nullable Accessible parent, @Nullable Accessible next_sibling)
      Sets the parent and sibling of an accessible object.

      This function is meant to be used by accessible implementations that are
      not part of the widget hierarchy, and but act as a logical bridge between
      widgets. For instance, if a widget creates an object that holds metadata
      for each child, and you want that object to implement the `GtkAccessible`
      interface, you will use this function to ensure that the parent of each
      child widget is the metadata object, and the parent of each metadata
      object is the container widget.
      Parameter:
      parent - the parent accessible object
      next_sibling - the sibling accessible object
    • updateNextAccessibleSibling

      public void updateNextAccessibleSibling(@Nullable Accessible new_sibling)
      Updates the next accessible sibling.

      That might be useful when a new child of a custom accessible
      is created, and it needs to be linked to a previous child.
      Parameter:
      new_sibling - the new next accessible sibling to set
    • updatePlatformState

      public void updatePlatformState(int state)
      Informs ATs that the platform state has changed.

      This function should be used by `GtkAccessible` implementations that
      have a platform state but are not widgets. Widgets handle platform
      states automatically.
      Parameter:
      state - the platform state to update
    • updateProperty

      public void updateProperty(int first_property, Object... _ellipsis)
      Updates a list of accessible properties.

      See the [enum@Gtk.AccessibleProperty] documentation for the
      value types of accessible properties.

      This function should be called by `GtkWidget` types whenever
      an accessible property change must be communicated to assistive
      technologies.

      Example:
      ```c
      value = gtk_adjustment_get_value (adjustment);
      gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
      GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
      -1);
      ```
      Parameter:
      first_property - the first accessible property
      _ellipsis - a list of property and value pairs, terminated by -1
    • updateRelation

      public void updateRelation(int first_relation, Object... _ellipsis)
      Updates a list of accessible relations.

      This function should be called by `GtkWidget` types whenever an accessible
      relation change must be communicated to assistive technologies.

      If the [enum@Gtk.AccessibleRelation] requires a list of references,
      you should pass each reference individually, followed by `NULL`, e.g.

      ```c
      gtk_accessible_update_relation (accessible,
      GTK_ACCESSIBLE_RELATION_CONTROLS,
      ref1, NULL,
      GTK_ACCESSIBLE_RELATION_LABELLED_BY,
      ref1, ref2, ref3, NULL,
      -1);
      ```
      Parameter:
      first_relation - the first accessible relation
      _ellipsis - a list of relation and value pairs, terminated by -1
    • updateState

      public void updateState(int first_state, Object... _ellipsis)
      Updates a list of accessible states.

      See the [enum@Gtk.AccessibleState] documentation for the
      value types of accessible states.

      This function should be called by `GtkWidget` types whenever
      an accessible state change must be communicated to assistive
      technologies.

      Example:

      ```c
      value = GTK_ACCESSIBLE_TRISTATE_MIXED;
      gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
      GTK_ACCESSIBLE_STATE_CHECKED, value,
      -1);
      ```
      Parameter:
      first_state - the first accessible state
      _ellipsis - a list of state and value pairs, terminated by -1
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()