docs: function (skipChangeState) {
              var state = "normal";
              var cfg = this._cfg;
              if (cfg.disabled) {
                  state = "disabled";
              } else {
                  if ((this._mousePressed && this._mouseOver) || this._keyPressed) {
                      state = "msdown";
                  } else if (this._mouseOver && !this._focused) {
                      state = "msover";
                  } else if (this._focused) {
                      if (this._mouseOver) {
                          state = "msoverFocused";
                      } else {
                          state = "normalFocused";
                      }
                  }
              }
              this._state = state;
              if (!skipChangeState) {
                  // force widget - DOM mapping
                  this.getDom();
                  if (!this._simpleHTML) {
                      this._frame.changeState(this._state);
                      if (state == "disabled") {
                          this._focusElt.className = "xButton xButtonDisabled";
                      } else {
                          this._focusElt.className = "xButton";
                      }
                  }
                  var disabledAttribute = cfg.focusableWhenDisabled ? (cfg.waiAria ? "aria-disabled" : null) : "disabled";
                  if (disabledAttribute) {
                      if (state == "disabled") {
                          this._focusElt.setAttribute(disabledAttribute, "true");
                      } else {
                          this._focusElt.removeAttribute(disabledAttribute);
                      }
                  }
              }
          }