您将如何以及何时在 Button 元素上使用 tabIndex=0?
How and when would you be using tabIndex=0 on your Button element?
我目前正在开发我的 React 应用程序并尝试制作多个按钮,以响应 click
和 keydown
事件。浏览 Stack Overflow 和一些 YouTube 教程时,我注意到他们一直在按钮上使用 tabIndex=0
属性 并结合某种 key
事件。我想知道为什么这样做?您将如何以及何时在 Button
元素上使用 tabIndex=0
?
tabindex 用于键盘导航。例如,对于使用屏幕阅读器的人。 tabindex=0 确定第一个元素将在您按下 tab 键后获得焦点。
tabindex
正如您可能已经发现的那样,允许元素接收键盘焦点,即通过按 Tab 键导航。 tabIndex 的值为 0
的原因是它不会更改 Tab 键顺序,因此保持 Tab 键顺序符合页面的逻辑流程
将索引值设置为大于 1,定义指定的 Tab 顺序,这并不理想,因为:
- 无法通过重新排列内容中的元素来更改 Tab 键顺序。
- 对于视障用户,屏幕阅读器将按照值的顺序阅读带有
tabindex
的元素,这些元素的顺序可能与页面中显示的顺序不同。
因此在使用 tabindex 时,请确保将其值设置为 0
。
我目前正在开发我的 React 应用程序并尝试制作多个按钮,以响应 click
和 keydown
事件。浏览 Stack Overflow 和一些 YouTube 教程时,我注意到他们一直在按钮上使用 tabIndex=0
属性 并结合某种 key
事件。我想知道为什么这样做?您将如何以及何时在 Button
元素上使用 tabIndex=0
?
tabindex 用于键盘导航。例如,对于使用屏幕阅读器的人。 tabindex=0 确定第一个元素将在您按下 tab 键后获得焦点。
tabindex
正如您可能已经发现的那样,允许元素接收键盘焦点,即通过按 Tab 键导航。 tabIndex 的值为 0
的原因是它不会更改 Tab 键顺序,因此保持 Tab 键顺序符合页面的逻辑流程
将索引值设置为大于 1,定义指定的 Tab 顺序,这并不理想,因为:
- 无法通过重新排列内容中的元素来更改 Tab 键顺序。
- 对于视障用户,屏幕阅读器将按照值的顺序阅读带有
tabindex
的元素,这些元素的顺序可能与页面中显示的顺序不同。
因此在使用 tabindex 时,请确保将其值设置为 0
。