Skip to main content

AccessibilityNode

Struct AccessibilityNode 

Source
struct AccessibilityNode {
    id: NodeId,
    accesskit_node: Node,
    parent_node: Option<WeakRefCell<AccessibilityNode>>,
    child_nodes: Vec<ArcRefCell<AccessibilityNode>>,
    opaque_node: Option<OpaqueNode>,
    dirty_state: DirtyState,
}

Fields§

§id: NodeId

The unique ID for the node. This is used both as a key in AccessibilityTree’s cache of nodes, and as an identifier in accesskit datastructures: accesskit::Nodes, accesskit::TreeUpdates and accesskit::ActionRequests.

§accesskit_node: Node

The computed accesskit::Node data. This will be copied and serialized into a accesskit::TreeUpdate whenever it is changed during an update.

§parent_node: Option<WeakRefCell<AccessibilityNode>>

This node’s parent, if any.

§child_nodes: Vec<ArcRefCell<AccessibilityNode>>

All this node’s children.

§opaque_node: Option<OpaqueNode>

The OpaqueNode for the DOM node which corresponds to this accessibility node, if any. An accessibility node may not correspond to a DOM node if it corresponds to a pseudo-element, or in a test.

§dirty_state: DirtyState

Any dirty state for the current update.

Implementations§

Source§

impl AccessibilityNode

Source

fn new(id: NodeId) -> Self

Source

fn new_with_role(id: NodeId, role: Role) -> Self

Source

fn update_subtree<'dom>( &mut self, ref_self: ArcRefCell<Self>, dom_damage_map: &mut FxHashMap<NodeId, (ServoLayoutNode<'dom>, AccessibilityDamage)>, tree: &mut AccessibilityTree, update: &mut AccessibilityUpdate, ) -> LocalAccessibilityDamage

Update this node and its subtree based on damage from the DOM.

  • First, if this node has damage from the DOM to be resolved, update the node from the DOM tree, recursively populating any new children.
  • Next, recursively call this method for any children which are dirty, or have dirty descendants.
  • Finally, update any properties on this node which are may have changed due to other changes in the tree.

At the end of this method, both has_dirty_descendants and is_dirty should be false for this node and all its descendants.

Source

fn update_ancestors( &self, local_damage: LocalAccessibilityDamage, update: &mut AccessibilityUpdate, )

Update each of this node’s ancestors based on changes which have already been applied in the tree.

Source

fn update_node_and_populate_new_descendants_from_dom_node<'dom>( &mut self, ref_self: ArcRefCell<Self>, dom_node: &ServoLayoutNode<'dom>, dom_damage: AccessibilityDamage, tree: &mut AccessibilityTree, update: &mut AccessibilityUpdate, ) -> LocalAccessibilityDamage

Update the given AccessibilityNode from its corresponding DOM node and AccessibilityDamage. If it has new children, those will be recursively populated here.

Source

fn update_children_and_populate_new_descendants_from_dom_node<'dom>( &mut self, ref_self: ArcRefCell<AccessibilityNode>, dom_node: &ServoLayoutNode<'dom>, dom_damage: AccessibilityDamage, tree: &mut AccessibilityTree, update: &mut AccessibilityUpdate, ) -> LocalAccessibilityDamage

Update this node’s Self::children from its corresponding DOM node. If any children are newly added to the tree, populate them and recursively populate their children.

Source

fn update_properties_from_dom_node( &mut self, dom_node: &ServoLayoutNode<'_>, dom_damage: AccessibilityDamage, ) -> LocalAccessibilityDamage

Update this node’s properties from its corresponding DOM node.

Source

fn update_node_local( &mut self, local_damage: LocalAccessibilityDamage, update: &mut AccessibilityUpdate, ) -> LocalAccessibilityDamage

Update this node’s properties based on changes already made to the accessibility tree. For example, if there were nodes added or removed in its subtree, its computed text may have changed, so that will be recomputed here. If any changes are made, add this node to the given AccessibilityUpdate.

Source

fn label_from_descendants(&self) -> Option<String>

Source

fn print(&self, print_tree: &mut PrintTree)

Source

fn parent(&self) -> Option<ArcRefCell<AccessibilityNode>>

Source

fn children( &self, ) -> impl DoubleEndedIterator<Item = &ArcRefCell<AccessibilityNode>>

Source

fn ancestors(&self) -> impl Iterator<Item = ArcRefCell<AccessibilityNode>>

Source

fn child_ids(&self) -> &[NodeId]

Source

fn role(&self) -> Role

Source

fn set_role(&mut self, role: Role) -> LocalAccessibilityDamage

Source

fn label(&self) -> Option<&str>

Source

fn set_label(&mut self, label: &str) -> LocalAccessibilityDamage

Source

fn clear_label(&mut self) -> LocalAccessibilityDamage

Source

fn html_tag(&self) -> Option<&str>

Source

fn set_html_tag(&mut self, html_tag: &str)

Source

fn value(&self) -> Option<&str>

Source

fn set_value(&mut self, value: &str) -> LocalAccessibilityDamage

Source

fn assert_integrity( &self, expected_parent: Option<WeakRefCell<AccessibilityNode>>, )

Trait Implementations§

Source§

impl Debug for AccessibilityNode

Source§

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

Formats the value using the given formatter. 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> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> Filterable for T

Source§

fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>

Creates a filterable data provider with the given name for debugging. 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> 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> MaybeBoxed<Box<T>> for T

Source§

fn maybe_boxed(self) -> Box<T>

Convert
Source§

impl<T> MaybeBoxed<T> for T

Source§

fn maybe_boxed(self) -> T

Convert
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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> Upcast<T> for T

Source§

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

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

Source§

impl<T> MaybeSendSync for T

Source§

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

Source§

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

Source§

impl<T> WasmNotSendSync for T

Source§

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