docs: function (str, highlight) {
                  if (ariaUtilsType.isString(str) && ariaUtilsType.isString(highlight)) {
                      var toBeMatched = str.split(" ");
                      // sort toBeHighlighted by longest running match
                      var toBeHighlighted = highlight.split(" ").sort(function (first, second) {
                          var aLen = first.length, bLen = second.length;
                          return aLen === bLen ? 0 : (aLen < bLen ? 1 : -1);
                      });
                      ariaUtilsArray.forEach(toBeMatched, function (value, index, array) {
                          for (var i = 0, len = toBeHighlighted.length; value && i <= len; i += 1) {
                              if (toBeHighlighted[i] == null || toBeHighlighted[i] === "") {
                                  continue;
                              }
                              var frmtdHighlightStr = toBeHighlighted[i].replace(regExSpecials, "\\$1");
                              var highlightStr = new RegExp('\\b' + frmtdHighlightStr, 'gim');
                              if (!!frmtdHighlightStr.match(/\(/)) {
                                  highlightStr = new RegExp('[\\b\\(]' + frmtdHighlightStr.replace('\\(', ''), 'gim');
                              }
                              var replaceArr = highlightStr.exec(value);
                              if (replaceArr != null && replaceArr.length > 0) {
                                  var replaceStr = "<strong>" + replaceArr[0] + "</strong>";
                                  array[index] = value.replace(highlightStr, replaceStr);
                                  if (!!value.match(highlightStr)) {
                                      break;
                                  }
                              }
                          }
                      });
                      return toBeMatched.join(" ");
                  }
  
                  return str;
              }