要解决“不在视图中时的Off-Canvas Tabbing Links”问题,您可以使用以下代码示例:
HTML:
CSS:
#offCanvas {
position: fixed;
top: 0;
left: -250px;
width: 250px;
height: 100%;
background: #333;
padding: 20px;
transition: left 0.3s ease;
}
#offCanvas[aria-hidden="true"] {
left: -250px;
}
#offCanvas[aria-hidden="false"] {
left: 0;
}
JavaScript:
var toggleButton = document.getElementById("toggleButton");
var offCanvas = document.getElementById("offCanvas");
toggleButton.addEventListener("click", function() {
var isHidden = offCanvas.getAttribute("aria-hidden");
offCanvas.setAttribute("aria-hidden", isHidden === "true" ? "false" : "true");
// 如果Off-Canvas可见,则将第一个链接设置为焦点
if (isHidden === "true") {
var firstLink = offCanvas.querySelector("a");
firstLink.focus();
}
});
这段代码的作用是创建一个可以切换Off-Canvas可见性的按钮,并给Off-Canvas容器添加了aria-hidden
属性来控制其可见性。当Off-Canvas被隐藏时,aria-hidden
属性被设置为true
,当Off-Canvas可见时,aria-hidden
属性被设置为false
。
在JavaScript部分,我们为切换按钮添加了一个点击事件监听器。当按钮被点击时,它会检查Off-Canvas的aria-hidden
属性,并根据其当前值来切换可见性。如果Off-Canvas变为可见状态,它还会将第一个链接设置为焦点,以便用户可以使用Tab键导航到Off-Canvas链接。
请记住,您可能需要根据自己的需求对代码进行适当的修改和调整。
下一篇:不在视图中显示属性