From 6fb3ffad36e9ac318a186d471d60459d6b16094c Mon Sep 17 00:00:00 2001 From: Scott González Date: Sat, 15 Nov 2008 04:29:08 +0000 Subject: Core: Fixed #3562: Modify .removeAttr() to work on ARIA properties in FF2. --- ui/ui.core.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'ui') 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 -- cgit v1.2.3