]> source.dussan.org Git - jquery-ui.git/commitdiff
Core: Fixed :focusable and :tabbable selectors for to work with :hidden and :visibile...
authorScott González <scott.gonzalez@gmail.com>
Thu, 22 Jul 2010 02:10:16 +0000 (22:10 -0400)
committerScott González <scott.gonzalez@gmail.com>
Thu, 22 Jul 2010 02:10:16 +0000 (22:10 -0400)
tests/unit/core/core.html
tests/unit/core/selector.js
ui/jquery.ui.core.js

index 4141bcd0978fc1e756582bc51ca27e49ae39d37b..4c769d8417c066aaa3432f3481568df550ec19b0 100644 (file)
        <div>
                <div id="displayNoneAncestor" style="display: none;">
                        <input id="displayNoneAncestor-input" />
-                       <span tabindex="1" id="displayNoneAncestor-span"></span>
+                       <span tabindex="1" id="displayNoneAncestor-span">.</span>
                </div>
                
                <div id="visibilityHiddenAncestor" style="visibility: hidden;">
                        <input id="visibilityHiddenAncestor-input" />
-                       <span tabindex="1" id="visibilityHiddenAncestor-span"></span>
+                       <span tabindex="1" id="visibilityHiddenAncestor-span">.</span>
                </div>
                
                <input id="displayNone-input" style="display: none;" />
                <input id="visibilityHidden-input" style="visibility: hidden;" />
                
-               <span tabindex="1" id="displayNone-span" style="display: none;"></span>
-               <span tabindex="1" id="visibilityHidden-span" style="visibility: hidden;"></span>
+               <span tabindex="1" id="displayNone-span" style="display: none;">.</span>
+               <span tabindex="1" id="visibilityHidden-span" style="visibility: hidden;">.</span>
        </div>
        
        <div>
                <input id="inputTabindex-1" tabindex="-1" />
                <input id="inputTabindex-50" tabindex="-50" />
                
-               <span id="spanTabindex0" tabindex="0"></span>
-               <span id="spanTabindex10" tabindex="10"></span>
-               <span id="spanTabindex-1" tabindex="-1"></span>
-               <span id="spanTabindex-50" tabindex="-50"></span>
+               <span id="spanTabindex0" tabindex="0">.</span>
+               <span id="spanTabindex10" tabindex="10">.</span>
+               <span id="spanTabindex-1" tabindex="-1">.</span>
+               <span id="spanTabindex-50" tabindex="-50">.</span>
        </div>
        
        <div>
                <input id="inputTabindexfoo" tabindex="foo" />
                <input id="inputTabindex3foo" tabindex="3foo" />
                
-               <span id="spanTabindexfoo" tabindex="foo"></span>
-               <span id="spanTabindex3foo" tabindex="3foo"></span>
+               <span id="spanTabindexfoo" tabindex="foo">.</span>
+               <span id="spanTabindex3foo" tabindex="3foo">.</span>
        </div>
        
        <div id="zIndex100" style="z-index: 100; position: absolute">
-               <div id="zIndexAutoWithParent"></div>
+               <div id="zIndexAutoWithParent">.</div>
        </div>
        <div id="zIndex100ViaCSS" class="zindex">
-               <div id="zIndexAutoWithParentViaCSS"></div>
+               <div id="zIndexAutoWithParentViaCSS">.</div>
        </div>
        <div id="zIndex100ViaCSSPositioned" class="zindex absolute">
-               <div id="zIndexAutoWithParentViaCSSPositioned"></div>
+               <div id="zIndexAutoWithParentViaCSSPositioned">.</div>
        </div>
        <div id="zIndexAutoNoParent"></div>
 </div>
index 269b77e08c9399e8ab5877bfab620d84e2de7a35..11490794a8d791ba74f4b38a6825c9f590e8a5fb 100644 (file)
@@ -132,7 +132,7 @@ test("focusable - hidden styles", function() {
        isNotFocusable('#visibilityHidden-span', 'span with tabindex, visibility: hidden');
 });
 
-test("focusable -  natively focusable with various tabindex", function() {
+test("focusable - natively focusable with various tabindex", function() {
        expect(4);
        
        isFocusable('#inputTabindex0', 'input, tabindex 0');
@@ -141,7 +141,7 @@ test("focusable -  natively focusable with various tabindex", function() {
        isFocusable('#inputTabindex-50', 'input, tabindex -50');
 });
 
-test("focusable -  not natively focusable with various tabindex", function() {
+test("focusable - not natively focusable with various tabindex", function() {
        expect(4);
        
        isFocusable('#spanTabindex0', 'span, tabindex 0');
index c3ba811f6c8a59099c7703f01cf2941bfc507ad5..bffa51d7721c28fc38a5f82a0ded7ecb34ca9d12 100644 (file)
@@ -203,7 +203,10 @@ $.extend($.expr[':'], {
                                : !isNaN(tabIndex))
                        // the element and all of its ancestors must be visible
                        // the browser may report that the area is hidden
-                       && !$(element)['area' == nodeName ? 'parents' : 'closest'](':hidden').length;
+                       && !$(element).parents().andSelf().filter(function() {
+                               return $.curCSS( this, "visibility" ) === "hidden" ||
+                                       $.expr.filters.hidden( this );
+                       }).length;
        },
 
        tabbable: function(element) {