diff options
-rw-r--r-- | tests/unit/tooltip/core.js | 25 | ||||
-rw-r--r-- | ui/tooltip.js | 1 |
2 files changed, 26 insertions, 0 deletions
diff --git a/tests/unit/tooltip/core.js b/tests/unit/tooltip/core.js index fa24d72ce..135fa480b 100644 --- a/tests/unit/tooltip/core.js +++ b/tests/unit/tooltip/core.js @@ -221,4 +221,29 @@ asyncTest( "multiple active delegated tooltips", function() { step1(); }); +// http://bugs.jqueryui.com/ticket/11272 +test( "remove conflicting attributes from live region", function() { + expect( 2 ); + + var element = $( + "<div id='content'>" + + "<input type='radio' name='hobby' id='hobby1' checked='checked'>" + + "<label for='hobby1'>option 1</label>" + + "<input type='radio' name='hobby' id='hobby2'>" + + "<label for='hobby2'>option 2</label>" + + "</div>" ); + + $( "#tooltipped1" ) + .tooltip({ + content: element, + open: function() { + equal( $( ".ui-helper-hidden-accessible [name]" ).length, 0, + "no name attributes within live region" ); + equal( $( ".ui-helper-hidden-accessible [id]" ).length, 0, + "no id attributes within live region" ); + } + }) + .tooltip( "open" ); +}); + } ); diff --git a/ui/tooltip.js b/ui/tooltip.js index 841e877cc..e18f3e19d 100644 --- a/ui/tooltip.js +++ b/ui/tooltip.js @@ -287,6 +287,7 @@ $.widget( "ui.tooltip", { // Voiceover will sometimes re-read the entire log region's contents from the beginning this.liveRegion.children().hide(); a11yContent = $( "<div>" ).html( tooltip.find( ".ui-tooltip-content" ).html() ); + a11yContent.removeAttr( "name" ).find( "[name]" ).removeAttr( "name" ); a11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" ); a11yContent.appendTo( this.liveRegion ); |