From dab6e943b3dc8ee7c9832ef7d06daf45ec39c4b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Zaefferer?= Date: Wed, 20 Jan 2010 17:44:54 +0000 Subject: [PATCH] button: add ui-state-focus on focus, making keyboard navigation possible, and button like 200% more accessible --- ui/jquery.ui.button.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ui/jquery.ui.button.js b/ui/jquery.ui.button.js index 451602ecc..b2ae0f9df 100644 --- a/ui/jquery.ui.button.js +++ b/ui/jquery.ui.button.js @@ -34,7 +34,8 @@ $.widget( "ui.button", { var self = this, options = this.options, toggleButton = this.type === "checkbox" || this.type === "radio", - hoverClass = "ui-state-hover" + ( !toggleButton ? " ui-state-active" : "" ); + hoverClass = "ui-state-hover" + ( !toggleButton ? " ui-state-active" : "" ), + focusClass = "ui-state-focus"; if ( options.label === null ) { options.label = this.buttonElement.html(); @@ -57,6 +58,13 @@ $.widget( "ui.button", { return; } $( this ).removeClass( hoverClass ); + }) + .bind( "focus.button", function() { + // no need to check disabled, focus won't be triggered anyway + $( this ).addClass( focusClass ); + }) + .bind( "blur.button", function() { + $( this ).removeClass( focusClass ); }); if ( this.type === "checkbox") {