【发布时间】:2020-05-20 19:57:19
【问题描述】:
出于可访问性的原因,我一直试图让我的手风琴使用键盘标签。我已经使用焦点并尝试了各种方法,但我仍然没有运气。不幸的是,我只是添加到一个原始的 CSS 文件中,所以我不确定是否有什么东西会阻止它?
如你所见,我所需要的只是一些简单的东西。
https://codepen.io/sazzak13/pen/eYpbNVm或代码如下:
var acc = document.getElementsByClassName("accordion-cw");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener("click", function () {
this.classList.toggle("active-accordian-cw");
var panel = this.nextElementSibling;
if (panel.style.display === "block") {
panel.style.display = "none";
} else {
panel.style.display = "block";
}
});
}
.accordion-cw {
background-color: #e2e0e0;
color: #333333;
cursor: pointer;
padding: 18px;
width: 100%;
text-align: left;
outline: none;
transition: 0.4s;
}
.active-cw, .accordion-cw:hover, .accordion:focus {
background-color: #d2d2d2;
}
.panel-cw {
padding: 0 18px;
background-color: #E6E6E6;
display: none;
overflow: hidden;
}
.accordion-cw:after {
content: '\02795';
font-size: 13px;
color: #777;
float: right;
margin-left: 5px;
}
.active-cw:after {
content: "\2796";
}
enter code here
<h1>Accordions!</h1>
``<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>
<button class="accordion-cw">Test</button>
<div class="panel-cw">
<ul aria-hidden="true">
<li>Some text</li>
<li>More text</li>
<li>And some more</li>
</ul>
</div>
<button class="accordion-cw">Test 2</button>
<div class="panel-cw">
<ul aria-hidden="false">
<li>Some text</li>
<li>More text</li>
<li>And some more</li>
</ul>
</div>
提前谢谢你(这里是菜鸟!) 莎拉
【问题讨论】:
-
这里,也许试试这个例子。它仅使用 css 工作,我们可以使用 tab 进入它并使用空格键切换它stackoverflow.com/questions/15095933/…
标签: javascript html css accessibility