pub enum A11yMode {
Cooperative,
StrictlyParallel,
}Expand description
AT-emission strategy for SceneView. Decides whether items /
widgets that have not been placed in the app-declared logical
tree appear in the AT tree by default, or are suppressed.
Pick Cooperative when the visual scene layout is a sensible
AT structure for your app (charts, dashboards, simple maps).
Pick StrictlyParallel when AT shape diverges meaningfully
from visual layout — story corkboards (Acts → Scene cards),
node-graph editors (Subgraphs → Nodes → Ports), CAD canvases
(Layers → Components). Apps in this category typically declare
every AT edge anyway, so the default visual-emission becomes
noise.
Variants§
Cooperative
Default. Visual is the AT structure unless overridden.
Items inside the off-screen-mode policy emit as direct AT
children of SceneView (or their declared logical parent
if set_a11y_parent placed them). Heavyweight widgets
emit through the arena walker as natural descendants of
SceneView. The logical-tree machinery layers on
top.
StrictlyParallel
AT structure is purely declared. Items are emitted only
if the app placed them in the logical tree via
Scene::set_a11y_parent. Heavyweight widgets still emit
(they own focus / interaction state the AT layer can’t
suppress) but their parent in the AT tree is the declared
logical parent if any, else SceneView itself.
Use this when your app’s AT shape is fundamentally different from its visual layout — declaring every node once is cheaper than overriding the visual default for every node.
Trait Implementations§
impl Copy for A11yMode
impl Eq for A11yMode
impl StructuralPartialEq for A11yMode
Auto Trait Implementations§
impl Freeze for A11yMode
impl RefUnwindSafe for A11yMode
impl Send for A11yMode
impl Sync for A11yMode
impl Unpin for A11yMode
impl UnsafeUnpin for A11yMode
impl UnwindSafe for A11yMode
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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