constructor(title, workspace) {
    /**
     * The title for the modal.
     * @type {string}
     * @private
     */
    this.title_ = title;

    /**
     * The workspace to display the modal over.
     * @type {!Blockly.WorkspaceSvg}
     * @protected
     */
    this.workspace_ = workspace;

    /**
     * The last focusable element for the modal.
     * @type {HTMLElement}
     * @private
     */
    this.lastFocusableEl_ = null;

    /**
     * The first focusable element for the modal.
     * @type {HTMLElement}
     * @private
     */
    this.firstFocusableEl_ = null;

    /**
     * HTML container for the modal.
     * @type {HTMLDivElement}
     * @private
     */
    this.htmlDiv_ = null;

    /**
     * Array holding info needed to unbind events.
     * Used for disposing.
     * @type {!Array<!Blockly.browserEvents.Data>}
     * @private
     */
    this.boundEvents_ = [];

    /**
     * If true close the modal when the user clicks outside the modal.
     * Otherwise, only close when user hits the 'X' button or escape.
     * @type {boolean}
     */
    this.shouldCloseOnOverlayClick = true;

    /**
     * If true close the modal when the user hits escape. Otherwise, do not
     * close on escape.
     */
    this.shouldCloseOnEsc = true;
  }
Constructor for creating a Blockly modal.
@param {string} title The title for the modal.
@param {!Blockly.WorkspaceSvg} workspace The workspace to display the modal
    over.