define("dijit/a11y", [ "dojo/_base/array", // array.forEach array.map "dojo/_base/config", // defaultDuration "dojo/_base/declare", // declare "dojo/dom", // dom.byId "dojo/dom-attr", // domAttr.attr domAttr.has "dojo/dom-style", // style.style "dojo/_base/sniff", // has("ie") "./_base/manager", // manager._isElementShown "." // for exporting methods to dijit namespace ], function(array, config, declare, dom, domAttr, domStyle, has, manager, dijit){ // module: // dijit/a11y // summary: // Accessibility utility functions (keyboard, tab stops, etc.) var shown = (dijit._isElementShown = function(/*Element*/ elem){ var s = domStyle.get(elem); return (s.visibility != "hidden") && (s.visibility != "collapsed") && (s.display != "none") && (domAttr.get(elem, "type") != "hidden"); }); dijit.hasDefaultTabStop = function(/*Element*/ elem){ // summary: // Tests if element is tab-navigable even without an explicit tabIndex setting // No explicit tabIndex setting, need to investigate node type switch(elem.nodeName.toLowerCase()){ case "a": // An w/out a tabindex is only navigable if it has an href return domAttr.has(elem, "href"); case "area": case "button": case "input": case "object": case "select": case "textarea": // These are navigable by default return true; case "iframe": // If it's an editor