为什么“a”标签需要“tabindex=0”?

2024-02-11

我正在开发一个网络应用程序,其中一个重复的应用程序a当我通过 Tab 键浏览页面时,(锚点)元素没有获得键盘焦点。仅当我添加tabindex=0我可以点击它吗?

(虽然我的目标是使焦点可见,但我正在使用 jQuery 片段确定元素是否获得焦点:

// Whenever I hit tab, show me which element has focus
$('main').on('keydown',function(e) { 
  var keyCode = e.keyCode || e.which; 

  if (keyCode == 9) { 
    console.log("focus is now on ", $(':focus'));
  } 
});

)

这让我很困惑。根据规格 http://www.w3.org/html/wg/drafts/html/master/dom.html#interactive-content,“tabindex属性还可以使任何元素变成交互式内容”——但是a是他们默认列为交互式的项目之一。

再次,摘自一篇可访问性文章:

[tabindex] 值为 0 表示该元素应放置在 默认导航顺序。这允许元素不是天生的 可聚焦的(例如

)来接收键盘焦点。 当然,通常应该对所有内容使用链接和表单控件 互动元素... (http://webaim.org/techniques/keyboard/tabindex http://webaim.org/techniques/keyboard/tabindex)

当我通过选项卡浏览页面的交互元素时,什么会导致锚元素被跳过?


根据你的问题:

当我通过 Tab 键浏览时,什么会导致锚元素被跳过 页面的交互元素?

如果你添加tabindex="-1"该元素将被跳过。
如果你的<a>标签没有href,它也会被跳过。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么“a”标签需要“tabindex=0”? 的相关文章

  • 动态添加jinja模板

    我有一个 jinja 模板 它是一组 div 标签内的唯一内容 div include temppage html div 当我按下按钮时 我想用其他内容替换标签之间的所有内容 我希望用另一个 jinja 模板 include realpa
  • 在嵌入式 Jetty 上使用 DefaultServlet 提供静态 html 文件

    我正在开发一个需要独立的项目 因此我决定将 Jetty 嵌入到我的应用程序中 我将提供静态 HTML 页面 一些 JSP 页面 并且还将使用一些自定义 servlet 我找到了一个完美的示例 说明如何设置嵌入式 Jetty 来完成所有这一切
  • 如何使用 ui-router 中的 ui-sref 将参数传递给控制器

    我需要传递和接收两个参数到我想要转换到的状态ui srefui router 的 例如使用下面的链接将状态转换为home with foo and bar参数 a Go to home state with foo and bar para
  • 输入和文本区域可以拖动吗?

    MDN 规范以及我能通过 Google 找到的每个网站都说所有 HTML 元素都可以拖动 然而 在实践中 我发现我无法拖动文本输入或文本区域 即使它们已被禁用 例如 使用以下代码 img src http www placehold it
  • 放大 div 内的图像而不移动 div

    如何使图像在此 div 比例内 而不在悬停时进行实际的 div 缩放 所以我只想放大图像 这是代码 div img src some image div Use transform scale container display inlin
  • 向上/向下滚动到带有固定按钮的部分

    我想构建一个用于向上 向下滚动到页面部分标签的脚本 我的源代码如下所示 HTML div class move div class previous UP div div class next DOWN div div section Fi
  • Struts html:text 标签内的 HTML5 占位符

    我在 Web 应用程序中使用 Struts 1 3 10 并且希望我的文本字段有一个占位符 不幸的是 当前的 Struts taglib 无法识别此属性 如果可能的话 我希望避免使用 javascript 你知道有什么解决办法吗 Strut
  • IndexedDB - 对象存储与多个数据库与索引?

    我想知道什么时候使用单个数据库与具有多个对象存储的数据库是一个好主意 我阅读了网络上的大多数教程并查看了 indexedDB 的规范 但找不到比较这些不同概念的好例子 有没有人有此类事情的具体示例 使用多个对象存储和 或代码的设计模型 只要
  • 防止隐藏的输入被更改

    这一直让我压力很大 我有一个隐藏的输入
  • Angular4 - 滚动到锚点

    我正在尝试对同一页面上的锚元素进行简单的滚动 基本上 用户点击 尝试 按钮 它就会滚动到页面下方 ID 为 登录 的区域 现在 它正在与一个基本的id login a href login a 但它正在跳转到该部分 理想情况下 我希望它滚动
  • Firefox 上的 Angular JS 输入日期

    我有这些输入和这个模型
  • 如何在 Safari 上打开本地 html 文件?

    我想打开本地 html 文件Safari集成到我的Swift 3应用 我知道如何使用网址来做到这一点 这是我用来执行此操作的代码 let encodedString url addingPercentEncoding withAllowed
  • 使用无图像按钮有哪些优点?

    讨论关于这个答案 https stackoverflow com questions 520640 how can i use googles new imageless button how could i reverse enginee
  • 不要让最终用户保存密码[重复]

    这个问题在这里已经有答案了 可能的重复 禁用浏览器 保存密码 功能 https stackoverflow com questions 32369 disable browser save password functionality 是否
  • 有没有办法根据渲染的字符串创建 DOM 对象?

    有没有办法从整个字符串而不只是innerHTML 创建DOM 对象 我有一个完整呈现的 DOM 形式的字符串
  • Intro.js 2页然后返回首页

    我在用intro js http introjs com 为我的网站创建一个小介绍 我希望游览从第 1 页 主页 2 另一页 然后回到第 1 页 主页 我已经成功地从第 1 2 页开始 但不确定如何让它返回到第 1 页 我对 javascr
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 如何在html中设置按钮的文本大小

    您好 我想在我的网站上有一个按钮 并且我想调整按钮上的文本大小 我该怎么做呢 我的代码如下
  • Rails 中的 PDF 导出

    我需要将包含一些图表的 HTML 页面导出为 PDF 有哪些好的 gem 可以做到这一点 PDFKit http railscasts com episodes 220 pdfkit http railscasts com episodes
  • iframe 主体删除空间

    我的 iframe 风格为style width 100 几乎覆盖了页面宽度 但它在左侧和右侧留下了一个小边距 所以我添加了body margin 0px 删除空间 它有效 但问题是删除边距影响其他事物 例如段落 p inside 有没有办

随机推荐

  • Spark 读取路径/文件名中包含空格的 csv 文件时出错

    我想使用 Spark 读取 csv 文件 文件的路径有空格 Spark 正在将空格替换为 20 这是代码 val tmpDF spark read format com databricks spark csv option multiLi
  • 在 Android 上运行标准 Java 代码

    我想在 Android 上运行我的 Java 代码 但我对活动不熟悉 如何在 Activity 上调用 WordPuzzle 安卓活动 public class Puzzle extends Activity public void onC
  • 我正在尝试创建一个可访问的
  • Spring MVC 与 hibernate Validator 来验证单个基本类型

    下面是我遇到问题的映射方法 无论我传递给它什么值 验证都会返回 通过验证 RequestMapping value test method RequestMethod POST ResponseBody public String getT
  • 网站不同部分使用不同的 SSL 证书

    我在 example com 上有一个网站 它从 s example com 亚马逊 Cloudfront 发行版 加载所有静态组件 现在我想让 example com 的一些页面使用 https 所以我想我应该为 example com
  • 了解 Kafka 主题和分区

    我开始学习卡夫卡 在阅读过程中 我想到了一些问题 当生产者生成消息时 它会指定topic它想要将消息发送到 是对的吗 它关心分区吗 当订阅者运行时 它是否指定其组ID 以便它可以成为同一主题或该组消费者感兴趣的多个主题的消费者集群的一部分
  • 使用 Jquery 将剪贴板图像复制到网页中

    我想将剪贴板图像复制到网页中 前任 用户单击打印屏幕按钮 打开网页 单击 CTRL V 图像将上传到网页 可以使用 jquery javascript 或 PHP 吗 在火狐浏览器中可以吗 提前致谢 恐怕不是 不是 您必须让用户将屏幕截图保
  • 在哪里更改oracle 11g中的NLS_DATE_FORMAT?

    我需要更改存储过程中的 NLS DATE FORMAT 似乎它是一个会话变量 我应该在哪里更改变量掩码 应该在全局声明中还是其他地方完成 我的意思是从前端 如果您想更改过程中的 NLS 参数 则可以使用DBMS SESSION SET NL
  • 元素“标题”出现次数太少,ASP.NET.MVC 母版页中出现 XHTML 验证警告

    我在 ASP NET MVC 母版页中收到以下 XHTML 验证警告 验证 XHTML 1 0 Transitional 元素 title 出现的次数太少 母版页的标题标签包含在 head 标签的 ContentPlaceHolder 中
  • NLTK数据安装问题

    我正在尝试在 Mac OSX 10 9 上安装 NLTK Data NLTK 3 0文档中提到 要设置的下载目录是 usr share nltk data 用于集中安装 但对于这条路径 我收到错误 OSError Errno 13 权限被拒
  • 运算符重载Python自定义类

    假设我想重载一个运算符 假设 现在 对于我创建的一些课程 class A object code here 进而 a A b A 我会做什么来定义 c a b 或类似的规定 注意 这个问题纯粹是理论上的 我可能会在某个时候使用它 只是目前不
  • C++:这个运算符^是什么? [复制]

    这个问题在这里已经有答案了 int main std string original Hello world std string decrypted std string encrypted char key x cout lt lt O
  • 使用 SqlConnection 和 VB.NET 创建 ASP.NET 聚合源

    这似乎是 Scott Mitchell 撰写的一篇很棒的文章 用于创建联合提要ASP NET 3 5 对我来说 问题是它使用 C 和 Linq 目前我对这两种语言不太熟悉 http dotnetslackers com articles a
  • Elastic Beanstalk 无法识别文件的绝对路径,返回 FileNotFoundError

    我正在使用 AWS Elastic Beanstalk 运行 Flask 应用程序 应用程序部署成功 但我的代码中有一个任务使用 pandasread csv从 csv 文件中提取数据 代码行是 form1 pd read csv opt
  • 为什么 numberOfSectionsInTableView 在 UITableViewController 中被调用两次?

    是否还有其他原因 除了调用 reloadData 为什么 numberOfSectionsInTableView 被调用两次 我进行了调试 发现在初始启动期间 当没有调用自定义 reloadData 语句时 它会被调用两次 我已经使用 IB
  • 部署 MVC,无需关闭整个站点

    假设我想对我的 MVC 项目的一个视图中的某些内容进行更改 一些非常简单的事情 比如删除一个句子或添加一个句号或其他东西 因此 据我所知 我必须重新发布整个网站 然后删除整个网站并用新发布的集合替换它 我想知道是否有一种方法 如果我对单个页
  • 如何从 Ubuntu 19.10 卸载 python 3.7?

    我在用着Ubuntu 19 10 其中有python的版本3 7 发布后python 3 8 我已经安装了 现在我想卸载python 3 7这样每当我打电话时python3在我的终端中 它总是会调用python3 8 您不需要为此卸载旧版本
  • 如何在不绑定V​​iewModel(MVVM)中UI的情况下使用android导航?

    我正在使用在 Google I O 2018 上展示的 Android 导航 似乎我可以通过绑定到某些视图或使用NavHost从 Fragment 中获取它 但我需要的是根据几个条件从我的第一个片段导航到 ViewModel 的另一个特定视
  • if else 和 #if #else #endif 之间的区别

    我很困惑if else and if else endif结构体 它们之间有什么区别 我应该在哪些具体情况下使用它们 if and else 条件在运行时评估 if else由预处理器在编译之前进行评估
  • 为什么“a”标签需要“tabindex=0”?

    我正在开发一个网络应用程序 其中一个重复的应用程序a当我通过 Tab 键浏览页面时 锚点 元素没有获得键盘焦点 仅当我添加tabindex 0我可以点击它吗 虽然我的目标是使焦点可见 但我正在使用 jQuery 片段确定元素是否获得焦点 W