docs: function (container, path) {
              var typeUtils = ariaUtilsType;
              if (!container || !path || !typeUtils.isObject(container)) {
                  return;
              }
              if (typeUtils.isString(path)) {
                  path = this.parse(path);
              }
              if (!typeUtils.isArray(path) || typeUtils.isNumber(path[0])) {
                  return;
              }
  
              var obj = container, param;
              for (var i = 0, len = path.length; i < len; i += 1) {
                  param = path[i];
  
                  if (typeUtils.isNumber(param) && !typeUtils.isArray(obj)) {
                      return null;
                  }
                  if (typeUtils.isString(param) && (!typeUtils.isObject(obj) || !(param in obj))) {
                      return null;
                  }
  
                  if (i === len - 1) {
                      return {
                          container : obj,
                          property : param,
                          value : obj[param]
                      };
                  } else {
                      obj = obj[param];
                  }
              }
          }