Opened 11 years ago

Closed 11 years ago

#7466 closed defect (worksforme)

A11y activated when Prototype.js exists - trashes page style

Reported by: tomagnew Owned by: Becky Gibson
Priority: high Milestone: tbd
Component: Accessibility Version: 1.1.1
Keywords: prototype.js a11y Cc:
Blocked By: Blocking:

Description (last modified by bill)

We are finding numerous places where Dojo breaks when Prototype.js is also loaded on a page. This is one example.

The failure occurs in the HEAD version of dijit/_base/wai.js

Here is the code that fails:

var cs = dojo.getComputedStyle(div);
if(cs){
	var bkImg = cs.backgroundImage;
	var needsA11y = (cs.borderTopColor==cs.borderRightColor) || (bkImg != null && (bkImg == "none" || bkImg == "url(invalid-url:)" ));
	dojo[needsA11y ? "addClass" : "removeClass"](dojo.body(), "dijit_a11y");
	if(dojo.isIE){
		div.outerHTML = "";		// prevent mixed-content warning, see http://support.microsoft.com/kb/925014
	}else{
		dojo.body().removeChild(div);
	}
}

The variable "needsA11y" is getting set to true and the <body> class has "dijit_a11y" appended to it. That triggers major overrides in css - making our page unusable.

We can workaround this by commenting out the line that sets the body class.

Change History (3)

comment:1 Changed 11 years ago by bill

Component: GeneralAccessibility
Description: modified (diff)
Owner: changed from anonymous to Becky Gibson

comment:2 Changed 11 years ago by Adam Peller

I think this is a dup of #7467, which was resolved by fixing dojo.getComputedStyle.

comment:3 Changed 11 years ago by Adam Peller

Resolution: worksforme
Status: newclosed

please reopen if you continue to have a problem.

Note: See TracTickets for help on using tickets.