You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.7 KiB
55 lines
1.7 KiB
define([ |
|
"require", // require, require.toUrl |
|
"./_base/config", // config.blankGif |
|
"./dom-class", // domClass.add |
|
"./dom-style", // domStyle.getComputedStyle |
|
"./has", |
|
"./domReady", |
|
"./_base/window" // win.body |
|
], function(require, config, domClass, domStyle, has, domReady, win){ |
|
|
|
// module: |
|
// dojo/hccss |
|
|
|
/*===== |
|
return function(){ |
|
// summary: |
|
// Test if computer is in high contrast mode (i.e. if browser is not displaying background images). |
|
// Defines `has("highcontrast")` and sets `dj_a11y` CSS class on `<body>` if machine is in high contrast mode. |
|
// Returns `has()` method; |
|
}; |
|
=====*/ |
|
|
|
// Has() test for when background images aren't displayed. Don't call has("highcontrast") before dojo/domReady!. |
|
has.add("highcontrast", function(){ |
|
// note: if multiple documents, doesn't matter which one we use |
|
var div = win.doc.createElement("div"); |
|
try{ |
|
div.style.cssText = "border: 1px solid; border-color:red green; position: absolute; height: 5px; top: -999px;" + |
|
"background-image: url(\"" + (config.blankGif || require.toUrl("./resources/blank.gif")) + "\");"; |
|
win.body().appendChild(div); |
|
|
|
var cs = domStyle.getComputedStyle(div), |
|
bkImg = cs.backgroundImage; |
|
return cs.borderTopColor == cs.borderRightColor || |
|
(bkImg && (bkImg == "none" || bkImg == "url(invalid-url:)" )); |
|
}catch(e){ |
|
console.warn("hccss: exception detecting high-contrast mode, document is likely hidden: " + e.toString()); |
|
return false; |
|
}finally{ |
|
if(has("ie") <= 8){ |
|
div.outerHTML = ""; // prevent mixed-content warning, see http://support.microsoft.com/kb/925014 |
|
}else{ |
|
win.body().removeChild(div); |
|
} |
|
} |
|
}); |
|
|
|
domReady(function(){ |
|
if(has("highcontrast")){ |
|
domClass.add(win.body(), "dj_a11y"); |
|
} |
|
}); |
|
|
|
return has; |
|
});
|
|
|