Skip to main content

AccessSpec

Struct AccessSpec 

Source
pub struct AccessSpec {
Show 17 fields pub role: Option<Role>, pub label: Option<Arc<str>>, pub description: Option<Arc<str>>, pub checked: bool, pub mixed: bool, pub selected: bool, pub expanded: Option<bool>, pub value_now: Option<f32>, pub value_min: Option<f32>, pub value_max: Option<f32>, pub value_text: Option<Arc<str>>, pub value_step: Option<f32>, pub caret: Option<u32>, pub selection_anchor: Option<u32>, pub caret_solid: bool, pub tooltip: bool, pub live: Live,
}
Expand description

Accessibility properties a view states outright, as opposed to the ones the core derives (see crate::access). Boxed on NodeSpec: read only while an access tree is being built, and unset on nearly every node.

Fields§

§role: Option<Role>

What this node is to assistive technology (see crate::access). Unset, the core derives one: a node with on_click is a button, an editor a text input, a scrolling container a scroll view, and a plain box is structure that leaves no trace. Role::None hides the node and its subtree from the access tree (decoration).

§label: Option<Arc<str>>

The accessible name. Without one a button, link, tab or heading is named by the text inside it; an image or an icon button has no name at all, and the core says so (control-without-name, image-without-label warnings).

§description: Option<Arc<str>>

The accessible description, read after the name — what the description prop sets, and what the tooltip prop sets on the way to drawing the same string.

§checked: bool

For checkbox / radio / switch roles: the on state.

§mixed: bool

For a checkbox: neither on nor off, like the select-all box over a list some of whose rows are selected. Wins over checked, which it leaves as it was.

§selected: bool

The current one of a set: a Role::Tab, a picked Role::ListItem, the Role::Link for the page you are on. A tab reports the state either way; a row or a link reports it only where it is set (see crate::access).

§expanded: Option<bool>

For a node that shows and hides something: expanded, or collapsed. None = it does not expand, and says nothing about it.

§value_now: Option<f32>

For a slider role: the current value and its range, so assistive technology can read the position (the drawing stays the view’s).

§value_min: Option<f32>§value_max: Option<f32>§value_text: Option<Arc<str>>

For a slider role: what the position reads as (ARIA’s aria-valuetext). Without one a reader has only the three numbers above and says a percentage — 25 in [5..60] is “36 percent” — so a value whose unit matters says it here: “25 minutes”. It replaces the number rather than joining it (see crate::access), and a nudge announces the new text, not the new number.

§value_step: Option<f32>

For a slider role: how far one arrow key moves it, and the grid a value set by the pointer snaps to. None = a hundredth of the range.

§caret: Option<u32>

On a Role::Line of a custom editor: the caret’s byte offset into the line’s text, and the byte offset of the selection’s other end (see crate::access).

§selection_anchor: Option<u32>§caret_solid: bool

With caret: the caret this line declares does not blink — a block caret in a modal editor’s normal mode — so a driver’s blink clock is not armed on it (Core::has_caret leaves it out) while the offset still anchors the IME and reads to assistive technology. Without it a declared caret is a caret to blink.

§tooltip: bool

Float description below the node while it is hovered — the tooltip prop’s third effect, set by NodeSpec::tooltip. The core reads it as the node opens (Core::hint); a binding that lowers the prop onto a box floats the hint itself and leaves this off. A leaf reads it as it is pushed and floats the hint beside itself, anchored to it, since it holds no children for the hint to be the last of — which is how a binding asks it of a leaf (PropsOut::for_leaf, backlog RG113).

§live: Live

When the text inside this node changes, a reader reads the change without being asked (ARIA’s aria-live). Off by default; a node that declares it is semantic, so a plain box marked live is not elided.

Implementations§

Source§

impl AccessSpec

Source

pub const EMPTY: AccessSpec

The group as a node that declares none of it — what NodeSpec’s accessor hands back when the box is None.

Trait Implementations§

Source§

impl Clone for AccessSpec

Source§

fn clone(&self) -> AccessSpec

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 AccessSpec

Source§

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

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

impl Default for AccessSpec

Source§

fn default() -> AccessSpec

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

impl PartialEq for AccessSpec

Source§

fn eq(&self, other: &AccessSpec) -> 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 AccessSpec

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

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

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

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

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send> ⓘ

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<S> FromSample<S> for S

Source§

fn from_sample_(s: S) -> S

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<F, T> IntoSample<T> for F
where T: FromSample<F>,

Source§

fn into_sample(self) -> T

Source§

impl<T> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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> ToSample<U> for T
where U: FromSample<T>,

Source§

fn to_sample_(self) -> U

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.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,

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