【发布时间】:2022-01-18 01:21:41
【问题描述】:
我对 React 和 Javascript 非常陌生,但希望有人能够提供有关如何可靠地将键盘焦点切换到路由更改的想法。在下文中,选择 LHS 上的任何菜单项(以绿色框为示例)会导致主屏幕(橙色框)发生变化,但按 Enter 后键盘焦点仍保留在 LHS 上。
我试图实现的是键盘焦点切换为突出显示的文本(蓝色框),从而从可用性的角度提供更好的体验。在搜索了谷歌之后,我相信实现这一目标的命令是以下之一:
document.getElementById('content-container').focus();
document.getElementById('reviews-in-progress-title').focus();
声明的 ID 是调试工具中蓝色框中的 ID。它们分别代表主屏幕和特定元素,但是,都没有达到预期的效果。
我能够使用以下方法将焦点切换到红色框中突出显示的元素:
document.getElementById('sortable-column-manuscriptTitle').focus();
所以,我对地板的问题是:为什么我能够将焦点切换到红色框,而不是蓝色框?感觉这将是一个非常普遍(并且已解决/理解)的问题,但我目前无法破解它。如有任何意见,我们将不胜感激。
谢谢, 菲尔
【问题讨论】:
-
你可以试试Tab Index
-
不是答案,但这可能有用 - css-tricks.com/how-to-create-a-skip-to-content-link
标签: javascript reactjs accessibility