docs: function (str, options, infos) {
              // -------------------------------------- input arguments processing
  
              // options ---------------------------------------------------------
  
              if (options == null) {
                  options = true;
              }
  
              if (!ariaUtilsType.isObject(options)) {
                  options = !!options;
                  options = {
                      text: options,
                      attr: options
                  };
              }
  
              var escapeForHTMLText = !!(options.text);
              var escapeForHTMLAttr = !!(options.attr);
  
              // ------------------------------------------------------ processing
  
              var escaped = false;
              var textEscaped = false;
              var attrEscaped = false;
  
              if (escapeForHTMLText) {
                  escaped = true;
                  textEscaped = true;
                  str = this.escapeHTML(str).replace(/\//g, "&#x2F;");
              }
  
              if (escapeForHTMLAttr) {
                  escaped = true;
                  attrEscaped = true;
                  str = this.escapeHTMLAttr(str);
              }
  
              // ---------------------------------------------------------- return
  
              if (infos != null) {
                  infos.escaped = escaped;
                  infos.text = textEscaped;
                  infos.attr = attrEscaped;
              }
  
              return str;
          }