12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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");
- 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,
- hc = (cs.borderTopColor == cs.borderRightColor) ||
- (bkImg && (bkImg == "none" || bkImg == "url(invalid-url:)" ));
- if(has("ie") <= 8){
- div.outerHTML = ""; // prevent mixed-content warning, see http://support.microsoft.com/kb/925014
- }else{
- win.body().removeChild(div);
- }
- return hc;
- });
- domReady(function(){
- if(has("highcontrast")){
- domClass.add(win.body(), "dj_a11y");
- }
- });
- return has;
- });
|