U_Accessibility.js 14 KB

123456
  1. // Licensed Materials - Property of IBM
  2. // IBM Cognos Products: hal
  3. // (C) Copyright IBM Corp. 2003, 2017.
  4. // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  5. var U_Accessibility={};U_Accessibility.F_SimulateMouseClick=function(el,_hCZ1,_h4W1,_hGO1,_hY81){var _hIC2=U_DOM.F_GetRelativeOffset(el);var _hMD2=document.documentElement.getBoundingClientRect();var e=document.createEvent("MouseEvents");if(el.onclick&&(_hCZ1!=U_DOM.K_iRightMouseButton)){e.initMouseEvent("click", true, true, window, 0, _hMD2.left, _hMD2.top, _hIC2.left, _hIC2.top, !!_h4W1, false, !!_hGO1, false, _hCZ1||U_DOM.K_iLeftMouseButton, null);setTimeout(this._h2T1.bind(this, el, e), 0);}else{e.initMouseEvent("mousedown", true, true, window, 0, _hMD2.left, _hMD2.top, _hIC2.left, _hIC2.top, !!_h4W1, false, !!_hGO1, false, _hCZ1||U_DOM.K_iLeftMouseButton, null);setTimeout(this._h2T1.bind(this, el, e), 0);if(!_hY81){var e=document.createEvent("MouseEvents");e.initMouseEvent("mouseup", true, true, window, 0, _hMD2.left, _hMD2.top, _hIC2.left, _hIC2.top, !!_h4W1, false, !!_hGO1, false, _hCZ1||U_DOM.K_iLeftMouseButton, null);setTimeout(this._h2T1.bind(this, el, e), 0);}}};U_Accessibility._h2T1=function(el,e,_hXM1){el.dispatchEvent(e);};U_Accessibility.F_SetAriaStateAndProperty=function(el,_h3T1,_hYM1){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]){return;}if(_hYM1){el.setAttribute(_h3T1, "true");}else{el.removeAttribute(_h3T1);}};U_Accessibility._h5=function(_hRC1,_hWQ){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]){return null;}var _hHW;var _hZ81;var nl=_hRC1.getElementsByTagName("INPUT");var _hBZ1=nl.length;for(var i=0;i<_hBZ1;i++){var _hZE2=nl.item(i);if(_hZE2.type=="radio"&&_hZE2.name==_hWQ){if(!_hZ81){_hZ81=_hZE2;}if(_hZE2.checked==true){_hHW=_hZE2;break;}}}return _hHW||_hZ81;};U_Accessibility._hOF1=function(_hZE2){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]){return false;}var _h4T1=parseInt(_hZE2.getAttribute("tabIndex"));return(_h4T1>=0 ||((_hZE2.nodeName=="INPUT"||_hZE2.nodeName=="BUTTON"||_hZE2.nodeName=="TEXTAREA")&&_h4T1!=-1));};U_Accessibility._hXQ=function(el){if(el.getAttribute){var _hYA2=el.getAttribute("role");if(_hYA2=="button"||_hYA2=="combobox"){for(;el;el=el.parentNode){if(el.getAttribute&&el.getAttribute( "role" )=="toolbar" ){return true;}}}}return false;};U_Accessibility.F_GetFirstFocus=function(_h0C2,_hEW1){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]){return null;}_hEW1=_hEW1||_h0C2;var _h032;var _hBZ1=_hEW1.childNodes.length;for(var i=0;i<_hBZ1&&!_h032;i++){var _hLZ1=_hEW1.childNodes[i];var _h9P1=(_hLZ1.disabled ||( _hLZ1.getAttribute&&( _hLZ1.getAttribute( "disabled" )=="true"||_hLZ1.getAttribute( "aria-disabled" )=="true" ) ));if ( ( !_h9P1||this._hXQ( _hLZ1))&&_hLZ1.style&&_hLZ1.style.visibility!="hidden"&&_hLZ1.style.display != "none" ){if(_hLZ1.nodeName=="INPUT"&&_hLZ1.type=="radio"){_h032=this._h5(_h0C2, _hLZ1.getAttribute("name"));}else if(this._hOF1(_hLZ1)){_h032=_hLZ1;}else{_h032=this.F_GetFirstFocus(_h0C2, _hLZ1);}}}return _h032;};U_Accessibility.F_GetLastFocus=function(_h0C2,_hEW1){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]){return null;}_hEW1=_hEW1||_h0C2;var _h032;var _hBZ1=_hEW1.childNodes.length;for(var i=_hBZ1-1;i>=0&&!_h032;i--){var _hLZ1=_hEW1.childNodes[i];var _h9P1=(_hLZ1.disabled ||( _hLZ1.getAttribute&&( _hLZ1.getAttribute( "disabled" )=="true"||_hLZ1.getAttribute( "aria-disabled" )=="true" ) ));if ( ( !_h9P1||this._hXQ( _hLZ1))&&_hLZ1.style&&_hLZ1.style.visibility!="hidden"&&_hLZ1.style.display != "none" ){if(_hLZ1.nodeName=="INPUT"&&_hLZ1.type=="radio"){_h032=this._h5(_h0C2, _hLZ1.getAttribute("name"));}else if(this._hOF1(_hLZ1)){_h032=_hLZ1;}else{_h032=this.F_GetLastFocus(_h0C2, _hLZ1);}}}return _h032;};U_Accessibility.F_AddAriaHiddenSpan=function(_hZE2,_h091,_hX82,_hT2){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]&&!_hT2){return;}var _hIW="hiddenSpanId_"+_h091;var _hV21=_hZE2.getAttribute(_hIW);if(_hV21&&_hZE2.ownerDocument.getElementById(_hV21)){_hZE2.ownerDocument.getElementById(_hV21).innerText=_hX82;return _hV21;}else{var _h5T1=_hZE2.ownerDocument.createElement("SPAN");_h5T1.style.display="none";_h5T1.innerText=_hX82;_hZE2.parentNode.appendChild(_h5T1);var _h1C2=_hZE2.getAttribute(_h091);if(_h1C2){_h1C2 += " " + _h5T1.uniqueID;}else{_h1C2=( _h091=="aria-labelledby"?( _hZE2.uniqueID + " " + _h5T1.uniqueID ):_h5T1.uniqueID );}_hZE2.setAttribute(_h091, _h1C2);_hZE2.setAttribute(_hIW, _h5T1.uniqueID);return _h5T1.uniqueID;}};U_Accessibility.F_ClearAriaHiddenSpan=function(_hZE2,_h091,_hT2){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]&&!_hT2){return;}var _hIW="hiddenSpanId_"+_h091;var _hV21=_hZE2.getAttribute(_hIW);if(_hV21&&_hZE2.ownerDocument.getElementById(_hV21)){_hZE2.ownerDocument.getElementById(_hV21).innerHTML="";}};U_Accessibility.F_SetTabIndex=function(_hZE2,_hTR1){if(_hZE2.getAttribute( "modifiedTabIndex" ) != "true" ){_hZE2.setAttribute( "modifiedTabIndex", "true" );_hZE2.setAttribute( "oldTabIndex", _hZE2.getAttribute( "tabIndex" ) );_hZE2.setAttribute("tabIndex", _hTR1);}};U_Accessibility.F_RestoreIndex=function(_hZE2){if(_hZE2.getAttribute( "modifiedTabIndex" )=="true" ){_hZE2.removeAttribute("tabIndex");if(_hZE2.getAttribute("oldTabIndex")){_hZE2.setAttribute( "tabIndex", _hZE2.getAttribute( "oldTabIndex" ) );}_hZE2.removeAttribute("oldTabIndex");_hZE2.removeAttribute("modifiedTabIndex");}};U_Accessibility._hN4=function(_hZE2){if(_hZE2.getAttribute("tabIndex")!=0){this.F_SetTabIndex(_hZE2, "0");}_hZE2.focus();};U_Accessibility.F_GetDataTableCellFromChild=function(el){el=U_DOM.F_GetElementNotInShadowDom(el);for(;el;el=el.parentNode){if(el.nodeName.toLowerCase()=="td"||el.nodeName.toLowerCase()=="th"){return el;}}return null;};U_Accessibility._hK3=function(elTable){var _hN91=elTable.rows.length;for(var i=0;i<_hN91;i++){var _h2E2=elTable.rows.item(i);var _hA51=_h2E2.cells.length;for(var j=0;j<_hA51;j++){var _hDD2=_h2E2.cells.item(j);if(this._hRY1(_hDD2)){return;}}}};U_Accessibility._hG=function(_hZE2){if(_hZE2&&_hZE2.style&&_hZE2.style.visibility!="hidden"&&_hZE2.style.display != "none" ){return(_hZE2.nodeName=="SPAN"||_hZE2.nodeName=="DIV"||_hZE2.nodeName=="IMG");}return false;};U_Accessibility._hO4=function(_h9F2){return(_h9F2.nodeName=="DIV"||_h9F2.nodeName=="STRONG"||_h9F2.nodeName=="EM");};U_Accessibility._hSY1=function(_hZE2){var _h3F2=this.F_GetDataTableCellFromChild(_hZE2);var _hPF1=this._hJW(_h3F2);_hPF1+= this._hO6(_h3F2);var _h4F2=_h3F2.parentNode;if(_h3F2.rowSpan&&_h3F2.rowSpan>1){var _hTY1=_h3F2.rowSpan;for(var rowSpanIndex=1;rowSpanIndex<_hTY1;rowSpanIndex++){_h4F2=_h4F2.nextSibling;}}var _hEM=false;while(_h4F2){if(_h4F2.nextSibling){_h4F2=_h4F2.nextSibling;}else if(_h4F2.parentNode.firstChild.cells[_hPF1+1]&&!_hEM){_h4F2=_h4F2.parentNode.firstChild;_hEM=true;_hPF1++;}else{return false;}if(this._h191(_h4F2, _hPF1)){return true;}}return false;};U_Accessibility._hH82=function(_hZE2){var _h3F2=this.F_GetDataTableCellFromChild(_hZE2);var _h4F2=_h3F2.parentNode;var _hPF1=this._hJW(_h3F2);_hPF1+= this._hO6(_h3F2);var _hKA=false;while(_h4F2){if(_h4F2.previousSibling){_h4F2=_h4F2.previousSibling;}else if(_h3F2.previousSibling&&!_hKA){_h4F2=_h4F2.parentNode.lastChild;_hKA=true;_hPF1--;if(_hPF1<0){return false;}}else{return false;}if(this._h191(_h4F2, _hPF1)){return true;}}return false;};U_Accessibility._h191=function(_h4F2,_hPF1){if(_h4F2!=null){var _hYQ=_h4F2.firstChild;var pos=this._hO6(_hYQ);while(_hYQ){if(pos==_hPF1){return this._hLA(_hYQ);}else if(pos>_hPF1){break;}var _hUY1=0;if(_hYQ.colSpan){_hUY1=_hYQ.colSpan;}else{_hUY1++;}pos+= _hUY1;_hYQ=_hYQ.nextSibling;}}};U_Accessibility._hO6=function(_h3F2){var _hUY1=0;var _h4F2=_h3F2.parentNode;var _hW21=0;while(_h4F2){var _hZM1=_h4F2.firstChild;var _hX21=this._hKW(_h4F2)-_hW21;while(_hZM1&&_hZM1.rowSpan>1&&_hX21>0&&_hZM1!=_h3F2){_hUY1+= _hZM1.colSpan;_hZM1=_hZM1.nextSibling;_hX21--;}if(_h4F2.childNodes.length>_hW21){_hW21=this._hKW(_h4F2);}_h4F2=_h4F2.previousSibling;}return _hUY1;};U_Accessibility._hKW=function(_h4F2){var _h6T1=0;var _hZE2=_h4F2.firstChild;while(_hZE2){_h6T1+= _hZE2.colSpan;_hZE2=_hZE2.nextSibling;}return _h6T1;};U_Accessibility._hJW=function(_hZE2){var _h7T1=0;while(_hZE2.previousSibling){_hZE2=_hZE2.previousSibling;if(_hZE2.rowSpan==1){if(_hZE2.colSpan){_h7T1+= _hZE2.colSpan;}else{_h7T1++;}}}return _h7T1;};U_Accessibility._h7D=function(_hZE2){if(_hZE2.childNodes){for(var iChild=_hZE2.childNodes.length-1;iChild>=0;iChild--){var _hLZ1=_hZE2.childNodes[iChild];var _h291=this._hO4(_hLZ1)?this._h7D(_hLZ1):null;if(_h291){return _h291;}if(this._hG(_hLZ1)){return _hLZ1;}}}return null;};U_Accessibility._hMA=function(_hZE2){if(_hZE2.childNodes){for(var iChild=0;iChild<_hZE2.childNodes.length;iChild++){var _hLZ1=_hZE2.childNodes[iChild];var _h291=this._hO4(_hLZ1)?this._hMA(_hLZ1):null;if(_h291){return _h291;}else if(this._hG(_hLZ1)){return _hLZ1;}}}return null;};U_Accessibility._hU2=function(_hZE2){var _h8T1=_hZE2.previousSibling;while(_h8T1){var _hLZ1=this._hO4(_h8T1)?this._h7D(_h8T1):null;if(_hLZ1){return _hLZ1;}if(this._hG(_h8T1)){return _h8T1;}_h8T1=_h8T1.previousSibling;}if(_hZE2.parentNode.nodeName.toLowerCase()!="td"&&_hZE2.parentNode.nodeName.toLowerCase() != "th" ){return this._hU2(_hZE2.parentNode);}return null;};U_Accessibility._hVY1=function(_hZE2){var _h0N1=this._hU2(_hZE2);if(_h0N1){this._hN4(_h0N1);return true;}var _h3F2=this.F_GetDataTableCellFromChild(_hZE2);while(_h3F2.previousSibling){if(this._hLA(_h3F2.previousSibling)){return true;}_h3F2=_h3F2.previousSibling;}var _h4F2=_h3F2.parentNode;while(_h4F2.previousSibling){var _h391=_h4F2.previousSibling;if(this._hLA(_h391.lastChild)){return true;}_h4F2=_h4F2.previousSibling;}return false;};U_Accessibility._hLA=function(td){var _hZE2=this._h7D(td);if(_hZE2){this._hN4(_hZE2);return true;}return false;};U_Accessibility._hL8=function(_hZE2){var _h8T1=_hZE2.nextSibling;while(_h8T1){var _hLZ1=this._hO4(_h8T1)?this._hMA(_h8T1):null;if(_hLZ1){return _hLZ1;}if(this._hG(_h8T1)){return _h8T1;}_h8T1=_h8T1.nextSibling;}if(_hZE2.parentNode.nodeName.toLowerCase()!="td"&&_hZE2.parentNode.nodeName.toLowerCase() != "th" ){return this._hL8(_hZE2.parentNode);}return null;};U_Accessibility._h9T1=function(_hZE2){var _hK72=this._hL8(_hZE2);if(_hK72){this._hN4(_hK72);return true;}var _h3F2=this.F_GetDataTableCellFromChild(_hZE2);while(_h3F2.nextSibling){if(this._hRY1(_h3F2.nextSibling)){return true;}_h3F2=_h3F2.nextSibling;}var _h4F2=_h3F2.parentNode;while(_h4F2.nextSibling){var _hI82=_h4F2.nextSibling;if(this._hRY1(_hI82.childNodes[0])){return true;}_h4F2=_h4F2.nextSibling;}return false;};U_Accessibility._hRY1=function(_h3F2){var _hZE2=this._hMA(_h3F2);if(_hZE2){this._hN4(_hZE2);return true;}return false;};U_Accessibility.F_HandleArrowKeyDown=function(_hZE2,_h442,_hT2){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]&&!_hT2){return;}if(_hZE2.nodeName=="TABLE"){this._hK3(_hZE2);return;}switch(_h442){case U_DOM.K_iKeyArrowUp:this._hH82(_hZE2);break;case U_DOM.K_iKeyArrowLeft:this._hVY1(_hZE2);break;case U_DOM.K_iKeyArrowDown:this._hSY1(_hZE2);break;case U_DOM.K_iKeyArrowRight:this._h9T1(_hZE2);break;}};U_Accessibility.F_MarkTextAsLink=function(_hZE2,_hSI1){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]){return;}if(_hZE2.className.indexOf("clsHyperlink")!=-1){_hZE2.setAttribute( "role", "link" );_hZE2.setAttribute( "tabIndex", "0" );if(_hSI1){_hZE2.setAttribute("aria-label", _hSI1);}_hZE2.onfocus =function(){ this.className="clsHyperlink_hover"; };_hZE2.onblur =function(){ this.className="clsHyperlink"; };}};U_Accessibility.F_AddFocusAndBlurEventListener=function(_hZE2,_hZQ,_hLW,_hT2){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]&&!_hT2){return;}if(G_BrowserInfo.M_bIsFirefox){if(_hZQ){_hZE2.addEventListener('focus', _hZQ, true);}if(_hLW){_hZE2.addEventListener('blur', _hLW, true);}}else{if(_hZQ){_hZE2.onfocusin=_hZQ;}if(_hLW){_hZE2.onfocusout=_hLW;}}};U_Accessibility.F_RemoveFocusAndBlurEventListener=function(_hZE2,_hZQ,_hLW,_hT2){if((!G_HAL.M_oLibraries["hal"]["enableAccessibility"]&&!_hT2)||!_hZE2){return;}if(G_BrowserInfo.M_bIsFirefox){if(_hZQ){_hZE2.removeEventListener('focus', _hZQ, true);}if(_hLW){_hZE2.removeEventListener('blur', _hLW, true);}}else{if(_hZQ){_hZE2.onfocusin=null;}if(_hLW){_hZE2.onfocusout=null;}}};U_Accessibility.F_AddAriaDescribedBy=function(_hZE2,_hCJ){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]||!_hCJ){return;}var _hP4=_hZE2.getAttribute("aria-describedby");if(_hP4){_hCJ=_hP4+" " + _hCJ;}_hZE2.setAttribute("aria-describedby", _hCJ);};U_Accessibility.F_SetRoleForAllLayoutTables=function(_hZE2){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]){return;}var _h542=_hZE2.getElementsByTagName("TABLE");var _h3D2=_h542.length;for(var i=0;i<_h3D2;i++){var _hD02=_h542.item(i);if(!_hD02.getAttribute("role")){_hD02.setAttribute( "role", "presentation" );}}};U_Accessibility.F_SetRoleForLayoutTable=function(_hD02){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]){return;}_hD02.setAttribute( "role", "presentation" );};U_Accessibility.F_AdjustTabAndPanelOrder=function(_hJ82,_hQF1,_h2C2){if(!G_HAL.M_oLibraries["hal"]["enableAccessibility"]){return;}var _hEW1=_hJ82.parentNode;_hEW1.insertBefore(_hEW1.removeChild(_hJ82), _hQF1);if(!_h2C2){_hJ82.setAttribute( "HAL_tabOrientation", "top" );}};U_Accessibility.F_CheckAndEnableForHighContrast=function(){var _h642=document.createElement("div");_h642.id="divHighContrastCheck";_h642.style.border="1px solid";_h642.style.borderColor="red green";_h642.style.height="10px";_h642.style.top="-999px";_h642.style.position="absolute";document.body.appendChild(_h642);setTimeout(this._hU.bind(this, _h642), 0);};U_Accessibility._hU=function(_h642){var _hZZ=_h642?_h642.currentStyle:null;if(_hZZ&&(_hZZ.borderTopColor==_hZZ.borderRightColor)){G_HAL.F_EnableHighContrastMode();}document.body.removeChild(_h642);};