@@ -187,7 +187,13 @@ QUnit.test( "keyboard support - LEFT, RIGHT, UP, DOWN, HOME, END, SPACE, ENTER",
187
187
} ) ,
188
188
tabs = element . find ( ".ui-tabs-nav li" ) ,
189
189
panels = element . find ( ".ui-tabs-panel" ) ,
190
- keyCode = $ . ui . keyCode ;
190
+ keyCode = $ . ui . keyCode ,
191
+
192
+ // Support: IE 11 with jQuery 1.8.
193
+ // In IE with jQuery 1.8 focusout may not happen immediately so some checks
194
+ // need to be done later.
195
+ isFocusoutImmediate = ! ( document . documentMode &&
196
+ jQuery . fn . jquery . indexOf ( "1.8." ) === 0 ) ;
191
197
192
198
element . tabs ( "instance" ) . delay = 1 ;
193
199
@@ -202,7 +208,9 @@ QUnit.test( "keyboard support - LEFT, RIGHT, UP, DOWN, HOME, END, SPACE, ENTER",
202
208
203
209
tabs . eq ( 0 ) . simulate ( "keydown" , { keyCode : keyCode . DOWN } ) ;
204
210
assert . hasClasses ( tabs . eq ( 1 ) , "ui-state-focus" , "DOWN moves focus to next tab" ) ;
205
- assert . lacksClasses ( tabs . eq ( 0 ) , "ui-state-focus" , "first tab is no longer focused" ) ;
211
+ if ( isFocusoutImmediate ) {
212
+ assert . lacksClasses ( tabs . eq ( 0 ) , "ui-state-focus" , "first tab is no longer focused" ) ;
213
+ }
206
214
assert . equal ( tabs . eq ( 1 ) . attr ( "aria-selected" ) , "true" , "second tab has aria-selected=true" ) ;
207
215
assert . equal ( tabs . eq ( 0 ) . attr ( "aria-selected" ) , "false" , "first tab has aria-selected=false" ) ;
208
216
assert . ok ( panels . eq ( 1 ) . is ( ":hidden" ) , "second panel is still hidden" ) ;
@@ -247,6 +255,9 @@ QUnit.test( "keyboard support - LEFT, RIGHT, UP, DOWN, HOME, END, SPACE, ENTER",
247
255
248
256
// Left, home, space
249
257
function step2 ( ) {
258
+ if ( ! isFocusoutImmediate ) {
259
+ assert . lacksClasses ( tabs . eq ( 0 ) , "ui-state-focus" , "first tab is no longer focused" ) ;
260
+ }
250
261
assert . equal ( tabs . eq ( 2 ) . attr ( "aria-selected" ) , "true" , "third tab has aria-selected=true" ) ;
251
262
assert . equal ( tabs . eq ( 0 ) . attr ( "aria-selected" ) , "false" , "first tab has aria-selected=false" ) ;
252
263
assert . ok ( panels . eq ( 2 ) . is ( ":visible" ) , "third panel is visible" ) ;
0 commit comments