From e900e8be589849b4592c5e13f2f0e4b27c126091 Mon Sep 17 00:00:00 2001 From: Fomafix Date: Tue, 24 Jun 2014 21:05:39 +0000 Subject: [PATCH] jquery.makeCollapsible: No tabindex="0" for default buttons A button with is already selectable with tabs. The tabindex="0" generates an additional selectable element. Change-Id: I99b51129dc7fb3b2496c393607f7d8ae7854a0b6 --- .../src/jquery/jquery.makeCollapsible.js | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/resources/src/jquery/jquery.makeCollapsible.js b/resources/src/jquery/jquery.makeCollapsible.js index 05745f8bbb..a4dc33b98f 100644 --- a/resources/src/jquery/jquery.makeCollapsible.js +++ b/resources/src/jquery/jquery.makeCollapsible.js @@ -292,8 +292,8 @@ } else { collapsibleId = $collapsible.attr( 'id' ) || ''; if ( collapsibleId.indexOf( 'mw-customcollapsible-' ) === 0 ) { - $customTogglers = $( '.' + collapsibleId.replace( 'mw-customcollapsible', 'mw-customtoggle' ) ); - $customTogglers.addClass( 'mw-customtoggle' ); + $customTogglers = $( '.' + collapsibleId.replace( 'mw-customcollapsible', 'mw-customtoggle' ) ) + .addClass( 'mw-customtoggle' ); } } @@ -305,8 +305,9 @@ togglingHandler( $( this ), $collapsible, e, opts ); }; - $toggleLink = $customTogglers; - $toggleLink.on( 'click.mw-collapsible keypress.mw-collapsible', actionHandler ); + $toggleLink = $customTogglers + .on( 'click.mw-collapsible keypress.mw-collapsible', actionHandler ) + .prop( 'tabIndex', 0 ); } else { // If this is not a custom case, do the default: wrap the @@ -325,7 +326,8 @@ $toggleLink = buildDefaultToggleLink().appendTo( $caption ); } else { actionHandler = premadeToggleHandler; - $toggleLink = $toggle.on( 'click.mw-collapsible keypress.mw-collapsible', actionHandler ); + $toggleLink = $toggle.on( 'click.mw-collapsible keypress.mw-collapsible', actionHandler ) + .prop( 'tabIndex', 0 ); } } else { // The toggle-link will be in one the the cells (td or th) of the first row @@ -337,7 +339,8 @@ $toggleLink = buildDefaultToggleLink().prependTo( $firstItem.eq( -1 ) ); } else { actionHandler = premadeToggleHandler; - $toggleLink = $toggle.on( 'click.mw-collapsible keypress.mw-collapsible', actionHandler ); + $toggleLink = $toggle.on( 'click.mw-collapsible keypress.mw-collapsible', actionHandler ) + .prop( 'tabIndex', 0 ); } } @@ -359,7 +362,8 @@ $toggleLink.wrap( '
  • ' ).parent().prependTo( $collapsible ); } else { actionHandler = premadeToggleHandler; - $toggleLink = $toggle.on( 'click.mw-collapsible keypress.mw-collapsible', actionHandler ); + $toggleLink = $toggle.on( 'click.mw-collapsible keypress.mw-collapsible', actionHandler ) + .prop( 'tabIndex', 0 ); } } else { //
    ,

    etc. @@ -377,15 +381,12 @@ $toggleLink = buildDefaultToggleLink().prependTo( $collapsible ); } else { actionHandler = premadeToggleHandler; - $toggleLink = $toggle.on( 'click.mw-collapsible keypress.mw-collapsible', actionHandler ); + $toggleLink = $toggle.on( 'click.mw-collapsible keypress.mw-collapsible', actionHandler ) + .prop( 'tabIndex', 0 ); } } } - // Attributes for accessibility. This isn't necessary when the toggler is already - // an or a