Skip to main content

SemanticsConfiguration

Struct SemanticsConfiguration 

Source
pub struct SemanticsConfiguration {
Show 43 fields pub content_description: Option<String>, pub state_description: Option<String>, pub on_click_label: Option<String>, pub on_click: Option<SemanticsCustomAction>, pub on_long_click: Option<SemanticsLongClick>, pub on_long_click_label: Option<String>, pub on_magic_tap: Option<SemanticsMagicTap>, pub on_magic_tap_label: Option<String>, pub input_labels: Vec<String>, pub language: Option<String>, pub role: Option<SemanticsWidgetRole>, pub selected: Option<bool>, pub toggled: Option<ToggleableState>, pub enabled: bool, pub is_clickable: bool, pub is_editable_text: bool, pub multiline: bool, pub text: Option<String>, pub text_selection: Option<TextRange>, pub custom_actions: Vec<SemanticsCustomAction>, pub canvas_children: Vec<CanvasSemanticsNode>, pub is_modal: bool, pub hidden: bool, pub merge_descendants: bool, pub selectable_group: bool, pub pane_title: Option<String>, pub error: Option<String>, pub password: bool, pub traversal_index: f32, pub test_tag: Option<String>, pub live_region: Option<LiveRegionMode>, pub progress: Option<ProgressBarRangeInfo>, pub set_progress: Option<SemanticsSetProgress>, pub set_text: Option<SemanticsSetText>, pub set_selection: Option<SemanticsSetSelection>, pub expand: Option<SemanticsExpand>, pub dismiss: Option<SemanticsDismiss>, pub collapse: Option<SemanticsExpand>, pub vertical_scroll: Option<ScrollAxisRange>, pub horizontal_scroll: Option<ScrollAxisRange>, pub scroll_by: Option<SemanticsScrollBy>, pub scroll_to_index: Option<SemanticsScrollToIndex>, pub collection: Option<CollectionInfo>,
}
Expand description

Semantics configuration for accessibility.

Fields§

§content_description: Option<String>

What a screen reader reads as the name of the node. Compose’s contentDescription.

§state_description: Option<String>

Compose’s stateDescription.

§on_click_label: Option<String>

Compose’s onClick(label = …); implies clickable.

§on_click: Option<SemanticsCustomAction>

Activation callback for controls whose pointer gesture is handled separately. Invoked by keyboard and native accessibility activation after validation.

§on_long_click: Option<SemanticsLongClick>

What this control does when a screen reader asks for its long press. Compose’s onLongClick.

§on_long_click_label: Option<String>

What the long press does, as a verb phrase a reader reads out: “Remove receipt”. Compose’s onLongClick(label = …).

§on_magic_tap: Option<SemanticsMagicTap>

What this control does on VoiceOver’s magic tap, and on the other platforms as an action listed by Self::on_magic_tap_label. SwiftUI’s accessibilityAction(.magicTap).

§on_magic_tap_label: Option<String>

What the magic tap does, as a verb phrase a reader reads out: “Take the photo”.

§input_labels: Vec<String>

The short names a person says to Voice Control to reach this control, when the name a reader hears is too long to say. SwiftUI’s accessibilityInputLabels; iOS only.

§language: Option<String>

The language of this control’s text as a BCP 47 tag, “de” or “pt-BR”, so a reader picks the right voice for it. SwiftUI’s accessibilityLanguage, ARIA’s lang.

§role: Option<SemanticsWidgetRole>

Compose’s Role.

§selected: Option<bool>

Whether the control is selected. None means the control has no selected state.

§toggled: Option<ToggleableState>

Whether the control is on, off or partly on. Compose’s toggleableState.

§enabled: bool

Whether the control accepts input. A disabled control is announced as such.

§is_clickable: bool

Whether the control reacts to a click.

§is_editable_text: bool

Whether the node is a text field a user edits.

§multiline: bool

Whether an editable field accepts line breaks, independent of its current text.

§text: Option<String>

The text an editable field holds, read as its value. Compose’s editableText.

§text_selection: Option<TextRange>

The selection or the caret of an editable field, as byte offsets into its text.

§custom_actions: Vec<SemanticsCustomAction>

Named actions that a screen reader lists in its actions menu for the node.

§canvas_children: Vec<CanvasSemanticsNode>

Controls this node drew itself instead of laying out. See CanvasSemanticsNode.

§is_modal: bool

Whether this node takes over the screen: everything outside it is inert, and a screen reader keeps its traversal inside.

§hidden: bool

Whether a screen reader skips this node and everything under it: a decorative image, or a placeholder drawn under a named field. Compose’s hideFromAccessibility.

§merge_descendants: bool

Whether a screen reader takes this node and the text under it as one stop, the way it does for a button: a row whose name, count and price belong together. Compose’s mergeDescendants.

§selectable_group: bool

Whether the selectable controls under this node form one group, so a screen reader says which of how many a tab or a radio button is. Compose’s selectableGroup.

§pane_title: Option<String>

The title of the screen or pane this node is the root of, read out when the app moves to it. Compose’s paneTitle.

§error: Option<String>

Why the control’s content is wrong, read after its state: “invalid, the amount needs a number”. Compose’s error.

§password: bool

Whether this field holds a secret, so screen readers never receive its text and native editors use protected input. Compose’s password.

§traversal_index: f32

Where a screen reader visits this node among the ones beside it: a smaller number comes first, and nodes left at zero keep the order the app laid them out in. Compose’s traversalIndex.

§test_tag: Option<String>

A name tests find this node by. Screen readers never receive it. Compose’s testTag.

§live_region: Option<LiveRegionMode>

Compose’s liveRegion. When set, a screen reader reads this node again whenever its text changes, without the user moving to it.

§progress: Option<ProgressBarRangeInfo>

Compose’s progressBarRangeInfo. A control with it is adjustable: a screen reader offers its own way to move the value.

§set_progress: Option<SemanticsSetProgress>

What the control does when a screen reader moves its value. Compose’s setProgress.

§set_text: Option<SemanticsSetText>

What this field does when a screen reader or a voice tool hands it text. Compose’s setText.

§set_selection: Option<SemanticsSetSelection>

What this field does when a screen reader moves its caret or picks a stretch of its text. Compose’s setSelection.

§expand: Option<SemanticsExpand>

What this control does when a screen reader asks it to open. A control that says so reads as closed. Compose’s expand.

§dismiss: Option<SemanticsDismiss>

What this control does when a screen reader asks to send it away: a row a sighted person swipes off, a sheet a sighted person taps outside of. Compose’s dismiss.

§collapse: Option<SemanticsExpand>

What this control does when a screen reader asks it to close. A control that says so reads as open. Compose’s collapse.

§vertical_scroll: Option<ScrollAxisRange>

How far this container scrolled up and down. Compose’s verticalScrollAxisRange.

§horizontal_scroll: Option<ScrollAxisRange>

How far this container scrolled left and right. Compose’s horizontalScrollAxisRange.

§scroll_by: Option<SemanticsScrollBy>

What this container does when a screen reader pages it. Compose’s scrollBy.

§scroll_to_index: Option<SemanticsScrollToIndex>

What this list does when a screen reader asks for the row at an index, so a reader reaches row 300 without paging to it. Compose’s scrollToIndex.

§collection: Option<CollectionInfo>

How many rows and columns this list holds. Compose’s collectionInfo.

Implementations§

Source§

impl SemanticsConfiguration

Source

pub fn new() -> SemanticsConfiguration

An empty spec to build on. Every field is what it is with no semantics declared at all.

Source

pub fn content_description( self, name: impl Into<String>, ) -> SemanticsConfiguration

The name a screen reader reads for the control. Compose’s contentDescription.

Source

pub fn test_tag(self, tag: impl Into<String>) -> SemanticsConfiguration

A name tests find this node by. Screen readers never receive it. Compose’s testTag.

Source

pub fn state_description( self, state: impl Into<String>, ) -> SemanticsConfiguration

What the control says about itself after its name. Compose’s stateDescription.

Source

pub fn clickable(self) -> SemanticsConfiguration

A screen reader offers to activate the control. Compose’s onClick.

Source

pub fn on_click( self, label: impl Into<String>, action: impl Fn() + 'static, ) -> SemanticsConfiguration

Handles keyboard and screen-reader activation without adding a pointer gesture. An empty label uses the platform’s default activation instruction.

Source

pub fn on_long_click( self, label: impl Into<String>, action: impl Fn() -> bool + 'static, ) -> SemanticsConfiguration

What the control does when a screen reader asks for its long press, and the verb phrase a reader reads out for it. Compose’s onLongClick(label) { … }.

Source

pub fn on_magic_tap( self, label: impl Into<String>, action: impl Fn() -> bool + 'static, ) -> SemanticsConfiguration

What the control does on VoiceOver’s magic tap, and the verb phrase the other platforms list it under. SwiftUI’s accessibilityAction(.magicTap).

Source

pub fn input_labels<S>( self, labels: impl IntoIterator<Item = S>, ) -> SemanticsConfiguration
where S: Into<String>,

The short names a person says to Voice Control to reach the control. SwiftUI’s accessibilityInputLabels.

Source

pub fn language(self, tag: impl Into<String>) -> SemanticsConfiguration

The language of the control’s text, as a BCP 47 tag. SwiftUI’s accessibilityLanguage, ARIA’s lang.

Source

pub fn toggled( self, toggled: impl Into<ToggleableState>, ) -> SemanticsConfiguration

Whether the control is on, off or partly on. Compose’s toggleableState; a bool is on or off.

Source

pub fn selected(self, selected: bool) -> SemanticsConfiguration

Whether the control is the one picked out of a group. Compose’s selected.

Source

pub fn role(self, role: SemanticsWidgetRole) -> SemanticsConfiguration

What kind of control a screen reader reads this as. Compose’s Role.

Source

pub fn heading(self) -> SemanticsConfiguration

Reads as a heading, so a reader can jump between the headings of a screen. Compose’s heading().

Source

pub fn error(self, message: impl Into<String>) -> SemanticsConfiguration

Why the control’s content is wrong. Compose’s error.

Source

pub fn password(self) -> SemanticsConfiguration

Holds a secret, so no reader reads the text out. Compose’s password.

Source

pub fn pane_title(self, title: impl Into<String>) -> SemanticsConfiguration

Names the screen or pane this node is the root of. Compose’s paneTitle.

Source

pub fn traversal_index(self, index: f32) -> SemanticsConfiguration

Where a reader visits this node among the ones beside it. Compose’s traversalIndex.

Source

pub fn hidden(self) -> SemanticsConfiguration

Skips this node and everything under it. Compose’s hideFromAccessibility.

Source

pub fn merge_descendants(self) -> SemanticsConfiguration

Takes this node and the text under it as one stop. Compose’s mergeDescendants.

Source

pub fn selectable_group(self) -> SemanticsConfiguration

Makes the selectable controls under this node one group. Compose’s selectableGroup.

Source

pub fn live_region(self, mode: LiveRegionMode) -> SemanticsConfiguration

Reads this node again whenever its text changes. Compose’s liveRegion.

Source

pub fn merge(&mut self, other: &SemanticsConfiguration)

Folds other into this configuration. A value that other sets replaces the value here. enabled stays true only when both are enabled, the boolean flags turn true when either is true, and the lists are appended.

Source

pub fn is_activatable(&self) -> bool

Whether a screen reader should offer activation. A named click label is how Compose declares onClick, so it implies the action the same way.

Trait Implementations§

Source§

impl Clone for SemanticsConfiguration

Source§

fn clone(&self) -> SemanticsConfiguration

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 SemanticsConfiguration

Source§

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

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

impl Default for SemanticsConfiguration

Source§

fn default() -> SemanticsConfiguration

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

impl PartialEq for SemanticsConfiguration

Source§

fn eq(&self, other: &SemanticsConfiguration) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for SemanticsConfiguration

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> AnyEq for T
where T: Any + PartialEq,

Source§

fn equals(&self, other: &(dyn Any + 'static)) -> bool

Source§

fn as_any(&self) -> &(dyn Any + 'static)

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> ErasedDestructor for T
where T: 'static,

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

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.