Skip to content

Commit 4e50ca3

Browse files
author
Roman
committed
Tooltip: (Accessibility) Hide the tooltip with 'ESC'. See #63247
1 parent c3b9d9e commit 4e50ca3

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

src/elements/Tooltip/Tooltip.coffee

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ class CUI.Tooltip extends CUI.LayerPane
7777

7878
if CUI.util.isUndef(@opts.backdrop)
7979
@opts.backdrop = false
80-
# @opts.role = "tooltip"
8180
@opts.pointer = "arrow"
8281
@opts.check_for_element = true
8382
@opts.placement = @opts.placement or "n"
@@ -117,8 +116,20 @@ class CUI.Tooltip extends CUI.LayerPane
117116

118117
return @__mouseStillEvent
119118

119+
hide: ->
120+
@__keyUpListener?.destroy()
121+
return super()
120122

121123
show: (ev) ->
124+
@__keyUpListener = CUI.Events.listen
125+
type: "keyup"
126+
node: window
127+
capture: true
128+
call: (_ev) =>
129+
if _ev.getKeyboardKey() == "Esc"
130+
@hide()
131+
return
132+
122133
if @__static
123134
super(ev)
124135
else
@@ -148,6 +159,7 @@ class CUI.Tooltip extends CUI.LayerPane
148159
if not content or @__pane.isDestroyed()
149160
return dfr.reject()
150161

162+
CUI.dom.setAttribute(content, "role", "tooltip")
151163
@__pane.replace(content, "center")
152164
dfr.resolve()
153165

@@ -191,6 +203,7 @@ class CUI.Tooltip extends CUI.LayerPane
191203
CUI.dom.setStyleOne(@DOM, "max-width", @__viewport.width/2)
192204

193205
destroy: ->
206+
@__keyUpListener?.destroy()
194207
@__mouseStillEvent?.destroy()
195208
CUI.Events.ignore(instance: @__dummyInst)
196209
super()

0 commit comments

Comments
 (0)