html - 使用 HTML/CSS 创建 ARIA 角色菜单

标签 html css wai-aria

所以我已经设置了代码,但我不确定如何合并制表符/箭头以便它移动到子菜单上。

这是一个 jsfiddle:https://jsfiddle.net/Fep5Q/60/

这是我的 HTML 代码的一部分:

<div role="navigation" aria-label="Main menu" id="menuwrapper">
<ul class="nav" role="menubar" aria-hidden="false">
   <li><a href="#">MENU 1</a>
        <ul role="menu">
            <li role="menuitem" aria-haspopup="true"><a href="">TEST1</a></li>
            <li role="menuitem" aria-haspopup="true">TEST2</a></li>
            <li role="menuitem" aria-haspopup="true">TEST3</a></li>
            <li role="menuitem" aria-haspopup="true">TEST4</a></li>
            <li role="menuitem" aria-haspopup="true">TEST5</a></li>
        </ul> 

最佳答案

在你的 css 中,你的 li 应该向左浮动。

#menuwrapper ul, #menuwrapper ul li{
    float:left;
}

这是您的解决方案。

#menuwrapper ul, #menuwrapper ul li{
    margin:0;
    padding:0;
    list-style:none;
       float:left;
   
}

/* We apply background color and border bottom white and width to 150px */
#menuwrapper ul li{
    background-color:#7f95db;
    border-bottom:solid 1px white;
    width:150px;
    cursor:pointer;
  
}

/* We apply the background hover color when user hover the mouse over of the li component */
#menuwrapper ul li:hover{
    background-color:#6679e9;
    position:relative;
}

/* We apply the link style */
#menuwrapper ul li a{
    padding:5px 15px;
    color:#ffffff;
    display:inline-block;
    text-decoration:none;
}

/**** SECOND LEVEL MENU ****/
/* We make the position to absolute for flyout menu and hidden the ul until the user hover the parent li item */
#menuwrapper ul li ul{
    position:absolute;
    display:none;
}

/* When user has hovered the li item, we show the ul list by applying display:block, note: 150px is the individual menu width.  */
#menuwrapper ul li:hover ul{
    left:150px;
    top:0px;
    display:block;
}

/* we apply different background color to 2nd level menu items*/
#menuwrapper ul li ul li{
    background-color:#cae25a;
}

/* We change the background color for the level 2 submenu when hovering the menu */
#menuwrapper ul li:hover ul li:hover{
    background-color:#b1b536;
}

/* We style the color of level 2 links */
#menuwrapper ul li ul li a{
    color:#454444;
    display:inline-block;
    width:120px;
}

/* Clear float */
.clear{
    clear:both;
}
<div role="navigation" aria-label="Main menu" id="menuwrapper">
	<ul class="nav" role="menubar" aria-hidden="false">
       <li><a href="#">MENU 1</a>
            <ul role="menu">
				<li role="menuitem" aria-haspopup="true"><a href="">TEST1</a></li>
				<li><a href="">TEST2</a></li>
				<li><a href="">TEST3</a></li>
				<li><a href="">TEST4</a></li>
				<li><a href="">TEST5</a></li>
            </ul> 
        <li><a href="#">MENU 2</a>
            <ul>
				<li><a href="">TEST1</a></li>
				<li><a href="">TEST2</a></li>
				<li><a href="">TEST3</a></li>
				<li><a href="">TEST4</a></li>
				<li><a href="">TEST5</a></li>
            </ul>
        </li>
        <li><a href="#">MENU 3</a>
            <ul>
				<li><a href="">TEST1</a></li>
				<li><a href="">TEST2</a></li>
				<li><a href="">TEST3</a></li>
				<li><a href="">TEST4</a></li>
				<li><a href="">TEST5</a></li>
            </ul>
        </li>
        <li><a href="#">MENU 4</a>
            <ul>
				<li><a href="">TEST1</a></li>
				<li><a href="">TEST2</a></li>
				<li><a href="">TEST3</a></li>
				<li><a href="">TEST4</a></li>
				<li><a href="">TEST5</a></li>
            </ul>
        <li><a href="#">MENU 5</a>
            <ul>
				<li><a href="">TEST1</a></li>
				<li><a href="">TEST2</a></li>
				<li><a href="">TEST3</a></li>
				<li><a href="">TEST4</a></li>
				<li><a href="">TEST5</a></li>
            </ul> 
		</li>
		</ul>	
</div>	

随心所欲地查看和修改。

关于html - 使用 HTML/CSS 创建 ARIA 角色菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33358937/

相关文章:

javascript - onmouseout 时弹出窗口消失

javascript - 如何仅增加文字大小?

html - 在保留滚动功能的同时删除滚动条

html - 侧边栏的 ARIA 地标角色,其中包含主导航

javascript - 将 aria-live 设置为在读出焦点中的 DOM 元素之前读取更新

html - 使 <a> 标签可点击以获得更大的区域

javascript - 一次只允许一个 draggable 在一个 droppable 中,允许任何一个被删除

javascript - CartoDB - 单击某个点时缩放到特定范围?

css - Firefox 拒绝转换元素

html - Aria-label 不适用于带有 NVDA 的 Chrome 和 Firefox