add aria-current to link (#2540)

This commit is contained in:
Maja Piechotka authored and GitHub committed 2024-06-19 17:11:28 -05:00
1 parent c094bf3ec3
commit f7820d8d94
2 files changed
+6 -2

No files matched your search

+4 -1
View File
@@ -195,7 +195,7 @@ impl Debug for LinkProps {
/// # vdom.rebuild_in_place();
/// # assert_eq!(
/// # dioxus_ssr::render(&vdom),
/// # r#"<a href="/" dioxus-prevent-default="" class="link_class active" rel="link_rel" target="_blank" id="link_id">A fully configured link</a>"#
/// # r#"<a href="/" dioxus-prevent-default="" class="link_class active" rel="link_rel" target="_blank" aria-current="page" id="link_id">A fully configured link</a>"#
/// # );
/// ```
#[allow(non_snake_case)]
@@ -252,6 +252,8 @@ pub fn Link(props: LinkProps) -> Element {
Some(class_)
};
let aria_current = (href == current_url).then_some("page");
let tag_target = new_tab.then_some("_blank");
let is_external = matches!(parsed_route, NavigationTarget::External(_));
@@ -286,6 +288,7 @@ pub fn Link(props: LinkProps) -> Element {
class,
rel,
target: tag_target,
aria_current,
..attributes,
{children}
}
+2 -1
View File
@@ -173,10 +173,11 @@ fn with_active_class_active() {
}
let expected = format!(
"<h1>App</h1><a {href} {default} {class}>Link</a>",
"<h1>App</h1><a {href} {default} {class} {aria}>Link</a>",
href = r#"href="/""#,
default = r#"dioxus-prevent-default="onclick""#,
class = r#"class="test_class active_class""#,
aria = r#"aria-current="page""#,
);
assert_eq!(prepare::<Route>(), expected);