fix: a11y nodes

This commit is contained in:
Ashley Wulber 2024-11-11 16:44:54 -05:00
parent f1353e1ce2
commit ea406698bd
No known key found for this signature in database
GPG key ID: 5216D4F46A90A820
3 changed files with 23 additions and 18 deletions

View file

@ -403,13 +403,8 @@ where
cursor: mouse::Cursor,
) -> iced_accessibility::A11yTree {
let c_layout = layout.children().next().unwrap();
let c_state = state.children.get(0);
self.content.as_widget().a11y_nodes(
c_layout,
c_state.unwrap_or(&Tree::empty()),
cursor,
)
self.content.as_widget().a11y_nodes(c_layout, state, cursor)
}
fn drag_destinations(

View file

@ -334,18 +334,12 @@ where
tree: &Tree,
cursor_position: mouse::Cursor,
) -> iced_accessibility::A11yTree {
use std::rc::Rc;
let tree = tree.state.downcast_ref::<Rc<RefCell<Option<Tree>>>>();
if let Some(tree) = tree.borrow().as_ref() {
self.content.borrow().element.as_widget().a11y_nodes(
layout,
&tree.children[0],
cursor_position,
)
} else {
iced_accessibility::A11yTree::default()
}
let state = tree.state.downcast_ref::<State>().tree.borrow();
self.content.borrow().element.as_widget().a11y_nodes(
layout,
&*state,
cursor_position,
)
}
fn id(&self) -> Option<core::widget::Id> {

View file

@ -360,6 +360,22 @@ where
);
}
}
fn a11y_nodes(
&self,
layout: Layout<'_>,
state: &Tree,
cursor: mouse::Cursor,
) -> iced_accessibility::A11yTree {
let c_state = state.children.get(0);
let ret = self.content.as_widget().a11y_nodes(
layout,
c_state.unwrap_or(&Tree::empty()),
cursor,
);
return ret;
}
}
impl<'a, Message, Theme, Renderer> From<MouseArea<'a, Message, Theme, Renderer>>