你最喜欢的创建无障碍菜单的方法是什么?

时间:2019-03-28 作者:MikeNGarrett

我有一系列技巧可以用来添加诸如aria标记、键盘导航、屏幕阅读器文本和其他功能。我很想看看你的。

假设这是一个符合WCAG 2.1 AA指南或更好的多层菜单。假设这是一个典型的WordPress菜单,我们需要尽可能少的内容管理知识。假设菜单有响应。

wp_nav_menu(
  array(
    \'theme_location\' => \'main\',
    \'depth\'          => 2,
  )
);
我期待着看到你有什么!

1 个回复
SO网友:MikeNGarrett

Kevin Leary posted a snippet to add aria-expanded tags 2018年。我喜欢它的简单。

他描述了我们在这里做的事情:

这是w3提供的“弹出(或下拉)菜单”的推荐方法。组织,更多信息fly-out menu accessibility 可以直接在他们的网站上阅读。

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

相关推荐

Add extra markup to WP menus

我被要求将一个HTML网站重新开发为一个WP主题,它有一个非常高级的菜单结构,我不太确定如何复制它。第二个菜单项有一个子菜单,但它不仅仅是“li”中的“ul”,还有额外的div等。。因为下拉列表有3列布局,其中2列包含子链接,第3列包含内容。这是一个示例:<ul class=\"nav navbar-nav three\"> <li class=\"dropdown yamm-fw\"> <a href=\"#\" class=\"dropdown-toggl