我想創建一個只有最初隱藏的HTML和CSS的下拉菜單,然後在用戶使用鼠標懸停後出現在屏幕上或標籤到鏈接上。HTML/CSS:焦點選擇器和Tab鍵在Firefox/Windows 7中不起作用
懸停方面工作正常,但我似乎無法讓我的菜單隻使用鍵盤或Tab鍵正常工作。
下面是摘錄:
#menu {display: none;}
a:focus + #menu {display: block;}
<a href="#menu">Drop Down Menu</a>
<div id="menu">
<ul>
<li><a href="#">Test Link 1</a></li>
<li><a href="#">Test Link 2</a></li>
<li><a href="#">Test Link 3</a></li>
<li><a href="#">Test Link 4</a></li>
</ul>
</div>
tab鍵切換到「下拉菜單」鏈接並顯示被隱藏的鏈接,但我不能標籤到子鏈接,一旦他們上露面屏幕。我嘗試將tabindex =「0」屬性添加到所有div,ul和li元素,但似乎也無法解決問題。
我是新來的網頁設計,也許我失去了一些東西。任何建議,將不勝感激。
感謝。我做這件事的唯一原因是專門用於用戶可訪問性,所以我想遠離JavaScript,如果可能的話,基本功能。在我發佈之後,我一直在搜索google,並且發現提到DOM不包括顯示的信息:頁面加載時沒有元素。但是,我可以在IE8中使用display:none,:focus和tabindex來獲得Tab鍵訪問權限。所以我不確定IE瀏覽器如何或爲什麼在頁面加載後允許最初隱藏的元素被選中,而Firefox不支持。 –
沒問題。沒有JavaScript,菜單就永遠不會被隱藏起來,使其可以被屏幕閱讀器訪問等。雖然性能受到影響,但在這種情況下沒有足夠的差異,但我同意,如果可以使用CSS要走的路。讓我知道如果你找到一個CSS解決方案! –