Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/75594


Change subject: Makes ButtonWidgets more accessible
......................................................................

Makes ButtonWidgets more accessible

* Give them a role=button, and a default tabIndex of 0
* Listen for a keypress of 'space' and emit a click event
  (you'd have though role=button would do this, but oh well)

Bug: 50047
Change-Id: I429ad165c95f34d26975daf81db18cc966802cde
---
M modules/ve/ui/widgets/ve.ui.ButtonWidget.js
M modules/ve/ve.js
2 files changed, 22 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/94/75594/1

diff --git a/modules/ve/ui/widgets/ve.ui.ButtonWidget.js 
b/modules/ve/ui/widgets/ve.ui.ButtonWidget.js
index 7def19a..1b98ce9 100644
--- a/modules/ve/ui/widgets/ve.ui.ButtonWidget.js
+++ b/modules/ve/ui/widgets/ve.ui.ButtonWidget.js
@@ -15,6 +15,7 @@
  *
  * @constructor
  * @param {Object} [config] Config options
+ * @cfg {number} [tabIndex] Button's tab index
  */
 ve.ui.ButtonWidget = function VeUiButtonWidget( config ) {
        // Parent constructor
@@ -26,8 +27,13 @@
 
        // Events
        this.$.on( 'click', ve.bind( this.onClick, this ) );
+       this.$.on( 'keypress', ve.bind( this.onKeyPress, this ) );
 
        // Initialization
+       this.$.attr( {
+               'role': 'button',
+               'tabIndex': config.tabIndex || 0
+       } );
        this.$.addClass( 've-ui-buttonWidget' ).append( this.$label );
 };
 
@@ -60,3 +66,17 @@
        }
        return false;
 };
+
+/**
+ * Handles keypress events.
+ *
+ * @method
+ * @param {jQuery.Event} e Keypress event
+ * @emits click
+ */
+ve.ui.ButtonWidget.prototype.onKeyPress = function ( e ) {
+       if ( !this.disabled && e.which === ve.Keys.SPACE ) {
+               this.emit( 'click' );
+       }
+       return false;
+};
diff --git a/modules/ve/ve.js b/modules/ve/ve.js
index 6a0c5da..01d4f24 100644
--- a/modules/ve/ve.js
+++ b/modules/ve/ve.js
@@ -1011,7 +1011,8 @@
                'PAGEUP': 33,
                'PAGEDOWN': 34,
                'ESCAPE': 27,
-               'SHIFT': 16
+               'SHIFT': 16,
+               'SPACE': 32
        };
 
        // Expose

-- 
To view, visit https://gerrit.wikimedia.org/r/75594
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I429ad165c95f34d26975daf81db18cc966802cde
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <esand...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to