Skip to main content

SemanticsProps

Struct SemanticsProps 

Source
pub struct SemanticsProps {
Show 39 fields pub layout: LayoutStyle, pub role: SemanticsRole, pub label: Option<Arc<str>>, pub test_id: Option<Arc<str>>, pub value: Option<Arc<str>>, pub placeholder: Option<Arc<str>>, pub url: Option<Arc<str>>, pub level: Option<u32>, pub orientation: Option<SemanticsOrientation>, pub numeric_value: Option<f64>, pub min_numeric_value: Option<f64>, pub max_numeric_value: Option<f64>, pub numeric_value_step: Option<f64>, pub numeric_value_jump: Option<f64>, pub scroll_x: Option<f64>, pub scroll_x_min: Option<f64>, pub scroll_x_max: Option<f64>, pub scroll_y: Option<f64>, pub scroll_y_min: Option<f64>, pub scroll_y_max: Option<f64>, pub focusable: bool, pub value_editable: Option<bool>, pub disabled: bool, pub read_only: bool, pub required: bool, pub invalid: Option<SemanticsInvalid>, pub hidden: bool, pub visited: bool, pub multiselectable: bool, pub busy: bool, pub live: Option<SemanticsLive>, pub live_atomic: bool, pub selected: bool, pub expanded: Option<bool>, pub checked: Option<bool>, pub active_descendant: Option<NodeId>, pub labelled_by_element: Option<u64>, pub described_by_element: Option<u64>, pub controls_element: Option<u64>,
}
Expand description

A transparent semantics wrapper for structuring the accessibility tree.

This is intentionally input-transparent (hit-test passes through) and paint-transparent: it only contributes layout and semantics.

Note: Semantics is a real layout wrapper. Do not use it only to stamp test_id / labels for UI automation; prefer AnyElement::attach_semantics (SemanticsDecoration) to avoid subtle layout regressions.

Fields§

§layout: LayoutStyle§role: SemanticsRole§label: Option<Arc<str>>§test_id: Option<Arc<str>>

Debug/test-only identifier for deterministic automation.

This MUST NOT be mapped into platform accessibility name/label fields by default.

§value: Option<Arc<str>>§placeholder: Option<Arc<str>>§url: Option<Arc<str>>§level: Option<u32>

Optional hierarchy level for outline/tree semantics (1-based).

§orientation: Option<SemanticsOrientation>§numeric_value: Option<f64>§min_numeric_value: Option<f64>§max_numeric_value: Option<f64>§numeric_value_step: Option<f64>§numeric_value_jump: Option<f64>§scroll_x: Option<f64>§scroll_x_min: Option<f64>§scroll_x_max: Option<f64>§scroll_y: Option<f64>§scroll_y_min: Option<f64>§scroll_y_max: Option<f64>§focusable: bool

Whether this semantics wrapper participates in focus traversal.

Note: this is intentionally separate from pointer hit-testing. Semantics remains input-transparent; use Pressable when you need pointer-driven focus.

§value_editable: Option<bool>

Overrides whether this node supports SetValue actions (text or numeric).

For TextField roles, this surfaces as the platform’s “set value” action surface.

For Slider roles, this is interpreted as stepper semantics and maps to Increment/Decrement actions. SetValue for sliders is derived conservatively by the runtime when sufficient numeric metadata is present.

§disabled: bool§read_only: bool§required: bool§invalid: Option<SemanticsInvalid>§hidden: bool§visited: bool§multiselectable: bool§busy: bool§live: Option<SemanticsLive>§live_atomic: bool§selected: bool§expanded: Option<bool>§checked: Option<bool>§active_descendant: Option<NodeId>§labelled_by_element: Option<u64>

Declarative-only: element ID of a node which labels this node.

This is an authoring convenience for relationships like aria-labelledby where the target is another declarative element. The runtime resolves this into a NodeId during semantics snapshot production.

§described_by_element: Option<u64>

Declarative-only: element ID of a node which describes this node.

This is an authoring convenience for relationships like aria-describedby where the target is another declarative element. The runtime resolves this into a NodeId during semantics snapshot production.

§controls_element: Option<u64>

Declarative-only: element ID of a node which this node controls.

This is an authoring convenience for relationships like aria-controls where the target is another declarative element. The runtime resolves this into a NodeId during semantics snapshot production.

Trait Implementations§

Source§

impl Clone for SemanticsProps

Source§

fn clone(&self) -> SemanticsProps

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 SemanticsProps

Source§

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

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

impl Default for SemanticsProps

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more