Skip to main content

Node

Struct Node 

Source
pub struct Node { /* private fields */ }
Expand description

A node in an accessibility tree snapshot, with navigation.

Node dereferences to NodeData, so all properties (role, name, value, states, etc.) are accessible via field access. Navigation methods (parent(), children(), query()) use the shared snapshot — no platform refetch occurs.

Nodes are cheap to clone (they share the underlying snapshot via Arc).

Implementations§

Source§

impl Node

Source

pub fn new(snapshot: Arc<Tree>, index: u32) -> Self

Create a Node handle from a snapshot and an index into the snapshot.

Source

pub fn tree(&self) -> &Arc<Tree>

Get the underlying snapshot (Tree) this node belongs to.

Used by provider crates for action dispatch.

Source

pub fn node_index(&self) -> u32

Get the node’s index within its snapshot.

Used by provider crates for action dispatch.

Source

pub fn parent(&self) -> Option<Node>

Get the parent node, if any (root has no parent).

Uses the snapshot — no platform refetch.

Source

pub fn children(&self) -> Vec<Node>

Get direct children of this node.

Uses the snapshot — no platform refetch.

Source

pub fn subtree(&self) -> Vec<Node>

Get the subtree rooted at this node (including this node).

Uses the snapshot — no platform refetch.

Source

pub fn query(&self, selector_str: &str) -> Result<Vec<Node>>

Query nodes matching a CSS-like selector string within this snapshot.

Searches the entire snapshot (not just this node’s subtree). Uses the snapshot — no platform refetch.

Trait Implementations§

Source§

impl Clone for Node

Source§

fn clone(&self) -> Node

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Node

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for Node

Source§

type Target = NodeData

The resulting type after dereferencing.
Source§

fn deref(&self) -> &NodeData

Dereferences the value.
Source§

impl Display for Node

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Serialize for Node

Source§

fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error>

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Node

§

impl RefUnwindSafe for Node

§

impl Send for Node

§

impl Sync for Node

§

impl Unpin for Node

§

impl UnsafeUnpin for Node

§

impl UnwindSafe for Node

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.