Struct atspi_proxies::accessible::AccessibleProxy
source · pub struct AccessibleProxy<'p>(/* private fields */);
Expand description
§AccessibleProxy
A handle for a remote object implementing the org.a11y.atspi.Accessible
interface.
Accessible is the interface which is implemented by all accessible objects.
Implementations§
source§impl<'p> AccessibleProxy<'p>
impl<'p> AccessibleProxy<'p>
sourcepub async fn new(conn: &Connection) -> Result<AccessibleProxy<'p>>
pub async fn new(conn: &Connection) -> Result<AccessibleProxy<'p>>
Creates a new proxy with the default service and path.
sourcepub fn builder(conn: &Connection) -> Builder<'p, Self>
pub fn builder(conn: &Connection) -> Builder<'p, Self>
Returns a customizable builder for this proxy.
sourcepub fn into_inner(self) -> Proxy<'p>
pub fn into_inner(self) -> Proxy<'p>
Consumes self
, returning the underlying zbus::Proxy
.
sourcepub fn inner_mut(&mut self) -> &mut Proxy<'p>
pub fn inner_mut(&mut self) -> &mut Proxy<'p>
The mutable reference to the underlying zbus::Proxy
.
sourcepub async fn get_application(&self) -> Result<ObjectRef>
pub async fn get_application(&self) -> Result<ObjectRef>
Returns an ObjectRef
which refers to the Application
object of the application.
This object will have Application
interface implemented.
The application object is the root of the accessibility hierarchy for the application. It is the only object in the hierarchy that does not have a parent.
§Notes
The application object is the only object in the accessibility hierarchy that is guaranteed to be persistent for the lifetime of the application. All other objects in the accessibility hierarchy may be created and destroyed dynamically.
sourcepub async fn get_attributes(&self) -> Result<HashMap<String, String>>
pub async fn get_attributes(&self) -> Result<HashMap<String, String>>
Gets a list of name/value pairs of attributes or annotations for this object.
§Disambiguation
For typographic, textual, or textually-semantic attributes,
see TextProxy
’s get_attributes
method instead.
sourcepub async fn get_child_at_index(&self, index: i32) -> Result<ObjectRef>
pub async fn get_child_at_index(&self, index: i32) -> Result<ObjectRef>
Retrieve child by index (starting from 0),
Queries the N-th accessible child of self
. It is expected that this
will correspond to the order that the get_children
method would return.
§Notes
Implementations vary in their behavior when the index is out of range. GTK4 returns an error, while atk-adaptor (e.g. Gtk3) returns the null object path “/org/a11y/atspi/null”.
Documentation advises implementors to return a DBus Error when the index is out of range, to “keep the type system gods happy”.
sourcepub async fn get_children(&self) -> Result<Vec<ObjectRef>>
pub async fn get_children(&self) -> Result<Vec<ObjectRef>>
Retrieves a list of the object’s accessible children.
Each array element is an Accessible
representing the accessible child object.
§Registry
On the Accessible
interface of org.a11y.atspi.Registry
, the registry daemon, this method retrieves a list
of all accessible applications’ root objects on the bus.
sourcepub async fn get_index_in_parent(&self) -> Result<i32>
pub async fn get_index_in_parent(&self) -> Result<i32>
This object resides in its parent’s list of children. This returns its position in this list of children, starting from 0.
The function returns -1 if the object does not have a parent or if an exception occurs.
sourcepub async fn get_interfaces(&self) -> Result<InterfaceSet>
pub async fn get_interfaces(&self) -> Result<InterfaceSet>
Returns an InterfaceSet
accessible interface names supported by the self
object.
InterfaceSet
: crate::common::InterfaceSet
sourcepub async fn get_localized_role_name(&self) -> Result<String>
pub async fn get_localized_role_name(&self) -> Result<String>
Gets a String
corresponding to the name of the role played by an object,
translated to the current locale.
§Notes
This method will return useful values for roles that fall outside the
enumeration used in the get_role
method.
For applications, implementing this method is optional, and it may be removed in a future version of the API.
For example, libatspi
will only call it in the event of an unknown role.
sourcepub async fn get_relation_set(
&self
) -> Result<Vec<(RelationType, Vec<ObjectRef>)>>
pub async fn get_relation_set( &self ) -> Result<Vec<(RelationType, Vec<ObjectRef>)>>
Returns a set of relationships between the this self
object and others.
This vector of tuples contains a RelationType
and a vector of Accessible
’s to which that
relationship applies.
These relationships allow for better identification of how objects are associated with one another.
For example, the relationship RelationType::LabelledBy
can be used to identify labeling information
that should accompany the accessible name
property when presenting an object’s content or identity
to the end user.
Similarly, RelationType::ControllerFor
can be used to specify the context in which a valuator is useful
and/or the other UI components that are directly affected by user interactions with the valuator.
Common examples include the association of scrollbars with the viewport or panel that they control.
sourcepub async fn get_role(&self) -> Result<Role>
pub async fn get_role(&self) -> Result<Role>
Gets the Role
that the current accessible object represents.
Roles make it possible for various UI toolkits to expose their controls to assistive technologies (ATs) with a standard interface, regardless of toolkit.
For example, a widget that acts like a conventional push button
(appears unpressed; presses when acted upon; invokes a certain action
when pressed) can expose an Role::PushButton
role.
sourcepub async fn get_role_name(&self) -> Result<String>
pub async fn get_role_name(&self) -> Result<String>
Gets a String
corresponding to the name of the role played by an object,
translated to the current locale.
§Notes
This method will return useful values for roles that fall outside the
enumeration used in the get_role
method.
For applications, implementing this method is optional, and it may be removed in a future version of the API.
sourcepub async fn accessible_id(&self) -> Result<String>
pub async fn accessible_id(&self) -> Result<String>
Application-specific identifier for the current object.
A special id given to an object. Accessible application developers can use this to give a special id to an object to use in tests, for example, “my_widget”.
Note that there is no way to directly find an object by its id; a test program may have to recursively get the children to find a specific id. This is because accessible objects can be created dynamically, and they do not always correspond to a static view of an application’s data.
sourcepub fn cached_accessible_id(
&self
) -> Result<Option<<Result<String> as ResultAdapter>::Ok>, <Result<String> as ResultAdapter>::Err>
pub fn cached_accessible_id( &self ) -> Result<Option<<Result<String> as ResultAdapter>::Ok>, <Result<String> as ResultAdapter>::Err>
Get the cached value of the AccessibleId
property, or None
if the property is not cached.
sourcepub async fn receive_accessible_id_changed(
&self
) -> PropertyStream<'p, <Result<String> as ResultAdapter>::Ok>
pub async fn receive_accessible_id_changed( &self ) -> PropertyStream<'p, <Result<String> as ResultAdapter>::Ok>
Create a stream for the AccessibleId
property changes. This is a convenient wrapper around zbus::Proxy::receive_property_changed
.
sourcepub async fn child_count(&self) -> Result<i32>
pub async fn child_count(&self) -> Result<i32>
Number of accessible children for the current object.
sourcepub fn cached_child_count(
&self
) -> Result<Option<<Result<i32> as ResultAdapter>::Ok>, <Result<i32> as ResultAdapter>::Err>
pub fn cached_child_count( &self ) -> Result<Option<<Result<i32> as ResultAdapter>::Ok>, <Result<i32> as ResultAdapter>::Err>
Get the cached value of the ChildCount
property, or None
if the property is not cached.
sourcepub async fn receive_child_count_changed(
&self
) -> PropertyStream<'p, <Result<i32> as ResultAdapter>::Ok>
pub async fn receive_child_count_changed( &self ) -> PropertyStream<'p, <Result<i32> as ResultAdapter>::Ok>
Create a stream for the ChildCount
property changes. This is a convenient wrapper around zbus::Proxy::receive_property_changed
.
sourcepub async fn description(&self) -> Result<String>
pub async fn description(&self) -> Result<String>
Human-readable, localized description of self
in more detail.
This is a longer description than the Name
property.
For example, a button might have a name of “OK”, but a description of “OK button”.
While the Name property is meant to be a short string that screen readers say during normal navigation, the Description property is for when the user asks for more detail.
sourcepub fn cached_description(
&self
) -> Result<Option<<Result<String> as ResultAdapter>::Ok>, <Result<String> as ResultAdapter>::Err>
pub fn cached_description( &self ) -> Result<Option<<Result<String> as ResultAdapter>::Ok>, <Result<String> as ResultAdapter>::Err>
Get the cached value of the Description
property, or None
if the property is not cached.
sourcepub async fn receive_description_changed(
&self
) -> PropertyStream<'p, <Result<String> as ResultAdapter>::Ok>
pub async fn receive_description_changed( &self ) -> PropertyStream<'p, <Result<String> as ResultAdapter>::Ok>
Create a stream for the Description
property changes. This is a convenient wrapper around zbus::Proxy::receive_property_changed
.
sourcepub async fn locale(&self) -> Result<String>
pub async fn locale(&self) -> Result<String>
Unix locale for the current object.
This is a string in the form of “language_territory.codeset”. For example, “en_US.UTF-8” or “de_DE.UTF-8”.
For an application, this may be the locale for the language that the application shows in its user interface.
For a document being shown in an application, or a paragraph within a document, the locale may refer to that object exclusively. For example: an application may be showing itself in English (“en”), but it may be used to display a document in Spanish (“es”). In the latter case, a screen reader will want to know that it should switch to Spanish while reading the document.
sourcepub fn cached_locale(
&self
) -> Result<Option<<Result<String> as ResultAdapter>::Ok>, <Result<String> as ResultAdapter>::Err>
pub fn cached_locale( &self ) -> Result<Option<<Result<String> as ResultAdapter>::Ok>, <Result<String> as ResultAdapter>::Err>
Get the cached value of the Locale
property, or None
if the property is not cached.
sourcepub async fn receive_locale_changed(
&self
) -> PropertyStream<'p, <Result<String> as ResultAdapter>::Ok>
pub async fn receive_locale_changed( &self ) -> PropertyStream<'p, <Result<String> as ResultAdapter>::Ok>
Create a stream for the Locale
property changes. This is a convenient wrapper around zbus::Proxy::receive_property_changed
.
sourcepub async fn name(&self) -> Result<String>
pub async fn name(&self) -> Result<String>
Human-readable, localized, short name for the object.
Applications should have this set for objects which do not
have a RelationType::LabelledBy
relation.
Consider a widget to select RGB colors by setting three sliders.
The names for the sliders would be “Red”, “Green”, “Blue”, respectively, or
their translations to application’s locale. The names would be unnecessary if each
slider had a LabeledBy
relation to corresponding labels visible in the user
interface.
sourcepub fn cached_name(
&self
) -> Result<Option<<Result<String> as ResultAdapter>::Ok>, <Result<String> as ResultAdapter>::Err>
pub fn cached_name( &self ) -> Result<Option<<Result<String> as ResultAdapter>::Ok>, <Result<String> as ResultAdapter>::Err>
Get the cached value of the Name
property, or None
if the property is not cached.
sourcepub async fn receive_name_changed(
&self
) -> PropertyStream<'p, <Result<String> as ResultAdapter>::Ok>
pub async fn receive_name_changed( &self ) -> PropertyStream<'p, <Result<String> as ResultAdapter>::Ok>
Create a stream for the Name
property changes. This is a convenient wrapper around zbus::Proxy::receive_property_changed
.
sourcepub async fn parent(&self) -> Result<ObjectRef>
pub async fn parent(&self) -> Result<ObjectRef>
ObjectRef parent object of the current object.
Null parent: If the object has no parent (e.g. the application’s root object is being queried), The application should return “” for the application name name and “/org/a11y/atspi/null” for the object path.
Root object: An application must have a single root object, called “/org/a11y/atspi/accessible/root”. All other objects should have that one as their highest-level ancestor.
sourcepub fn cached_parent(
&self
) -> Result<Option<<Result<ObjectRef> as ResultAdapter>::Ok>, <Result<ObjectRef> as ResultAdapter>::Err>
pub fn cached_parent( &self ) -> Result<Option<<Result<ObjectRef> as ResultAdapter>::Ok>, <Result<ObjectRef> as ResultAdapter>::Err>
Get the cached value of the Parent
property, or None
if the property is not cached.
sourcepub async fn receive_parent_changed(
&self
) -> PropertyStream<'p, <Result<ObjectRef> as ResultAdapter>::Ok>
pub async fn receive_parent_changed( &self ) -> PropertyStream<'p, <Result<ObjectRef> as ResultAdapter>::Ok>
Create a stream for the Parent
property changes. This is a convenient wrapper around zbus::Proxy::receive_property_changed
.
Trait Implementations§
source§impl<'p> AsMut<Proxy<'p>> for AccessibleProxy<'p>
impl<'p> AsMut<Proxy<'p>> for AccessibleProxy<'p>
source§impl<'p> AsRef<Proxy<'p>> for AccessibleProxy<'p>
impl<'p> AsRef<Proxy<'p>> for AccessibleProxy<'p>
source§impl<'p> Clone for AccessibleProxy<'p>
impl<'p> Clone for AccessibleProxy<'p>
source§fn clone(&self) -> AccessibleProxy<'p>
fn clone(&self) -> AccessibleProxy<'p>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more