AccessibleCaret¶
AccessibleCaret 是一对位于选区高亮两端的雨滴形状手柄,或者是在文本区域中闪烁的光标处的一个手柄。它帮助用户在支持触摸事件的平台上更改选区高亮的范围或闪烁光标的位置。
元 Bug¶
Bug 1124074 跟踪所有未解决的问题。
Gecko 实现细节¶
偏好设置¶
layout.accessiblecaret.enabled_on_touch
(从 Firefox 51 版本开始,在支持触摸事件的 Firefox 中启用)。layout.accessiblecaret.enabled
(默认为关闭,但可以将其打开以强制启用 AccessibleCaret)。layout.accessiblecaret.hide_carets_for_mouse_input
(默认为开启。开启此设置可以在桌面浏览器上使用鼠标事件调试 AccessibleCaret)。
AccessibleCaretEventHub 状态转换图¶
此图描述了 AccessibleCaretEventHub 中状态机的状态转换,该状态机处理外部事件和回调。
请注意,此图省略了一些不会导致状态转换的回调,例如 NotifySelectionChanged
或 Reflow
。
此表是实际事件和回调到图边缘描述的动作的映射
实际事件或回调 |
动作 |
---|---|
|
按下 |
|
移动 |
|
释放 |
|
长按 |
|
滚动开始 |
|
滚动结束 |
|
失去焦点 |
调试技巧¶
从命令行转储 AccessibleCaret 日志:运行
MOZ_LOG=AccessibleCaret:5 ./mach run
。使用偏好设置转储 AccessibleCaret 日志:打开
about:config
并添加一个偏好设置logging.AccessibleCaret
,其值为debug
或verbose
(大小写敏感)。AC_LOG()
用于添加新的日志。
开发者¶
当前维护者¶
林廷宇 <aethanyc@gmail.com>
荣誉开发者¶
曾茂瑞 <mtseng@mozilla.com>
陈杰瑞 <jeremychen@mozilla.com>
邱博仁 <boris@mozilla.com>*