Angular对话框框键盘可访问性,但未将焦点初始化在对话框框。
创始人
2024-10-24 15:31:31
0

在Angular中,要实现对话框的初始键盘焦点,可以使用Angular Material Dialog模块提供的选项。

首先,在打开对话框时,需要将焦点设置在要让用户聚焦的元素上,可以使用@ViewChild装饰器来获取模板中的DOM元素。

例如,在模板中添加一个按钮作为焦点元素:


  

然后在组件代码中获取该按钮元素,将焦点设置在它上面:

import { Component, ElementRef, ViewChild, AfterViewInit } from '@angular/core';
import { MatDialogRef } from '@angular/material/dialog';

@Component({
  selector: 'dialog-example',
  templateUrl: 'dialog-example.html',
})
export class DialogExampleComponent implements AfterViewInit {
  @ViewChild('focusEl', { static: false }) focusEl: ElementRef;

  constructor(
    public dialogRef: MatDialogRef) {}

  ngAfterViewInit(): void {
    this.focusEl.nativeElement.focus();
  }
}

在这个示例中,使用了Angular Material对话框模块提供的MatDialogRef API来处理对话框的行为。

最后,当打开该对话框时,可以设置对话框选项,以便让对话框跳过其它可聚焦元素,直接将焦点设置在按钮元素上:

import { Component } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { DialogExampleComponent } from './dialog-example.component';

@Component({
  selector: 'app-root',
  template: '',
})
export class AppComponent {
  constructor(private dialog: MatDialog) {}

  openDialog(): void {
    const dialogRef = this.dialog.open(DialogExampleComponent, {
      autoFocus: false,
    });

    dialogRef.afterClosed().subscribe(() => {

相关内容

热门资讯

据统计!hhpoker可以开挂... 据统计!hhpoker可以开挂吗(透视)一直真的有挂(有挂详细开挂辅助辅助器)-哔哩哔哩1、上手简单...
刚刚!约局吧德州真的存在透视吗... 刚刚!约局吧德州真的存在透视吗,pokemmo辅助工具,教材教程(今日头条)-哔哩哔哩1、约局吧德州...
据报道!哈糖大菠萝免费辅助器(... 据报道!哈糖大菠萝免费辅助器(透视)原来真的是有挂(有挂教学开挂辅助插件)-哔哩哔哩1、哈糖大菠萝免...
近日!wpk透视辅助下载,we... 近日!wpk透视辅助下载,wepoker透视脚本苹果版,机巧教程(真的有挂)-哔哩哔哩进入游戏-大厅...
来临!竞技联盟辅助(透视)原来... 来临!竞技联盟辅助(透视)原来真的是有挂(确实有挂开挂辅助平台)-哔哩哔哩1)竞技联盟辅助辅助挂:进...
据公告内容!pokemmo脚本... 据公告内容!pokemmo脚本,拱趴大菠萝有什么挂,技法教程(有挂方略)-哔哩哔哩1、拱趴大菠萝有什...
此事迅速冲上热搜!拱趴大菠萝万... 此事迅速冲上热搜!拱趴大菠萝万能挂(透视)一贯真的有挂(有挂分析开挂辅助插件)-哔哩哔哩1、下载好拱...
备受关注的!WePoKer辅助... 备受关注的!WePoKer辅助器,hhpoker有辅助吗,模块教程(确实有挂)-哔哩哔哩1、游戏颠覆...
不少玩家反映!德州之星扫描器(... 不少玩家反映!德州之星扫描器(透视)其实是有挂的(有挂分享开挂辅助软件)-哔哩哔哩1、完成德州之星扫...
相较于以往!hhpoker德州... 相较于以往!hhpoker德州有挂吗,hhpoker是内部控制吗,教程书教程(有挂细节)-哔哩哔哩1...