4路由焦点位于页面底部

kse8i1jr  于 2021-09-23  发布在  Java
关注(0)|答案(0)|浏览(219)

赏金7天后到期。此问题的答案有资格获得+200声誉奖励。马克·拉斯穆森想引起更多的注意这个问题。

我的脑子里有个很烦人的问题 Ionic 4 当我更改页面时,屏幕阅读器的焦点位于页面底部,这意味着我的用户必须反向浏览内容才能访问我的应用程序 main 内容部分。
我做了一些研究,这似乎是一个问题 Angular Angular 可访问性文档
在这里,他们建议你应该把重点放在 main 内容。
但是,当我尝试使用以下方法时:

ionViewDidEnter() {
    const mainHeader = document.querySelector('#mainContent');
    if (mainHeader) {
      (mainHeader as HTMLElement)?.focus();
    }
  }

它实际上什么都没做。
有没有人遇到过类似的问题,并且知道我如何解决它?
编辑
我也试过了 viewChild :

@ViewChild('mainPage') mainContent: ElementRef;    
  ngOnInit() {
    this.router.events.pipe(filter(e => e instanceof NavigationEnd)).subscribe(() => {
      this.mainContent.nativeElement.focus();
    });
  }

以及设置 mainPage 元素的 tabIndex=0 :

<div #mainPage tabindex="0"><ion-router-outlet main></ion-router-outlet></div>

但仍然没有焦点。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题