Accessibility: Don't arbitrarily override role
authorDerk-Jan Hartman <hartman@videolan.org>
Wed, 7 Aug 2013 15:29:18 +0000 (17:29 +0200)
committerDerk-Jan Hartman <hartman@videolan.org>
Wed, 7 Aug 2013 15:29:18 +0000 (17:29 +0200)
Role overrides implicit role of an element. Since here we don't know
the original element type that we are overriding, we shouldn't just
set the role. It might break th, li etc items.

In the long term, we should add a jquery.accessibility lib that can
take into account things like this, without having to write a ton of
code.

Bug: 17616
Change-Id: Ie27df93acbc778396ad54abc5bde9abb3268a86d
Follow-up: If59590de159a2756bf5b859ce48a23e1af7650fa

resources/jquery/jquery.makeCollapsible.js

index 5ca0b12..597aea1 100644 (file)
 
                        // Attributes for accessibility. This isn't necessary when the toggler is already
                        // an <a> or a <button> etc., but it doesn't hurt either, and it's consistent.
-                       $toggleLink.prop( 'tabIndex', 0 ).attr( 'role', 'button' );
+                       $toggleLink.prop( 'tabIndex', 0 );
 
                        // Initial state
                        if ( options.collapsed || $collapsible.hasClass( 'mw-collapsed' ) ) {