最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

accessibility - What are some of your favorite methods for creating an accessible menu?

matteradmin4PV0评论

I have a series of tricks that I use to add things like aria tags, keyboard navigation, screen reader text, and other features. I would love to see some of yours.

Assume this is a multi-tiered menu meeting WCAG 2.1 AA guidelines or better. Assume this is a typical WordPress menu and we're requiring as little content manager knowledge as you can. Assume the menu is responsive.

wp_nav_menu(
  array(
    'theme_location' => 'main',
    'depth'          => 2,
  )
);

I look forward to seeing what you have!

I have a series of tricks that I use to add things like aria tags, keyboard navigation, screen reader text, and other features. I would love to see some of yours.

Assume this is a multi-tiered menu meeting WCAG 2.1 AA guidelines or better. Assume this is a typical WordPress menu and we're requiring as little content manager knowledge as you can. Assume the menu is responsive.

wp_nav_menu(
  array(
    'theme_location' => 'main',
    'depth'          => 2,
  )
);

I look forward to seeing what you have!

Share Improve this question asked Mar 28, 2019 at 2:56 MikeNGarrettMikeNGarrett 2,6711 gold badge20 silver badges29 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

Kevin Leary posted a snippet to add aria-expanded tags in 2018. I love the simplicity of it.

He describes what we're doing here:

This is the recommended approach for “fly-out (or drop-down) menus” provided by the w3, more on fly-out menu accessibility can be read on their site directly.

function my_nav_menu_link_attributes( $atts, $item, $args ) {
    if ( 'main' === $args->theme_location ) {
        $item_has_children = in_array( 'menu-item-has-children', $item->classes );
        if ( $item_has_children ) {
            $atts['aria-haspopup'] = 'true';
            $atts['aria-expanded'] = 'false';
        }
    }
    return $atts;
}
add_filter( 'nav_menu_link_attributes', 'my_nav_menu_link_attributes', 10, 3 );
Post a comment

comment list (0)

  1. No comments so far