Drop tabs auto-focus (#37146)

* fix: drop tabs auto-focus
This commit is contained in:
GeoSot 2022-09-20 17:20:47 +03:00 committed by GitHub
parent 2be9cd59ba
commit 1510c25e9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 3 deletions

View File

@ -115,7 +115,6 @@ class Tab extends BaseComponent {
return
}
element.focus()
element.removeAttribute('tabindex')
element.setAttribute('aria-selected', true)
this._toggleDropDown(element, true)

View File

@ -36,9 +36,7 @@ describe('Tab', () => {
expect(tabBySelector._element).toEqual(tabEl)
expect(tabByElement._element).toEqual(tabEl)
})
})
describe('constructor', () => {
it('Do not Throw exception if not parent', () => {
fixtureEl.innerHTML = [
fixtureEl.innerHTML = '<div class=""><div class="nav-link"></div></div>'
@ -383,6 +381,35 @@ describe('Tab', () => {
btnCloseEl.click()
})
})
it('should not focus on opened tab', () => {
return new Promise(resolve => {
fixtureEl.innerHTML = [
'<ul class="nav" role="tablist">',
' <li><button type="button" id="home" data-bs-target="#home" role="tab">Home</button></li>',
' <li><button type="button" id="triggerProfile" data-bs-target="#profile" role="tab">Profile</button></li>',
'</ul>',
'<ul>',
' <li id="home" role="tabpanel"></li>',
' <li id="profile" role="tabpanel"></li>',
'</ul>'
].join('')
const firstTab = fixtureEl.querySelector('#home')
firstTab.focus()
const profileTriggerEl = fixtureEl.querySelector('#triggerProfile')
const tab = new Tab(profileTriggerEl)
profileTriggerEl.addEventListener('shown.bs.tab', () => {
expect(document.activeElement).toBe(firstTab)
expect(document.activeElement).not.toBe(profileTriggerEl)
resolve()
})
tab.show()
})
})
})
describe('dispose', () => {