110 lines
2.3 KiB
JavaScript
110 lines
2.3 KiB
JavaScript
//>>built
|
|
define("dijit/a11y",["dojo/_base/array","dojo/dom","dojo/dom-attr","dojo/dom-style","dojo/_base/lang","dojo/sniff","./main"],function(_1,_2,_3,_4,_5,_6,_7){
|
|
var _8;
|
|
var _9={_isElementShown:function(_a){
|
|
var s=_4.get(_a);
|
|
return (s.visibility!="hidden")&&(s.visibility!="collapsed")&&(s.display!="none")&&(_3.get(_a,"type")!="hidden");
|
|
},hasDefaultTabStop:function(_b){
|
|
switch(_b.nodeName.toLowerCase()){
|
|
case "a":
|
|
return _3.has(_b,"href");
|
|
case "area":
|
|
case "button":
|
|
case "input":
|
|
case "object":
|
|
case "select":
|
|
case "textarea":
|
|
return true;
|
|
case "iframe":
|
|
var _c;
|
|
try{
|
|
var _d=_b.contentDocument;
|
|
if("designMode" in _d&&_d.designMode=="on"){
|
|
return true;
|
|
}
|
|
_c=_d.body;
|
|
}
|
|
catch(e1){
|
|
try{
|
|
_c=_b.contentWindow.document.body;
|
|
}
|
|
catch(e2){
|
|
return false;
|
|
}
|
|
}
|
|
return _c&&(_c.contentEditable=="true"||(_c.firstChild&&_c.firstChild.contentEditable=="true"));
|
|
default:
|
|
return _b.contentEditable=="true";
|
|
}
|
|
},effectiveTabIndex:function(_e){
|
|
if(_3.get(_e,"disabled")){
|
|
return _8;
|
|
}else{
|
|
if(_3.has(_e,"tabIndex")){
|
|
return +_3.get(_e,"tabIndex");
|
|
}else{
|
|
return _9.hasDefaultTabStop(_e)?0:_8;
|
|
}
|
|
}
|
|
},isTabNavigable:function(_f){
|
|
return _9.effectiveTabIndex(_f)>=0;
|
|
},isFocusable:function(_10){
|
|
return _9.effectiveTabIndex(_10)>=-1;
|
|
},_getTabNavigable:function(_11){
|
|
var _12,_13,_14,_15,_16,_17,_18={};
|
|
function _19(_1a){
|
|
return _1a&&_1a.tagName.toLowerCase()=="input"&&_1a.type&&_1a.type.toLowerCase()=="radio"&&_1a.name&&_1a.name.toLowerCase();
|
|
};
|
|
var _1b=_9._isElementShown,_1c=_9.effectiveTabIndex;
|
|
var _1d=function(_1e){
|
|
for(var _1f=_1e.firstChild;_1f;_1f=_1f.nextSibling){
|
|
if(_1f.nodeType!=1||(_6("ie")<=9&&_1f.scopeName!=="HTML")||!_1b(_1f)){
|
|
continue;
|
|
}
|
|
var _20=_1c(_1f);
|
|
if(_20>=0){
|
|
if(_20==0){
|
|
if(!_12){
|
|
_12=_1f;
|
|
}
|
|
_13=_1f;
|
|
}else{
|
|
if(_20>0){
|
|
if(!_14||_20<_15){
|
|
_15=_20;
|
|
_14=_1f;
|
|
}
|
|
if(!_16||_20>=_17){
|
|
_17=_20;
|
|
_16=_1f;
|
|
}
|
|
}
|
|
}
|
|
var rn=_19(_1f);
|
|
if(_3.get(_1f,"checked")&&rn){
|
|
_18[rn]=_1f;
|
|
}
|
|
}
|
|
if(_1f.nodeName.toUpperCase()!="SELECT"){
|
|
_1d(_1f);
|
|
}
|
|
}
|
|
};
|
|
if(_1b(_11)){
|
|
_1d(_11);
|
|
}
|
|
function rs(_21){
|
|
return _18[_19(_21)]||_21;
|
|
};
|
|
return {first:rs(_12),last:rs(_13),lowest:rs(_14),highest:rs(_16)};
|
|
},getFirstInTabbingOrder:function(_22,doc){
|
|
var _23=_9._getTabNavigable(_2.byId(_22,doc));
|
|
return _23.lowest?_23.lowest:_23.first;
|
|
},getLastInTabbingOrder:function(_24,doc){
|
|
var _25=_9._getTabNavigable(_2.byId(_24,doc));
|
|
return _25.last?_25.last:_25.highest;
|
|
}};
|
|
1&&_5.mixin(_7,_9);
|
|
return _9;
|
|
});
|