diff --git a/tests/unit/tabs/tabs.html b/tests/unit/tabs/tabs.html
index a3e73173f85..aa79ddabb69 100644
--- a/tests/unit/tabs/tabs.html
+++ b/tests/unit/tabs/tabs.html
@@ -61,6 +61,7 @@
1
2
3
+ 4
diff --git a/tests/unit/tabs/tabs_tickets.js b/tests/unit/tabs/tabs_tickets.js
index 475579c8913..fdc2295e9cb 100644
--- a/tests/unit/tabs/tabs_tickets.js
+++ b/tests/unit/tabs/tabs_tickets.js
@@ -70,7 +70,6 @@ test('#5069 - ui.tabs.add creates two tab panels when using a full URL', functio
});
-
test('#5893 - Sublist in the tab list are considered as tab', function() {
// http://dev.jqueryui.com/ticket/5893
expect(1);
@@ -80,5 +79,16 @@ test('#5893 - Sublist in the tab list are considered as tab', function() {
});
+asyncTest( "#4581 - title attribute for remote tabs does not support foreign languages", function() {
+ expect( 1 );
+
+ $( "#tabs2" ).tabs({
+ selected: 3,
+ load: function( event, ui ) {
+ equal( ui.panel.id, "∫ßáö_Սե", "proper title" );
+ start();
+ }
+ });
+});
})(jQuery);
diff --git a/ui/jquery.ui.tabs.js b/ui/jquery.ui.tabs.js
index 98b90c289ca..8b63992a5ca 100644
--- a/ui/jquery.ui.tabs.js
+++ b/ui/jquery.ui.tabs.js
@@ -63,7 +63,7 @@ $.widget( "ui.tabs", {
},
_tabId: function( a ) {
- return a.title && a.title.replace( /\s/g, "_" ).replace( /[^A-Za-z0-9\-_:\.]/g, "" ) ||
+ return a.title && a.title.replace( /\s/g, "_" ).replace( /[^\w\u00c0-\uFFFF-]/g, "" ) ||
this.options.idPrefix + getNextTabId();
},