diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/ui.core.js | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/ui/ui.core.js b/ui/ui.core.js index 3b6beb329..7601588b3 100644 --- a/ui/ui.core.js +++ b/ui/ui.core.js @@ -135,9 +135,10 @@ $.ui = { }; // WAI-ARIA normalization -// tweak $.attr for FF2 implementation if (isFF2) { var attr = $.attr, + removeAttr = $.fn.removeAttr, + ariaNS = "http://www.w3.org/2005/07/aaa", ariaState = /^aria-/, ariaRole = /^wairole:/; @@ -150,11 +151,18 @@ if (isFF2) { : (attr.apply(this, arguments) || "").replace(ariaRole, "")) : (ariaState.test(name) ? (set - ? elem.setAttributeNS("http://www.w3.org/2005/07/aaa", + ? elem.setAttributeNS(ariaNS, name.replace(ariaState, "aaa:"), value) : attr.call(this, elem, name.replace(ariaState, "aaa:"))) : attr.apply(this, arguments))); }; + + $.fn.removeAttr = function(name) { + return (ariaState.test(name) + ? this.each(function() { + this.removeAttributeNS(ariaNS, name.replace(ariaState, "")); + }) : removeAttr.call(this, name)); + }; } //jQuery plugins |