diff options
author | Christopher Ng <chrng8@gmail.com> | 2022-05-27 00:37:27 +0000 |
---|---|---|
committer | Christopher Ng <chrng8@gmail.com> | 2022-06-08 23:58:28 +0000 |
commit | 229c65b0d76e0856c8eac45ec2ba53fddfaf8ffd (patch) | |
tree | 624c0ee0b63e08867ab907edfe8238bb5e673cf0 /core/src/jquery/ocdialog.js | |
parent | b7089c20ee4dd0f4b8bc805068aadbaf89a6a081 (diff) | |
download | nextcloud-server-229c65b0d76e0856c8eac45ec2ba53fddfaf8ffd.tar.gz nextcloud-server-229c65b0d76e0856c8eac45ec2ba53fddfaf8ffd.zip |
Handle keyboard navigation in the file picker
Signed-off-by: Christopher Ng <chrng8@gmail.com>
Diffstat (limited to 'core/src/jquery/ocdialog.js')
-rw-r--r-- | core/src/jquery/ocdialog.js | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/core/src/jquery/ocdialog.js b/core/src/jquery/ocdialog.js index 51a1c479e99..4579f420625 100644 --- a/core/src/jquery/ocdialog.js +++ b/core/src/jquery/ocdialog.js @@ -171,11 +171,13 @@ $.widget('oc.ocdialog', { break case 'closeButton': if (value) { - const $closeButton = $('<a class="oc-dialog-close"></a>') + const $closeButton = $('<a class="oc-dialog-close" tabindex="0"></a>') this.$dialog.prepend($closeButton) - $closeButton.on('click', function() { - self.options.closeCallback && self.options.closeCallback() - self.close() + $closeButton.on('click keydown', function(event) { + if (event.type === 'click' || (event.type === 'keydown' && event.key === 'Enter')) { + self.options.closeCallback && self.options.closeCallback() + self.close() + } }) } else { this.$dialog.find('.oc-dialog-close').remove() |