【发布时间】:2020-04-14 10:30:39
【问题描述】:
我正在开发一个需要 (a) 无需 JavaScript 且 (b) 可通过键盘访问的网站。
我已经使用标签目标技巧来构建标签视图 (https://css-tricks.com/functional-css-tabs-revisited/),但我注意到它依赖于被点击的标签。我不知道如何使它与键盘一起使用。这可能吗?
.tabs {
background-color: #eee;
min-height: 400px;
}
.tabs__list {
border-bottom: 1px solid black;
display: flex;
flex-direction: row;
list-style: none;
margin: 0;
padding: 0;
position: relative;
}
.tabs__tab {
padding: 0.5rem;
}
.tabs__content {
display: none;
left: 0;
padding: 0.5rem;
position: absolute;
top: 100%;
}
.tabs__input {
display: none;
}
.tabs__input+label {
cursor: pointer;
}
.tabs__input:focus,
.tabs__input:hover {
color: red;
}
.tabs__input:checked+label {
color: red;
}
.tabs__input:checked~.tabs__content {
display: block;
}
<div class="tabs">
<ul class="tabs__list">
<li class="tabs__tab">
<input class="tabs__input" type="radio" id="tab-0" name="tab-group" checked>
<label for="tab-0" class="tabs__label" tabindex="0" role="button">Tab 0</label>
<div class="tabs__content">
Tab 0 content
</div>
</li>
<li class="tabs__tab">
<input class="tabs__input" type="radio" id="tab-1" name="tab-group">
<label for="tab-1" class="tabs__label" tabindex="0" role="button">Tab 1</label>
<div class="tabs__content">
Tab 1 content
</div>
</li>
</ul>
</div>
【问题讨论】:
-
我认为没有 JS 是不可能的。请与我分享代码。
-
为您接受的答案添加了一些修复,因为它存在一些大问题,希望对您有所帮助!
标签: css accessibility wai-aria