Merge "Fix tabindex for gr-button"

This commit is contained in:
Ben Rohlfs
2019-11-22 10:55:05 +00:00
committed by Gerrit Code Review
2 changed files with 16 additions and 1 deletions

View File

@@ -91,7 +91,7 @@
_disabledChanged(disabled) {
if (disabled) {
this._enabledTabindex = this.getAttribute('tabindex');
this._enabledTabindex = this.getAttribute('tabindex') || '0';
}
this.setAttribute('tabindex', disabled ? '-1' : this._enabledTabindex);
this.updateStyles();

View File

@@ -68,6 +68,21 @@ limitations under the License.
assert.isTrue(element.$$('paper-button').disabled);
});
test('tabindex should be -1 if disabled', () => {
element.disabled = true;
assert.isTrue(element.getAttribute('tabindex') === '-1');
});
// Regression tests for Issue: 11969
test('tabindex should be reset to 0 if enabled', () => {
element.disabled = false;
assert.isTrue(element.getAttribute('tabindex') === '0');
element.disabled = true;
assert.isTrue(element.getAttribute('tabindex') === '-1');
element.disabled = false;
assert.isTrue(element.getAttribute('tabindex') === '0');
});
// 'tap' event is tested so we don't loose backward compatibility with older
// plugins who didn't move to on-click which is faster and well supported.
for (const eventName of ['tap', 'click']) {