add aria-current to link (#2540)
This commit is contained in:
1 parent
c094bf3ec3
commit
f7820d8d94
2 files changed
+6
-2
No files matched your search
@@ -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}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in new issue
Block a user