diff options
| author | Patrick H. Lauke <[email protected]> | 2017-01-05 09:35:43 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-01-05 09:35:43 +0000 |
| commit | 85a1fdcb29dd27803f2229d671a5e6b578d7f37e (patch) | |
| tree | bbd5294baa749c02fe8711b1e87cb472a6e45b0e | |
| parent | 0ac7eb4fe0737df385299b2f476d49d3bcc5e8a4 (diff) | |
| parent | 0463b0128286a2882f97aff34ac40298e04707bd (diff) | |
| download | bootstrap-85a1fdcb29dd27803f2229d671a5e6b578d7f37e.tar.xz bootstrap-85a1fdcb29dd27803f2229d671a5e6b578d7f37e.zip | |
Merge pull request #21093 from Johann-S/fixButtonGrpAria
Close #21090 - Fix aria-pressed attribute for buttons in container with data-attribute="buttons"
| -rw-r--r-- | js/src/button.js | 6 | ||||
| -rw-r--r-- | js/tests/unit/button.js | 11 |
2 files changed, 14 insertions, 3 deletions
diff --git a/js/src/button.js b/js/src/button.js index 45e1424ff..97ccd4bf0 100644 --- a/js/src/button.js +++ b/js/src/button.js @@ -96,11 +96,11 @@ const Button = (($) => { input.focus() } - } else { - this._element.setAttribute('aria-pressed', - !$(this._element).hasClass(ClassName.ACTIVE)) } + this._element.setAttribute('aria-pressed', + !$(this._element).hasClass(ClassName.ACTIVE)) + if (triggerChangeEvent) { $(this._element).toggleClass(ClassName.ACTIVE) } diff --git a/js/tests/unit/button.js b/js/tests/unit/button.js index d87b57610..c67cea345 100644 --- a/js/tests/unit/button.js +++ b/js/tests/unit/button.js @@ -60,6 +60,17 @@ $(function () { assert.strictEqual($btn.attr('aria-pressed'), 'true', 'btn aria-pressed state is true') }) + QUnit.test('should toggle aria-pressed on buttons with container', function (assert) { + assert.expect(1) + var groupHTML = '<div class="btn-group" data-toggle="buttons">' + + '<button id="btn1" class="btn btn-secondary" type="button">One</button>' + + '<button class="btn btn-secondary" type="button">Two</button>' + + '</div>' + $('#qunit-fixture').append(groupHTML) + $('#btn1').bootstrapButton('toggle') + assert.strictEqual($('#btn1').attr('aria-pressed'), 'true') + }) + QUnit.test('should toggle aria-pressed when btn children are clicked', function (assert) { assert.expect(2) var $btn = $('<button class="btn" data-toggle="button" aria-pressed="false">redux</button>') |
