define("dijit/a11y", [ "dojo/_base/array", // array.forEach array.map "dojo/dom", // dom.byId "dojo/dom-attr", // domAttr.attr domAttr.has "dojo/dom-style", // domStyle.style "dojo/_base/lang", // lang.mixin() "dojo/_base/sniff", // has("ie") 1 "./main" // for exporting methods to dijit namespace ], function(array, dom, domAttr, domStyle, lang, has, dijit){ // module: // dijit/a11y var undefined; var a11y = { // summary: // Accessibility utility functions (keyboard, tab stops, etc.) _isElementShown: function(/*Element*/ elem){ var s = domStyle.get(elem); return (s.visibility != "hidden") && (s.visibility != "collapsed") && (s.display != "none") && (domAttr.get(elem, "type") != "hidden"); }, 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