我想使标题(H1标记)自动聚焦在页面加载,以便屏幕阅读器可以阅读标题。
使用下面的代码,我使它按预期工作。<fieldset> <h1 role="alert"> <a id="specialfocusable" tabIndex={-1}> Component A </a> </h1> </fieldset>
我的应用程序就像一个步进器,我们从component A
移动到Component B
类似于Component B
移动到component A
。
问题是当从Component B
导航到component A
时,屏幕阅读器无法读取标题文本。
请帮我解决这个问题,因为我找不到任何解决方案.
下面是应用程序链接https://stackblitz.com/edit/react-ts-ckrut8?file=a.tsx
1条答案
按热度按时间7d7tgy0s1#
简单地清理这些代码就足够了:
接着是
发布的代码中有很多错误,这可能会导致屏幕阅读器出现问题。
最重要的是,它改变了H1的角色。大多数屏幕阅读器用户依靠查找标题来定位和导航。例如,有一些快捷方式可以帮助直接跳转到H1。
由于焦点已移到标题,因此不需要
alert
。它将在焦点上发布。一个
<fieldset>
is for forms并且需要一个可访问的名称。它在这里是无效的。如何应对?
要聚焦一个元素,需要访问呈现的DOM。因此,将
ref
属性与useRef()
一起使用