[RM#4935] Accessibility related issues
Murtuza Zabuawala <[email protected]> Thu, 14 Nov 2019 18:26:53 +0530
| Newsgroups | gmane.comp.db.postgresql.pgadmin.devel |
|---|---|
| Message-ID | <CAKKotZS8_9h69DRrLigJwbBeP7n-2224cw96ef347=4jwUAwwA@mail.gmail.com> |
Hi, PFA patch for accessibility related issues, 1) Suppress ESC key presses in Alertify dialogues when the come from Select2 controls (It also closes the alertify dialog when user try to close Select2 using ESC key) 2) Do not allow Tabindex focus on Switch control when it is disbaled 3) Tab keyboard shortcut navigation does not work in wcDocker iframe. -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
pgadmin4_fixes.diff
(application/octet-stream, 2.4 KB)
diff --git a/web/pgadmin/browser/static/js/keyboard.js b/web/pgadmin/browser/static/js/keyboard.js
index e64af27f73..3436385b26 100644
--- a/web/pgadmin/browser/static/js/keyboard.js
+++ b/web/pgadmin/browser/static/js/keyboard.js
@@ -14,6 +14,7 @@ import Mousetrap from 'mousetrap';
import * as commonUtils from '../../../static/js/utils';
import dialogTabNavigator from '../../../static/js/dialog_tab_navigator';
import * as keyboardFunc from 'sources/keyboard_shortcuts';
+import pgWindow from 'sources/window';
const pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
@@ -565,8 +566,8 @@ _.extend(pgBrowser.keyboardNavigation, {
};
},
getDialogTabNavigator: function(dialogContainer) {
- const backward_shortcut = pgBrowser.get_preference('browser', 'dialog_tab_backward').value;
- const forward_shortcut = pgBrowser.get_preference('browser', 'dialog_tab_forward').value;
+ const backward_shortcut = pgWindow.pgAdmin.Browser.get_preference('browser', 'dialog_tab_backward').value;
+ const forward_shortcut = pgWindow.pgAdmin.Browser.get_preference('browser', 'dialog_tab_forward').value;
return new dialogTabNavigator.dialogTabNavigator(dialogContainer, backward_shortcut, forward_shortcut);
},
diff --git a/web/pgadmin/static/js/alertify.pgadmin.defaults.js b/web/pgadmin/static/js/alertify.pgadmin.defaults.js
index f99730322d..a8bdb7aaab 100644
--- a/web/pgadmin/static/js/alertify.pgadmin.defaults.js
+++ b/web/pgadmin/static/js/alertify.pgadmin.defaults.js
@@ -445,7 +445,7 @@ define([
* instead of alertify dialog
*/
$('body').off('keyup').on('keyup', function(ev){
- if(ev.which === 13) {
+ if(ev.which === 13 || ev.which === 27) {
let suppressForClasses = ['select2-selection', 'select2-search__field'];
let $el = $(ev.target);
for(let i=0; i<suppressForClasses.length; i++){
diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js
index 95f786d9f4..d46ac2896f 100644
--- a/web/pgadmin/static/js/backform.pgadmin.js
+++ b/web/pgadmin/static/js/backform.pgadmin.js
@@ -606,7 +606,8 @@ define([
this.$input = this.$el.find('input[type=checkbox]').first();
this.$input.bootstrapToggle();
- this.$el.find('.toggle.btn').attr('tabindex', '0');
+ // When disable then set tabindex value to -1
+ this.$el.find('.toggle.btn').attr('tabindex', data.options.disabled ? '-1' : '0');
this.updateInvalid();
return this;