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

I have a series of tricks that I use to add things like aria tags, keyboard navigation, screen reader text, and other fe

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 );

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745651570a4638297.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信