이 웹 사이트에는 마우스로 가리키면 이미지가 두 개 표시됩니다. 키보드 전용 사용자가 사이트를 통해 탭 할 수 있기를 원합니다. 탭을 사용하면 마우스를 가져 가면 메뉴가 나타납니다. :focus
및 tabindex=0
과 관련된 많은 솔루션을 읽었지만 제대로 작동하지 않는 것 같습니다. 나는 을 <a>
태그에 넣으려고 시도했으나 그렇게 할 것인지를 확인하려고 시도했지만 그렇지 않습니다. 탭 키를 사용하여 표시 할 호버 메뉴를 얻을 수 있다면 버튼이 잘 탭핑 될 것입니다. 나는 명백한 것을 놓치고 있을지도 모르지만, 나는이 모든 것들로 초보자입니다. CSS를 통해 가능하지 않은 경우 JS 솔루션을 제안 할 수 있습니까?Tab 키를 누를 때 호버 메뉴 표시
HTML
<div class="thumbnail thumbnail-medium-short">
<div class="nqspCover-container">
<img src="img/stuff.jpg" alt="Front cover" width="180px" height="233px">
<div class="overlay">
<div class="read-button"><a href="urlhere">Read</a></div>
<div class="buy-button"><a href="urlhere">Buy</a></div>
</div>
</div>
<div class="nqsp-caption">
<p>stuff</p>
</div>
</div>
CSS 나는 그들이 그것 (에 탭, 배경 IMG와 버튼을 걱정하지 않을 때 팝업 필요 호버 메뉴의
.nqspCover-container {
position: relative;
width: 180px;
height: 233px;
margin: 0 auto;
}
.overlay {
position: absolute;
display: flex;
align-items: center;
justify-content: center;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0);
transition: background 0.5s ease;
}
.nqspCover-container:hover .overlay {
background: rgba(0,0,0,.3);
}
.buy-button{
margin-top: 40px;
}
.read-button, .buy-button{
position: absolute;
width: 65px;
padding: 5px 15px;
border: solid 2px white;
opacity: 0;
transition: opacity .35s ease;
}
.read-button a, .buy-button a{
text-decoration: none;
text-align: center;
color: white;
}
.nqspCover-container:hover .read-button,
.nqspCover-container:hover .buy-button{
opacity: 1;
}
.read-button a:hover, .buy-button a:hover{
text-decoration: underline;
}
.read_button a:focus, .buy-button a:focus{
display: block;
}
예 완료되면 확실히 보이지 않을 것입니다.) :
@floor 아니요, 그렇게하면 광경 사용자는 버튼을 볼 수 없으며 (마우스를 가리면 사라집니다) 포커스가 작동합니다. 버튼 (호버 메뉴의 각 버튼에 대해 두 번 탭을 눌러야합니다. 페이지의 다른 요소에 눈에 띄게 초점이 맞춰지기 전에). 그러나 호버 메뉴가 보이지 않기 때문에 초점을 실제로 볼 수 없습니다. . – Stuff
한 번에 하나의 요소 만 포커스를 가질 수 있으므로': focus'만으로는 이것을 할 수 없습니다. 그것이 바로'': focus-within' (https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within) 가상 클래스가 해결되었지만 브라우저 호환성을 인식하고있는 것입니다 ; MicroSoft의 현재 두 브라우저는 아직 지원하지 않습니다. JS 솔루션이나 적어도 : focus-within'을위한 polyfill이 필요합니다. – CBroe
@CBroe 고마워, 도움이되었다. 따라서 모든 브라우저가 지원하는 마법의 세계에서 말하자면 페이지 내에서 포커스를 사용하고 탭을 탭하면 실제로 포커스가 주어지면 탭 키가 실제로 * 표시됩니다 (키보드를 사용하지 않고) * ? 나는 이것이 내가 정말로 붙어있는 것이라고 생각한다. "집중"이 정말로 내가 필요로하는 것을 실제로하는지 모른다. 해당 포커스가 탭 또는 클릭 될 때 어떤 방식으로 요소를 강조 표시하지만 실제로 보이지 않는 경우 실제로 요소 표시를 할 것인가? 나는 아니오쪽으로 기울고있다. – Stuff