src/aria/widgets/action/Button.js
function (out) {
            var cfg = this._cfg;
            var tabIndexString = (cfg.tabIndex != null ? ' tabindex="' + this._calculateTabIndex() + '" ' : '');
            var titleString = cfg.tooltip ? ' title="' + ariaUtilsString.escapeHTMLAttr(cfg.tooltip) + '" ' : '';
            var isIE7 = ariaCoreBrowser.isIE7;
            var ariaTestMode = (Aria.testMode) ? ' id="' + this._domId + '_button" ' : '';
            var buttonClass = cfg.disabled ? "xButton xButtonDisabled" : "xButton";

            var waiAriaAttributes = this._getWaiAriaMarkup();
            var disableMarkup = "";
            if (cfg.disabled) {
                if (!cfg.focusableWhenDisabled) {
                    disableMarkup = " disabled ";
                } else if (cfg.waiAria) {
                    disableMarkup = " aria-disabled='true' ";
                }
            }
            if (this._simpleHTML) {
                var styleMarkup = cfg.width != "-1" ? " style='width:" + cfg.width + "px;' " : "";

                out.write([
                    '<',
                    !cfg.waiAria
                        ? 'input type="button" value="' + ariaUtilsString.encodeForQuotedHTMLAttribute(cfg.label) + '"'
                        : 'button',
                    waiAriaAttributes,
                    ariaTestMode,
                    tabIndexString,
                    titleString,
                    disableMarkup,
                    styleMarkup,
                    !cfg.waiAria
                        ? '/>'
                        : '>' + ariaUtilsString.escapeForHTML(cfg.label, {text: true}) + '</button>'
                ].join(''));
            } else {
                if (isIE7) {
                    // FIXME: find a way to put a button also on IE7
                    // on IE7 the button is having display issues the current frame implementation inside it
                    out.write(['<span class="' + buttonClass + '" style="margin: 0;"', waiAriaAttributes, tabIndexString, titleString, ariaTestMode,
                            '>'].join(''));
                } else {
                    out.write([
                        '<button',
                        ' type="button"',
                        ' class="' + buttonClass + '"',
                        waiAriaAttributes,
                        tabIndexString,
                        titleString,
                        ariaTestMode,
                        disableMarkup,
                        '>'
                    ].join(''));
                }
                this._frame.writeMarkupBegin(out);
                // call the method to write the content of the button - here is is just
                // the label cfg attribute, but the method can be overwritten in child classes
                this._widgetMarkupContent(out);
                this._frame.writeMarkupEnd(out);
                if (isIE7) {
                    out.write('</span>');
                } else {
                    out.write('</button>');
                }
            }
        }
function (out) {
            var cfg = this._cfg;
            var tabIndexString = (cfg.tabIndex != null ? ' tabindex="' + this._calculateTabIndex() + '" ' : '');
            var titleString = cfg.tooltip ? ' title="' + ariaUtilsString.escapeHTMLAttr(cfg.tooltip) + '" ' : '';
            var isIE7 = ariaCoreBrowser.isIE7;
            var ariaTestMode = (Aria.testMode) ? ' id="' + this._domId + '_button" ' : '';
            var buttonClass = cfg.disabled ? "xButton xButtonDisabled" : "xButton";

            var waiAriaAttributes = this._getWaiAriaMarkup();
            var disableMarkup = "";
            if (cfg.disabled) {
                if (!cfg.focusableWhenDisabled) {
                    disableMarkup = " disabled ";
                } else if (cfg.waiAria) {
                    disableMarkup = " aria-disabled='true' ";
                }
            }
            if (this._simpleHTML) {
                var styleMarkup = cfg.width != "-1" ? " style='width:" + cfg.width + "px;' " : "";

                out.write([
                    '<',
                    !cfg.waiAria
                        ? 'input type="button" value="' + ariaUtilsString.encodeForQuotedHTMLAttribute(cfg.label) + '"'
                        : 'button',
                    waiAriaAttributes,
                    ariaTestMode,
                    tabIndexString,
                    titleString,
                    disableMarkup,
                    styleMarkup,
                    !cfg.waiAria
                        ? '/>'
                        : '>' + ariaUtilsString.escapeForHTML(cfg.label, {text: true}) + '</button>'
                ].join(''));
            } else {
                if (isIE7) {
                    // FIXME: find a way to put a button also on IE7
                    // on IE7 the button is having display issues the current frame implementation inside it
                    out.write(['<span class="' + buttonClass + '" style="margin: 0;"', waiAriaAttributes, tabIndexString, titleString, ariaTestMode,
                            '>'].join(''));
                } else {
                    out.write([
                        '<button',
                        ' type="button"',
                        ' class="' + buttonClass + '"',
                        waiAriaAttributes,
                        tabIndexString,
                        titleString,
                        ariaTestMode,
                        disableMarkup,
                        '>'
                    ].join(''));
                }
                this._frame.writeMarkupBegin(out);
                // call the method to write the content of the button - here is is just
                // the label cfg attribute, but the method can be overwritten in child classes
                this._widgetMarkupContent(out);
                this._frame.writeMarkupEnd(out);
                if (isIE7) {
                    out.write('</span>');
                } else {
                    out.write('</button>');
                }
            }
        }
function ( out ) { var cfg = this . _cfg ; var tabIndexString = ( cfg . tabIndex != null ? ' tabindex="' + this . _calculateTabIndex ( ) + '" ' : '' ) ; var titleString = cfg . tooltip ? ' title="' + ariaUtilsString . escapeHTMLAttr ( cfg . tooltip ) + '" ' : '' ; var isIE7 = ariaCoreBrowser . isIE7 ; var ariaTestMode = ( Aria . testMode ) ? ' id="' + this . _domId + '_button" ' : '' ; var buttonClass = cfg . disabled ? "xButton xButtonDisabled" : "xButton" ; var waiAriaAttributes = this . _getWaiAriaMarkup ( ) ; var disableMarkup = "" ; if ( cfg . disabled ) { if ( ! cfg . focusableWhenDisabled ) { disableMarkup = " disabled " ; } else if ( cfg . waiAria ) { disableMarkup = " aria-disabled='true' " ; } } if ( this . _simpleHTML ) { var styleMarkup = cfg . width != "-1" ? " style='width:" + cfg . width + "px;' " : "" ; out . write ( [ '<' , ! cfg . waiAria ? 'input type="button" value="' + ariaUtilsString . encodeForQuotedHTMLAttribute ( cfg . label ) + '"' : 'button' , waiAriaAttributes , ariaTestMode , tabIndexString , titleString , disableMarkup , styleMarkup , ! cfg . waiAria ? '/>' : '>' + ariaUtilsString . escapeForHTML ( cfg . label , { text : true } ) + '</button>' ] . join ( '' ) ) ; } else { if ( isIE7 ) { // FIXME: find a way to put a button also on IE7 // on IE7 the button is having display issues the current frame implementation inside it out . write ( [ '<span class="' + buttonClass + '" style="margin: 0;"' , waiAriaAttributes , tabIndexString , titleString , ariaTestMode , '>' ] . join ( '' ) ) ; } else { out . write ( [ '<button' , ' type="button"' , ' class="' + buttonClass + '"' , waiAriaAttributes , tabIndexString , titleString , ariaTestMode , disableMarkup , '>' ] . join ( '' ) ) ; } this . _frame . writeMarkupBegin ( out ) ; // call the method to write the content of the button - here is is just // the label cfg attribute, but the method can be overwritten in child classes this . _widgetMarkupContent ( out ) ; this . _frame . writeMarkupEnd ( out ) ; if ( isIE7 ) { out . write ( '</span>' ) ; } else { out . write ( '</button>' ) ; } } }
Create the button markup from the Div class
@param {aria.templates.MarkupWriter} out Output markup writer
@protected
Create the button markup from the Div class