如何选择用户可以按Tab键导航到的所有元素?

我是否必须对输入,文本区域,a,按钮等进行硬编码,或者是否可以通过浏览器的默认名称进行识别?

我最终想要实现的目标是:Default tabbing behavior puts links behind sticky header

最佳答案

您可以编写一个函数来查询每个可聚焦的元素,并过滤掉那些被禁用的元素,因为这样会禁用聚焦。

const getKeyboardFocusableElements = (element = document) =>
  Array.from(element.querySelectorAll(
    'a, button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])'
  )).filter(el => !el.hasAttribute('disabled'));

关于javascript - 如何选择用户可以使用JavaScript浏览的所有html元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60985577/

10-12 00:13
查看更多