- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个网站正在尝试使其更易于访问。我希望当用户通过链接(焦点)进行选项卡时,菜单将下拉并继续让用户通过子菜单链接进行选项卡。子菜单链接完成后,它会跳至下一个主菜单项。
这是导航代码的缩写版本:
<nav id="main-menu-con" class="mmenucon">
<div class="menu-menu-1-container">
<ul id="menu-menu-1" class="main-menu-items">
<li id="menu-item-51" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-51"><a href="http://rgb.2bf.myftpupload.com/" aria-current="page">Home</a></li>
<li id="menu-item-5508" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-5508"><a href="http://rgb.2bf.myftpupload.com/books-more/">Books & More</a>
<ul class="sub-menu" style="display: none; visibility: visible;">
<li id="menu-item-5517" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5517"><a href="http://rgb.2bf.myftpupload.com/books-more/browse-our-catalog/">Browse our Catalog</a></li>
<li id="menu-item-5512" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5512"><a href="http://rgb.2bf.myftpupload.com/books-more/learning-and-research/">Learning and Research</a></li>
</ul>
</li>
<li id="menu-item-53" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-53"><a href="http://rgb.2bf.myftpupload.com/e-library/">E-Library</a>
<ul class="sub-menu" style="display: none;">
<li id="menu-item-9223" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9223"><a href="http://rgb.2bf.myftpupload.com/e-library/lynx-libraries-app/">Lynx! Libraries App</a></li>
<li id="menu-item-9068" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9068"><a href="http://rgb.2bf.myftpupload.com/e-library/overdrive-libby/">Overdrive/Libby</a></li>
</ul>
</li>
</ul>
</div>
</nav>
子菜单最初是由 jQuery 隐藏的,我相信,通过以下代码:
jQuery(document).ready(function(){ 'use strict'; jQuery("#main-menu-con ul ul").css({display: "none"});
并通过以下代码在鼠标悬停时显示:
jQuery('#main-menu-con ul li').hover( function() { jQuery(this).find('ul:first').slideDown(300).css('visibility', 'visible'); }, function() { jQuery(this).find('ul:first').slideUp(100); });
我不确定这是否正确,因为当您将鼠标悬停时,子菜单的显示从“无”变为“阻止”。
我希望当菜单处于聚焦状态时也能发生同样的情况。我不确定是否需要在 JS 中执行此操作,或者 CSS 是否可以工作。
我不太擅长 JS(我认为这是最好的方法),所以我尝试了这些版本:
jQuery('#main-menu-con ul li').focusin( function() { jQuery(this).find('ul').css('visibility', 'visible');});
jQuery('#main-menu-con ul li').focusin( function() { jQuery(this).find('ul').css('display', 'block');});
jQuery('#main-menu-con ul li a').focus( function() { jQuery(this).find('ul:first').slideDown(300).css('display','block'); }, function() { jQuery(this).find('ul:first').slideUp(100); });
没有任何效果。
我还尝试通过此代码使用 CSS 来定位它。
li a:focus + .sub-menu {
display: block !important;
}
这似乎有效,但我不确定这是最好的方法,因为当焦点移动到下一个菜单时,下拉菜单仍然可见。
如果网站链接有帮助,请在此处:http://rgb.2bf.myftpupload.com/
最佳答案
I would like that when a user tabs through links (focus) the menu will drop down and continue to let the user tab through submenu links.
恐怕这与可访问性完全相反。
为了易于访问,您需要一个菜单,您必须通过enter
键(或space
键)激活下拉菜单。
假设您的网站已经扩展,因此您有 5 个顶级菜单项,每个菜单项有 10 个子项,用户必须按 Tab 键 50 次以上才能到达最后一个菜单项。
但是,如果您有相同的场景,但使用 enter
激活子菜单,则制表位的最大数量为 15(5 个选项卡,输入,10 个选项卡)。
对于您的网站,当前到达“我的帐户”的制表位数量为 45。
通过更改菜单结构,使向下箭头激活下拉菜单,到达“我的帐户”的制表位数量为 11,到达“我如何 > 志愿服务”的数量为 11 Kuna Library' 的值为 30(两个示例都包含 4 个用于下拉菜单的新制表位)。
一个好的起点是 this example from W3.org (“Space Bears”显示了正在运行的下拉菜单),它显示了 2 个替代方案(一种是父项不链接到页面,另一种是带有下拉图标,因此顶级项仍然可以链接到页面)。
这不是一个完美的例子,但它会让您更接近于在其他网站上使用的真正可访问的菜单结构和系统。
关于jquery - 使菜单下拉焦点以方便访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59328987/
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 4 年前。 Improv
PowerShell Web Access 允许您通过 Web 浏览器运行 PowerShell cmdlet。它显示了一个基于 Web 的控制台窗口。 有没有办法运行 cmdlet 而无需在控制台窗
我尝试在无需用户登录的情况下访问 Sharepoint 文件。 我可以通过以下任一方式获取访问 token 方法一: var client = new RestClient("https://logi
我目前正在尝试通过 Chrome 扩展程序访问 Google 服务。我的理解是,对于 JS 应用程序,Google 首选的身份验证机制是 OAuth。我的应用目前已成功通过 OAuth 向服务进行身份
假设我有纯抽象类 IHandler 和派生自它的类: class IHandler { public: virtual int process_input(char input) = 0; };
我有一个带有 ThymeLeaf 和 Dojo 的 Spring 应用程序,这给我带来了问题。当我从我的 HTML 文件中引用 CSS 文件时,它们在 Firebug 中显示为中止。但是,当我通过在地
这个问题已经有答案了: JavaScript property access: dot notation vs. brackets? (17 个回答) 已关闭 6 年前。 为什么这不起作用? func
我想将所有流量重定向到 https,只有 robot.txt 应该可以通过 http 访问。 是否可以为 robot.txt 文件创建异常(exception)? 我的 .htaccess 文件: R
我遇到了 LinkedIn OAuth2: "Unable to verify access token" 中描述的相同问题;但是,那里描述的解决方案并不能解决我的问题。 我能够成功请求访问 toke
问题 我有一个暴露给 *:8080 的 Docker 服务容器. 我无法通过 localhost:8080 访问容器. Chrome /curl无限期挂断。 但是如果我使用任何其他本地IP,我就可以访
我正在使用 Google 的 Oauth 2.0 来获取用户的 access_token,但我不知道如何将它与 imaplib 一起使用来访问收件箱。 最佳答案 下面是带有 oauth 2.0 的 I
我正在做 docker 入门指南:https://docs.docker.com/get-started/part3/#recap-and-cheat-sheet-optional docker-co
我正在尝试使用静态 IP 在 AKS 上创建一个 Web 应用程序,自然找到了一个带有 Nginx ingress controller in Azure's documentation 的解决方案。
这是我在名为 foo.js 的文件中的代码。 console.log('module.exports:', module.exports) console.log('module.id:', modu
我试图理解访问键。我读过https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-se
我正在使用 MGTwitterEngine"将 twitter 集成到我的应用程序中。它在 iOS 4.2 上运行良好。当我尝试从任何 iOS 5 设备访问 twitter 时,我遇到了身份验证 to
我试图理解访问键。我读过https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-se
我正在使用以下 API 列出我的 Facebook 好友。 https://graph.facebook.com/me/friends?access_token= ??? 我想知道访问 token 过
401 Unauthorized - Show headers - { "error": { "errors": [ { "domain": "global", "reas
我已经将我的 django 应用程序部署到 heroku 并使用 Amazon s3 存储桶存储静态文件,我发现从 s3 存储桶到 heroku 获取数据没有问题。但是,当我测试查看内容存储位置时,除
我是一名优秀的程序员,十分优秀!