docs: function (event) {
              if (this._cfg.waiAria && !this._dropdownPopup && event.keyCode === DomEvent.KC_DOWN) {
                  // disable arrow down key when waiAria is enabled and the popup is closed
                  return;
              }
              var controller = this.controller;
              var cp = this.getCaretPosition();
              if (cp) {
                  var report = controller.checkKeyStroke(event.charCode, event.keyCode, this.getTextInputField().value, cp.start, cp.end, event);
                  // event may not always be a DomEvent object, that's why we check for the existence of
                  // preventDefault on it
                  if (report && event.preventDefault) {
                      if (report.cancelKeyStroke) {
                          event.preventDefault(true);
                      } else if (report.cancelKeyStrokeDefaultBehavior) {
                          event.preventDefault(false);
                      }
                  }
                  this._reactToControllerReport(report, {
                      hasFocus : true
                  });
              }
          }