Skip to main content

SemanticNode

Struct SemanticNode 

Source
pub struct SemanticNode {
    pub label: Option<String>,
    pub role: Role,
    pub value: Option<String>,
    pub heading_level: Option<u8>,
    pub href: Option<String>,
    pub children: Vec<SemanticNode>,
}
Expand description

A node in the accessibility (semantics) tree.

The semantics tree mirrors the visual element tree but carries only the information assistive technologies need. It is rebuilt alongside the render tree and diffed separately.

Fields§

§label: Option<String>

Human-readable label announced by screen readers.

§role: Role

The ARIA role of this node.

§value: Option<String>

The node’s current value, if any (a TextInput’s typed text, a Slider/ProgressBar’s numeric value as a string, …) — distinct from label, which is the node’s accessible NAME, not its content.

§heading_level: Option<u8>

1..=6 for Role::Heading (<h1>-<h6>); None for every other role, including a heading whose level genuinely isn’t known (falls back to <h2> at the HTML-mapping step, not here).

§href: Option<String>

The link target for Role::Link (<a href="...">); None for every other role.

§children: Vec<SemanticNode>

Child semantic nodes.

Implementations§

Source§

impl SemanticNode

Source

pub fn new() -> Self

Creates a new SemanticNode with no label, Role::Unknown, and no children.

Source

pub fn label(self, label: impl Into<String>) -> Self

Sets the accessible label for this node.

Source

pub fn role(self, role: Role) -> Self

Sets the ARIA role for this node.

Source

pub fn value(self, value: impl Into<String>) -> Self

Sets the node’s current value (see the field doc for how this differs from label).

Source

pub fn heading_level(self, level: u8) -> Self

Sets the heading level (1..=6) — meaningful only for Role::Heading.

Source

pub fn href(self, href: impl Into<String>) -> Self

Sets the link target — meaningful only for Role::Link.

Source

pub fn child(self, node: SemanticNode) -> Self

Appends a child semantic node.

Trait Implementations§

Source§

impl Clone for SemanticNode

Source§

fn clone(&self) -> SemanticNode

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for SemanticNode

Source§

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

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

impl Default for SemanticNode

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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<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, 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.