import {A11yModule} from '@angular/cdk/a11y';
InputModalityDetector
检测用户输入模式的服务。
当用户使用屏幕阅读器进行导航(例如借助 VoiceOver 进行线性导航、借助 NVDA 使用对象导航/浏览模式、借助 JAWS 使用虚拟 PC 光标模式)时,此服务不会改变输入模式。这部分是由于技术限制(即在这些模式下键盘事件不会按预期触发),但也可以说是正确的行为。使用屏幕阅读器导航类似于视觉扫描页面,不应被解释为实际的用户输入交互。
当用户不是在导航而是与屏幕阅读器交互时,此服务会尝试将输入模式改为键盘,但一般来说此服务的行为在很大程度上是未定义的。
名称 | 描述 |
---|---|
|
当输入模式改变时发出。 |
|
每当检测到输入模式时发出。 |
|
最近检测到的输入模式。 |
HighContrastModeDetector
本服务用于确定浏览器当前是否处于高对比度模式环境中。
Microsoft Windows 支持一种称为“高对比度模式”的辅助功能。此模式更改所有应用程序(包括 Web 应用程序)的外观,以显著提高对比度。
目前,IE、Edge 和 Firefox 支持此模式。Chrome 浏览器不支持 Windows 高对比度模式。此服务无法检测到由 Chrome 的“高对比度” 扩展程序添加的高对比度模式。
getHighContrastMode | |
---|---|
获取页面的当前高对比度模式。 |
|
返回值 | |
HighContrastMode
|
|
AriaDescriber
该实用工具创建带有消息内容的视觉不可见元素。对于希望使用 aria-describedby 来进一步描述自己而不想添加其他视觉内容的元素很有用。
describe | |
---|---|
为宿主元素添加一个由 aria-describedby 引用的不可见的消息元素。如果已经注册了相同的消息,则它将复用已创建的消息元素。 |
|
参数 | |
hostElement Element
|
|
message string
|
|
角色 ? string
|
|
describe | |
---|---|
为宿主元素添加一个由 aria-describedby 引用的现有消息元素。 |
|
参数 | |
hostElement Element
|
|
message HTMLElement
|
|
removeDescription | |
---|---|
参数 | |
hostElement Element
|
|
message string | HTMLElement
|
|
角色 ? string
|
|
ConfigurableFocusTrapFactory
本工厂允许轻松实例化可配置的焦点陷阱。
create | |
---|---|
在指定元素周围创建一个焦点捕获区域。 |
|
参数 | |
element HTMLElement
|
要在其周围捕获焦点的元素。 |
配置 ? ConfigurableFocusTrapConfig
|
焦点陷阱配置。 |
返回值 | |
ConfigurableFocusTrap
|
所创建的焦点陷阱实例。 |
已弃用
create |
|
---|---|
参数 | |
element HTMLElement
|
|
deferCaptureElements boolean
|
|
返回值 | |
ConfigurableFocusTrap
|
|
FocusTrapFactory
允许轻松实例化焦点陷阱的工厂。
create | |
---|---|
在指定元素周围创建一个焦点捕获区域。 |
|
参数 | |
element HTMLElement
|
要在其周围捕获焦点的元素。 |
deferCaptureElements boolean = false
|
推迟创建由用户手动完成的焦点捕获元素。 |
返回值 | |
FocusTrap
|
所创建的焦点陷阱实例。 |
InteractivityChecker
用于检查元素交互性的实用程序,例如元素是否可聚焦或可制表。
isDisabled | |
---|---|
获取元素是否已禁用。 |
|
参数 | |
element HTMLElement
|
要检查的元素。 |
返回值 | |
boolean
|
元素是否已禁用。 |
isFocusable | |
---|---|
获取用户是否可以给某个元素设置焦点。 |
|
参数 | |
element HTMLElement
|
要检查的元素。 |
配置 ? IsFocusableConfig
|
带有用于自定义此方法行为的选项的配置对象 |
返回值 | |
boolean
|
元素是否可获得焦点。 |
isTabbable | |
---|---|
获取是否可以通过 Tab 键访问元素。假定已经使用 isFocusable 检查过此元素。 |
|
参数 | |
element HTMLElement
|
要检查的元素。 |
返回值 | |
boolean
|
元素是否可 tab。 |
isVisible | |
---|---|
获取某元素可见是否出于交互目的。 这包括 |
|
参数 | |
element HTMLElement
|
|
返回值 | |
boolean
|
元素是否可见。 |
LiveAnnouncer
异步
announce |
|
---|---|
向屏幕阅读器发布一条消息。 |
|
参数 | |
message string
|
要通知到屏幕阅读器的消息。 |
返回值 | |
Promise<void>
|
将消息添加到 DOM 时将解决的 Promise。 |
异步
announce |
|
---|---|
向屏幕阅读器发布一条消息。 |
|
参数 | |
message string
|
要通知到屏幕阅读器的消息。 |
礼貌 ? AriaLivePoliteness
|
播报员元素的礼貌度。 |
返回值 | |
Promise<void>
|
将消息添加到 DOM 时将解决的 Promise。 |
异步
announce |
|
---|---|
向屏幕阅读器发布一条消息。 |
|
参数 | |
message string
|
要通知到屏幕阅读器的消息。 |
持续时间 ? number
|
清除播报员元素的时间(以毫秒为单位)。请注意,这是在将消息添加到 DOM 后生效的,这可能在调用 |
返回值 | |
Promise<void>
|
将消息添加到 DOM 时将解决的 Promise。 |
异步
announce |
|
---|---|
向屏幕阅读器发布一条消息。 |
|
参数 | |
message string
|
要通知到屏幕阅读器的消息。 |
礼貌 ? AriaLivePoliteness
|
播报员元素的礼貌度。 |
持续时间 ? number
|
清除播报员元素的时间(以毫秒为单位)。请注意,这是在将消息添加到 DOM 后生效的,这可能在调用 |
返回值 | |
Promise<void>
|
将消息添加到 DOM 时将解决的 Promise。 |
clear | |
---|---|
从播报员元素中清除当前文本。可以用于防止屏幕阅读器在用户浏览页面地标时再次读出文本。 |
FocusMonitor
监视鼠标和键盘事件以确定焦点事件的原因。
focusVia | |
---|---|
通过指定的焦点来源对元素进行聚焦。 |
|
参数 | |
element HTMLElement
|
要获取焦点的元素。 |
origin FocusOrigin
|
焦点来源。 |
选项 ? FocusOptions
|
可用于配置焦点行为的选项。 |
focusVia | |
---|---|
通过指定的焦点来源对元素进行聚焦。 |
|
参数 | |
element ElementRef<HTMLElement>
|
要获取焦点的元素。 |
origin FocusOrigin
|
焦点来源。 |
选项 ? FocusOptions
|
可用于配置焦点行为的选项。 |
monitor | |
---|---|
监视元素的焦点,并应用适当的 CSS 类。 |
|
参数 | |
element HTMLElement
|
要监视的元素 |
检查子元素 ? boolean
|
当子元素获得焦点时是否要计入这个焦点。 |
返回值 | |
Observable<FocusOrigin>
|
会在元素的焦点状态更改时发出通知的可观察对象。当元素失焦时,将发出 null。 |
monitor | |
---|---|
监视元素的焦点,并应用适当的 CSS 类。 |
|
参数 | |
element ElementRef<HTMLElement>
|
要监视的元素 |
检查子元素 ? boolean
|
当子元素获得焦点时是否要计入这个焦点。 |
返回值 | |
Observable<FocusOrigin>
|
会在元素的焦点状态更改时发出通知的可观察对象。当元素失焦时,将发出 null。 |
stopMonitoring | |
---|---|
参数 | |
element HTMLElement | ElementRef<HTMLElement>
|
|
CdkTrapFocus
在 zone 内捕获焦点的指令。
选择器: [cdkTrapFocus]
Exported as: cdkTrapFocus名称 | 描述 |
---|---|
@Input({ alias: 'cdkTrapFocusAutoCapture', transform: booleanAttribute })
|
指令是否应在初始化时自动将焦点移到捕获的 zone 中,并在销毁时将焦点返回给先前的 activeElement。 |
@Input({ alias: 'cdkTrapFocus', transform: booleanAttribute })
|
焦点陷阱是否处于活动状态。 |
|
底层 FocusTrap 实例。 |
CdkAriaLive
该指令与 aria-live 相似,但使用 LiveAnnouncer 来确保与更多浏览器和屏幕阅读器的兼容性。
选择器: [cdkAriaLive]
Exported as: cdkAriaLive名称 | 描述 |
---|---|
@Input('cdkAriaLiveDuration')
|
清除播报员元素之前要等待的毫秒数。 |
@Input('cdkAriaLive')
|
朗读消息时要使用的 aria-live 礼貌度。 |
CdkMonitorFocus
指令,用于确定如何让特定元素获得焦点(通过键盘,鼠标,触摸或以编程方式),并向该元素添加相应的类。
此指令有两种变体:
此指令有两种变体: 1)cdkMonitorElementFocus:如果元素的任何一个子元素有焦点,则不认为该元素拥有焦点。 2)cdkMonitorSubtreeFocus:如果元素或其任何子元素都有焦点,则认为该元素拥有焦点。
选择器: [cdkMonitorElementFocus] [cdkMonitorSubtreeFocus]
Exported as: cdkMonitorFocus名称 | 描述 |
---|---|
@Output()
|
|
|
ActiveDescendantKeyManager
继承自 ListKeyManager 名称 | 描述 |
---|---|
|
活动条目。 |
|
当前活动条目的索引。 |
|
每当列表管理器的活动条目更改时发出通知的流。 |
|
只要按下 TAB 键,流就会发出通知,因此当焦点从列表移开时,组件可以做出反应。 |
cancelTypeahead | |
---|---|
取消当前的预先输入序列。 |
|
返回值 | |
this
|
|
destroy | |
---|---|
清理键盘管理器。 |
isTyping | |
---|---|
获取用户当前是否正在使用预输入函数键入此管理员。 |
|
返回值 | |
boolean
|
|
onKeydown | |
---|---|
根据传入的键盘事件设置激活条目。 |
|
参数 | |
event KeyboardEvent
|
用于确定哪个元素应处于活动状态的键盘事件。 |
setActiveItem | |
---|---|
将活动条目设置为指定索引处的条目,并将活动样式添加到新活动条目。也会从以前的活动条目中删除活动样式。 |
|
参数 | |
index number
|
要设置为活动条目的索引。 |
setActiveItem | |
---|---|
将活动条目设置为指定的条目,并将活动样式添加到该条目。也从以前的活动条目中删除活动样式。 |
|
参数 | |
item T
|
要设置为活动的条目。 |
setFirstItemActive | |
---|---|
将激活条目设置为列表中第一个可用的(enabled)条目。 |
setLastItemActive | |
---|---|
将激活条目设置为列表中最后一个可用的(enabled)条目。 |
setNextItemActive | |
---|---|
将激活条目设置为列表中的下一个可用的(enabled)条目。 |
setPreviousItemActive | |
---|---|
将激活条目设置为列表中的上一个可用的(enabled)条目。 |
skipPredicate | |
---|---|
设置谓词函数,该函数会确定列表按键管理器应跳过哪些条目。 |
|
参数 | |
predicate (item
|
确定是否应跳过指定条目的函数。 |
返回值 | |
this
|
|
updateActiveItem | |
---|---|
允许在没有任何其他效果的情况下设置激活状态。 |
|
参数 | |
index number
|
要设置为活动条目的索引。 |
updateActiveItem | |
---|---|
允许设置活动条目,而没有任何其他影响。 |
|
参数 | |
item T
|
要设置为活动的条目。 |
withAllowedModifierKeys | |
---|---|
用户按下方向键时,可以按住修饰键并防止其默认操作。默认为不允许任何修饰键。 |
|
参数 | |
keys ListKeyManagerModifierKey[]
|
|
返回值 | |
this
|
|
withHomeAndEnd | |
---|---|
配置按键管理器,以在按下 Home 或 End 键时分别激活第一项和最后一项。 |
|
参数 | |
enabled boolean = true
|
按下 Home 键或 End 键时是否激活第一项/最后一项。 |
返回值 | |
this
|
|
withHorizontalOrientation | |
---|---|
配置按键管理器以水平移动选择。传递 |
|
参数 | |
direction "ltr" | "rtl"
|
所选内容可以移动的方向。 |
返回值 | |
this
|
|
withPageUpDown | |
---|---|
将键盘管理器配置为在按下 Page-Up 或 Page-Down 键时分别在向上/向下方向激活每第 10 个、已配置的或第一个/最后一个元素。 |
|
参数 | |
enabled boolean = true
|
按 Page-Up 或 Page-Down 键是否激活第一个/最后一个条目。 |
delta number = 10
|
按下 Home 键或 End 键时是否激活第一项/最后一项。 |
返回值 | |
this
|
|
withTypeAhead | |
---|---|
打开预输入模式,该模式允许用户通过键入来设置活动条目。 |
|
参数 | |
debounceInterval number = 200
|
在最后一次按键操作之后等待一小段时间,然后再设置活动条目。 |
返回值 | |
this
|
|
withVerticalOrientation | |
---|---|
配置按键管理器是否应该能够垂直移动选择。 |
|
参数 | |
enabled boolean = true
|
是否应启用垂直选择。 |
返回值 | |
this
|
|
withWrap | |
---|---|
配置回卷模式,当该模式确定在指定方向上没有更多条目时,活动条目是否将回卷列表的另一端。 |
|
参数 | |
shouldWrap boolean = true
|
到达末尾时列表是否应该回卷。 |
返回值 | |
this
|
|
FocusKeyManager
继承自 ListKeyManager 名称 | 描述 |
---|---|
|
活动条目。 |
|
当前活动条目的索引。 |
|
每当列表管理器的活动条目更改时发出通知的流。 |
|
只要按下 TAB 键,流就会发出通知,因此当焦点从列表移开时,组件可以做出反应。 |
cancelTypeahead | |
---|---|
取消当前的预先输入序列。 |
|
返回值 | |
this
|
|
destroy | |
---|---|
清理键盘管理器。 |
isTyping | |
---|---|
获取用户当前是否正在使用预输入函数键入此管理员。 |
|
返回值 | |
boolean
|
|
onKeydown | |
---|---|
根据传入的键盘事件设置激活条目。 |
|
参数 | |
event KeyboardEvent
|
用于确定哪个元素应处于活动状态的键盘事件。 |
setActiveItem | |
---|---|
将活动条目设置为指定索引处的条目,并让新的活动条目获得焦点。 |
|
参数 | |
index number
|
要设置为活动条目的索引。 |
setActiveItem | |
---|---|
将活动条目设置为指定的条目并让它获得焦点。 |
|
参数 | |
item T
|
要设置为活动的条目。 |
setFirstItemActive | |
---|---|
将激活条目设置为列表中第一个可用的(enabled)条目。 |
setFocusOrigin | |
---|---|
设置焦点来源,该焦点来源将传递给所有后续调用 |
|
参数 | |
origin FocusOrigin
|
用来让条目获取焦点时的焦点来源。 |
返回值 | |
this
|
|
setLastItemActive | |
---|---|
将激活条目设置为列表中最后一个可用的(enabled)条目。 |
setNextItemActive | |
---|---|
将激活条目设置为列表中的下一个可用的(enabled)条目。 |
setPreviousItemActive | |
---|---|
将激活条目设置为列表中的上一个可用的(enabled)条目。 |
skipPredicate | |
---|---|
设置谓词函数,该函数会确定列表按键管理器应跳过哪些条目。 |
|
参数 | |
predicate (item
|
确定是否应跳过指定条目的函数。 |
返回值 | |
this
|
|
updateActiveItem | |
---|---|
允许在没有任何其他效果的情况下设置激活状态。 |
|
参数 | |
index number
|
要设置为活动条目的索引。 |
updateActiveItem | |
---|---|
允许设置活动条目,而没有任何其他影响。 |
|
参数 | |
item T
|
要设置为活动的条目。 |
withAllowedModifierKeys | |
---|---|
用户按下方向键时,可以按住修饰键并防止其默认操作。默认为不允许任何修饰键。 |
|
参数 | |
keys ListKeyManagerModifierKey[]
|
|
返回值 | |
this
|
|
withHomeAndEnd | |
---|---|
配置按键管理器,以在按下 Home 或 End 键时分别激活第一项和最后一项。 |
|
参数 | |
enabled boolean = true
|
按下 Home 键或 End 键时是否激活第一项/最后一项。 |
返回值 | |
this
|
|
withHorizontalOrientation | |
---|---|
配置按键管理器以水平移动选择。传递 |
|
参数 | |
direction "ltr" | "rtl"
|
所选内容可以移动的方向。 |
返回值 | |
this
|
|
withPageUpDown | |
---|---|
将键盘管理器配置为在按下 Page-Up 或 Page-Down 键时分别在向上/向下方向激活每第 10 个、已配置的或第一个/最后一个元素。 |
|
参数 | |
enabled boolean = true
|
按 Page-Up 或 Page-Down 键是否激活第一个/最后一个条目。 |
delta number = 10
|
按下 Home 键或 End 键时是否激活第一项/最后一项。 |
返回值 | |
this
|
|
withTypeAhead | |
---|---|
打开预输入模式,该模式允许用户通过键入来设置活动条目。 |
|
参数 | |
debounceInterval number = 200
|
在最后一次按键操作之后等待一小段时间,然后再设置活动条目。 |
返回值 | |
this
|
|
withVerticalOrientation | |
---|---|
配置按键管理器是否应该能够垂直移动选择。 |
|
参数 | |
enabled boolean = true
|
是否应启用垂直选择。 |
返回值 | |
this
|
|
withWrap | |
---|---|
配置回卷模式,当该模式确定在指定方向上没有更多条目时,活动条目是否将回卷列表的另一端。 |
|
参数 | |
shouldWrap boolean = true
|
到达末尾时列表是否应该回卷。 |
返回值 | |
this
|
|
ListKeyManager
此类管理可选列表的键盘事件。如果向其传递条目的查询列表,则当发生方向键事件时,它将正确设置活动条目。
名称 | 描述 |
---|---|
|
活动条目。 |
|
当前活动条目的索引。 |
|
每当列表管理器的活动条目更改时发出通知的流。 |
|
只要按下 TAB 键,流就会发出通知,因此当焦点从列表移开时,组件可以做出反应。 |
cancelTypeahead | |
---|---|
取消当前的预先输入序列。 |
|
返回值 | |
this
|
|
destroy | |
---|---|
清理键盘管理器。 |
isTyping | |
---|---|
获取用户当前是否正在使用预输入函数键入此管理员。 |
|
返回值 | |
boolean
|
|
onKeydown | |
---|---|
根据传入的键盘事件设置激活条目。 |
|
参数 | |
event KeyboardEvent
|
用于确定哪个元素应处于活动状态的键盘事件。 |
setActiveItem | |
---|---|
把激活条目设置为由索引指定的条目。 |
|
参数 | |
index number
|
要设置为活动的条目的索引。 |
setActiveItem | |
---|---|
将活动条目设置为指定的条目。 |
|
参数 | |
item T
|
要设置为活动的条目。 |
setFirstItemActive | |
---|---|
将激活条目设置为列表中第一个可用的(enabled)条目。 |
setLastItemActive | |
---|---|
将激活条目设置为列表中最后一个可用的(enabled)条目。 |
setNextItemActive | |
---|---|
将激活条目设置为列表中的下一个可用的(enabled)条目。 |
setPreviousItemActive | |
---|---|
将激活条目设置为列表中的上一个可用的(enabled)条目。 |
skipPredicate | |
---|---|
设置谓词函数,该函数会确定列表按键管理器应跳过哪些条目。 |
|
参数 | |
predicate (item
|
确定是否应跳过指定条目的函数。 |
返回值 | |
this
|
|
updateActiveItem | |
---|---|
允许在没有任何其他效果的情况下设置激活状态。 |
|
参数 | |
index number
|
要设置为活动条目的索引。 |
updateActiveItem | |
---|---|
允许设置活动条目,而没有任何其他影响。 |
|
参数 | |
item T
|
要设置为活动的条目。 |
withAllowedModifierKeys | |
---|---|
用户按下方向键时,可以按住修饰键并防止其默认操作。默认为不允许任何修饰键。 |
|
参数 | |
keys ListKeyManagerModifierKey[]
|
|
返回值 | |
this
|
|
withHomeAndEnd | |
---|---|
配置按键管理器,以在按下 Home 或 End 键时分别激活第一项和最后一项。 |
|
参数 | |
enabled boolean = true
|
按下 Home 键或 End 键时是否激活第一项/最后一项。 |
返回值 | |
this
|
|
withHorizontalOrientation | |
---|---|
配置按键管理器以水平移动选择。传递 |
|
参数 | |
direction "ltr" | "rtl"
|
所选内容可以移动的方向。 |
返回值 | |
this
|
|
withPageUpDown | |
---|---|
将键盘管理器配置为在按下 Page-Up 或 Page-Down 键时分别在向上/向下方向激活每第 10 个、已配置的或第一个/最后一个元素。 |
|
参数 | |
enabled boolean = true
|
按 Page-Up 或 Page-Down 键是否激活第一个/最后一个条目。 |
delta number = 10
|
按下 Home 键或 End 键时是否激活第一项/最后一项。 |
返回值 | |
this
|
|
withTypeAhead | |
---|---|
打开预输入模式,该模式允许用户通过键入来设置活动条目。 |
|
参数 | |
debounceInterval number = 200
|
在最后一次按键操作之后等待一小段时间,然后再设置活动条目。 |
返回值 | |
this
|
|
withVerticalOrientation | |
---|---|
配置按键管理器是否应该能够垂直移动选择。 |
|
参数 | |
enabled boolean = true
|
是否应启用垂直选择。 |
返回值 | |
this
|
|
withWrap | |
---|---|
配置回卷模式,当该模式确定在指定方向上没有更多条目时,活动条目是否将回卷列表的另一端。 |
|
参数 | |
shouldWrap boolean = true
|
到达末尾时列表是否应该回卷。 |
返回值 | |
this
|
|
ConfigurableFocusTrap
继承自 FocusTrap 允许在 DOM 元素内捕获焦点的类。
此类使用一种策略模式来确定如何捕获焦点。请参阅 FocusTrapInertStrategy。
名称 | 描述 |
---|---|
|
是否启用了此 FocusTrap。 |
attachAnchors | |
---|---|
将这些锚点插入 DOM。这通常是在构造函数中自动完成的,但是对于诸如 |
|
返回值 | |
boolean
|
焦点陷阱是否成功附加。如果目标元素当前不在 DOM 中,则可能不是这种情况。 |
destroy | |
---|---|
通知 FocusTrapManager,此 FocusTrap 将被销毁。 |
focusFirstTabbableElement | |
---|---|
让焦点陷阱范围内第一个可 tab 的元素获得焦点。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
boolean
|
焦点是否成功移动。 |
异步
focusFirstTabbableElementWhenReady |
|
---|---|
等待 zone 稳定,然后让焦点陷阱内第一个可 tab 的元素获得焦点。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
Promise<boolean>
|
返回一个解析为布尔值的 promise,具体取决于焦点是否成功移动。 |
focusInitialElement | |
---|---|
在初始化焦点陷阱时应获得焦点的元素。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
boolean
|
焦点是否成功移动。 |
异步
focusInitialElementWhenReady |
|
---|---|
等待 zone 稳定,然后聚焦用户指定的第一个元素或第一个可 tab 的元素。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
Promise<boolean>
|
返回一个解析为布尔值的 promise,具体取决于焦点是否成功移动。 |
focusLastTabbableElement | |
---|---|
让焦点陷阱范围内最后一个可 tab 的元素获得焦点。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
boolean
|
焦点是否成功移动。 |
异步
focusLastTabbableElementWhenReady |
|
---|---|
等待 zone 稳定,然后让焦点陷阱内最后一个可 tab 的元素获得焦点。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
Promise<boolean>
|
返回一个解析为布尔值的 promise,具体取决于焦点是否成功移动。 |
hasAttached | |
---|---|
检查焦点陷阱是否已附加成功。 |
|
返回值 | |
boolean
|
|
EventListenerFocusTrapInertStrategy
轻型 FocusTrapInertStrategy,添加了文档焦点事件侦听器以将焦点重定向回 FocusTrap 内部。
allowFocus | |
---|---|
删除在 preventFocus 中添加的事件侦听器。 |
|
参数 | |
focusTrap ConfigurableFocusTrap
|
|
preventFocus | |
---|---|
添加一个文档事件监听器,使焦点保持在 FocusTrap 内部。 |
|
参数 | |
focusTrap ConfigurableFocusTrap
|
|
FocusTrap
允许在 DOM 元素内捕获焦点的类。
此类当前使用相对简单的方法进行焦点捕获。它假定 tab 顺序与 DOM 顺序相同,但这不一定正确。和 tabIndex > 0
一样,flex order
和 Shadow DOM 之类的都可能导致两者未对齐。
名称 | 描述 |
---|---|
|
焦点陷阱是否处于活动状态。 |
|
|
|
attachAnchors | |
---|---|
将这些锚点插入 DOM。这通常是在构造函数中自动完成的,但是对于诸如 |
|
返回值 | |
boolean
|
焦点陷阱是否成功附加。如果目标元素当前不在 DOM 中,则可能不是这种情况。 |
destroy | |
---|---|
清理锚点以销毁焦点陷阱。 |
focusFirstTabbableElement | |
---|---|
让焦点陷阱范围内第一个可 tab 的元素获得焦点。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
boolean
|
焦点是否成功移动。 |
异步
focusFirstTabbableElementWhenReady |
|
---|---|
等待 zone 稳定,然后让焦点陷阱内第一个可 tab 的元素获得焦点。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
Promise<boolean>
|
返回一个解析为布尔值的 promise,具体取决于焦点是否成功移动。 |
focusInitialElement | |
---|---|
在初始化焦点陷阱时应获得焦点的元素。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
boolean
|
焦点是否成功移动。 |
异步
focusInitialElementWhenReady |
|
---|---|
等待 zone 稳定,然后聚焦用户指定的第一个元素或第一个可 tab 的元素。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
Promise<boolean>
|
返回一个解析为布尔值的 promise,具体取决于焦点是否成功移动。 |
focusLastTabbableElement | |
---|---|
让焦点陷阱范围内最后一个可 tab 的元素获得焦点。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
boolean
|
焦点是否成功移动。 |
异步
focusLastTabbableElementWhenReady |
|
---|---|
等待 zone 稳定,然后让焦点陷阱内最后一个可 tab 的元素获得焦点。 |
|
参数 | |
选项 ? FocusOptions
|
|
返回值 | |
Promise<boolean>
|
返回一个解析为布尔值的 promise,具体取决于焦点是否成功移动。 |
hasAttached | |
---|---|
检查焦点陷阱是否已附加成功。 |
|
返回值 | |
boolean
|
|
toggleAnchors | |
---|---|
切换 |
|
参数 | |
启用:
|
锚点是否应该捕获 Tab 键。 |
enabled boolean
|
|
IsFocusableConfig
isFocusable 方法的配置。
名称 | 描述 |
---|---|
|
是否将不可见元素计入可获得焦点的元素。 |
InputModalityDetectorOptions
用于配置 InputModalityDetector 行为的选项。
名称 | 描述 |
---|---|
|
检测键盘输入模式时要忽略的按键。 |
RegisteredMessage
本接口用于注册消息元素并保留具有相同消息的注册数量的计数,以及用于 aria-describedby
对消息元素的引用。
名称 | 描述 |
---|---|
|
包含消息的元素。 |
|
通过 |
Highlightable
这是突出显示项的界面(由 ActiveDescendantKeyManager 使用)。每个条目都必须知道如何将自己设置为活动或非活动样式,以及当前是否处于禁用状态。
setActiveStyles | |
---|---|
将活动条目的样式应用于此条目。 |
setInactiveStyles | |
---|---|
将非活动条目的样式应用于此条目。 |
FocusableOption
这是可获取焦点条目的接口(由 FocusKeyManager 使用)。每个条目都必须知道如何获取焦点,无论当前是否已禁用并能提供其标签。
focus | |
---|---|
让此 |
|
参数 | |
origin ? FocusOrigin
|
|
ListKeyManagerOption
此接口用于可传递给 ListKeyManager 的条目。
名称 | 描述 |
---|---|
|
该选项是否已禁用。 |
getLabel | |
---|---|
获取此选项的标签。 |
|
返回值 | |
string
|
|
ConfigurableFocusTrapConfig
用于创建 ConfigurableFocusTrap 的选项。
名称 | 描述 |
---|---|
|
是否推迟到由用户手动完成 FocusTrap 元素的创建。 |
FocusTrapInertStrategy
一种策略,指示 FocusTrap 应如何防止 FocusTrap 外部的元素获得焦点。
allowFocus | |
---|---|
通过 preventFocus 以前的状态,来把元素恢复为不可获得焦点的状态。 |
|
参数 | |
focusTrap FocusTrap
|
|
preventFocus | |
---|---|
使 focusTrap 之外的所有元素都无法获得焦点。 |
|
参数 | |
focusTrap FocusTrap
|
|
LiveAnnouncerDefaultOptions
可用于配置 LiveAnnouncer 的默认选项的对象。
名称 | 描述 |
---|---|
|
朗读消息的默认持续时间。 |
|
朗读的默认礼貌度。 |
FocusOptions
对应于可以传递给原生 focus
事件的选项。通过 https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus
名称 | 描述 |
---|---|
|
浏览器在焦点变化时是否应滚动到该元素。 |
FocusMonitorOptions
FocusMonitor 在可注入服务级别的选项。
名称 | 描述 |
---|---|
|
addAriaReferencedId | |
---|---|
将指定 ID 添加到元素上特定的 ARIA 属性上。用于诸如 aria-labelledby,aria-owns 等属性。 |
|
参数 | |
el Element
|
|
attr `aria-${string}`
|
|
id string
|
|
removeAriaReferencedId | |
---|---|
从元素上指定的 ARIA 属性中删除特定的 ID。用于诸如 aria-labelledby,aria-owns 等属性。 |
|
参数 | |
el Element
|
|
attr `aria-${string}`
|
|
id string
|
|
getAriaReferenceIds | |
---|---|
获取元素上指定的 ARIA 属性引用的 ID 列表。用于诸如 aria-labelledby,aria-owns 等属性。 |
|
参数 | |
el Element
|
|
attr string
|
|
返回值 | |
string[]
|
|
isFakeMousedownFromScreenReader | |
---|---|
获取某个事件是否可能是屏幕阅读器派发的伪 |
|
参数 | |
event MouseEvent
|
|
返回值 | |
boolean
|
|
isFakeTouchstartFromScreenReader | |
---|---|
获取某个事件是否可能是屏幕阅读器派发的伪 |
|
参数 | |
event TouchEvent
|
|
返回值 | |
boolean
|
|
InputModality
此服务检测到的输入模式。如果输入模式未知,则使用 Null。
type InputModality = 'keyboard' | 'mouse' | 'touch' | null;
ListKeyManagerModifierKey
ListKeyManager 处理的修饰键。
type ListKeyManagerModifierKey = 'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey';
AriaLivePoliteness
可能的礼貌度。
type AriaLivePoliteness = 'off' | 'polite' | 'assertive';
FocusOrigin
type FocusOrigin = 'touch' | 'mouse' | 'keyboard' | 'program' | null;
INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS
InputModalityDetector 的默认选项。
默认情况下忽略修饰键(即按下时不会导致服务检测键盘输入模式),这有两个原因:
请注意,默认情况下我们不会忽略 Safari 上的右侧 Meta 键,因为它与其他浏览器上的 ContextMenu 键具有相同的键代码。当我们转而使用 event.key 时,我们能够区分两者。
const INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS: InputModalityDetectorOptions;
INPUT_MODALITY_DETECTOR_OPTIONS
InputModalityDetector 的可注入选项。这些会与默认选项进行浅合并。
const INPUT_MODALITY_DETECTOR_OPTIONS: InjectionToken<InputModalityDetectorOptions>;
MESSAGES_CONTAINER_ID
用于追加所有消息的正文容器的 ID。
const MESSAGES_CONTAINER_ID: "cdk-describedby-message-container";
CDK_DESCRIBEDBY_ID_PREFIX
用于所创建的每个消息元素的 ID 前缀。
const CDK_DESCRIBEDBY_ID_PREFIX: "cdk-describedby-message";
CDK_DESCRIBEDBY_HOST_ATTRIBUTE
用来指定消息元素描述的每个宿主元素的属性。
const CDK_DESCRIBEDBY_HOST_ATTRIBUTE: "cdk-describedby-host";
FOCUS_TRAP_INERT_STRATEGY
用于指定惰性策略的注入令牌。
const FOCUS_TRAP_INERT_STRATEGY: InjectionToken<FocusTrapInertStrategy>;
LIVE_ANNOUNCER_ELEMENT_TOKEN
const LIVE_ANNOUNCER_ELEMENT_TOKEN: InjectionToken<HTMLElement>;
LIVE_ANNOUNCER_DEFAULT_OPTIONS
注入令牌,可用于配置 LiveAnnouncer 的默认选项。
const LIVE_ANNOUNCER_DEFAULT_OPTIONS: InjectionToken<LiveAnnouncerDefaultOptions>;
FOCUS_MONITOR_DEFAULT_OPTIONS
FocusMonitorOptions 的 InjectionToken。
const FOCUS_MONITOR_DEFAULT_OPTIONS: InjectionToken<FocusMonitorOptions>;