【发布时间】:2018-12-01 03:10:41
【问题描述】:
我在父组件上有可点击的链接,它将在其顶部启动自定义模式。我在 safari ios VoiceOver 上仅在模态中捕获焦点时遇到了很大的问题。滑动焦点位于父可点击链接的后面。我怎样才能只关注模态并在模态弹出后完全禁用父组件。
我的应用程序在 Angular 5 上
这里是模态模板
<div class="modal-backdrop modal-open fade in" data-backdrop="static" data-keyboard="false"></div>
<div class="modal fade in" id="confirmModal" role="dialog" aria-labelledby="modal-title" data-keyboard="false" (keydown.escape)="cancel()" >
<div class="modal-content">
<div class="modal-header">
<button type="button" id="btnClose" class="fa fa-times close" data-dismiss="modal" aria-label="Close" (tap)="cancel()" (keydown.spacebar)="cancel()" (click)="cancel($event)" (keydown.space)="cancel()" (keydown.enter)="cancel();" (keydown.tab)="onTab()" (keydown.shift.tab)="onShiftTab()" (keydown.escape)="cancel()" ></button>
</div>
<div class="modal-footer">
<button type="button" id="btnDefault" class="btn btn-default" data-dismiss="modal" (tap)="cancel()" (keydown.enter)="cancel()" (click)="cancel($event)" (keydown.spacebar)="cancel()" (keydown.space)="cancel()" (keydown.tab)="onTab()" (keydown.shift.tab)="onShiftTab()" (keydown.escape)="cancel()" attr.aria-label="cancelbutton">Cancel</button>
<button type="button" id="btnPrimary" class="btn btn-primary" (tap)="onOK()" (keydown.enter)="onOK()" (click)="onOK($event)" (keydown.spacebar)="cancel()" (keydown.space)="onOK()" (keydown.tab)="onTab()" (keydown.shift.tab)="onShiftTab()" (keydown.escape)="cancel()" attr.aria-label="buttonLabel">Confirm</button>
</div>
</div>
</div>
【问题讨论】:
标签: html ios safari modal-dialog voiceover