mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-11-10 06:34:20 +00:00
add aria-current to link (#2540)
This commit is contained in:
parent
c094bf3ec3
commit
f7820d8d94
2 changed files with 6 additions and 2 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue