Skip to content

Commit 588800a

Browse files
authored
refactor!: update standalone avatar to not be keyboard focusable (#10211)
1 parent 688ee2d commit 588800a

File tree

9 files changed

+8
-18
lines changed

9 files changed

+8
-18
lines changed

packages/avatar-group/src/vaadin-avatar-group-mixin.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ export const AvatarGroupMixin = (superClass) =>
156156
this._overflowController = new SlotController(this, 'overflow', 'vaadin-avatar', {
157157
initializer: (overflow) => {
158158
overflow.setAttribute('role', 'button');
159+
overflow.setAttribute('tabindex', '0');
159160
overflow.setAttribute('aria-haspopup', 'menu');
160161
overflow.setAttribute('aria-expanded', 'false');
161162
overflow.addEventListener('click', (e) => this._onOverflowClick(e));
@@ -259,7 +260,6 @@ export const AvatarGroupMixin = (superClass) =>
259260
class="${ifDefined(item.className)}"
260261
theme="${ifDefined(this._theme)}"
261262
aria-hidden="true"
262-
tabindex="-1"
263263
></vaadin-avatar>
264264
${item.name || ''}
265265
</vaadin-avatar-group-menu-item>
@@ -334,6 +334,7 @@ export const AvatarGroupMixin = (superClass) =>
334334
.i18n="${this.__effectiveI18n}"
335335
theme="${ifDefined(this._theme)}"
336336
class="${ifDefined(item.className)}"
337+
tabindex="0"
337338
with-tooltip
338339
></vaadin-avatar>
339340
`,

packages/avatar-group/test/dom/__snapshots__/avatar-group.test.snap.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,6 @@ snapshots["vaadin-avatar-group opened default"] =
229229
aria-label="Mno Pqr (MP)"
230230
name="Mno Pqr"
231231
role="img"
232-
tabindex="-1"
233232
>
234233
</vaadin-avatar>
235234
Mno Pqr
@@ -245,7 +244,6 @@ snapshots["vaadin-avatar-group opened default"] =
245244
aria-label="Stu Vwx (SV)"
246245
name="Stu Vwx"
247246
role="img"
248-
tabindex="-1"
249247
>
250248
</vaadin-avatar>
251249
Stu Vwx

packages/avatar/src/vaadin-avatar-mixin.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,6 @@ export const AvatarMixin = (superClass) =>
124124
this.setAttribute('role', 'img');
125125
}
126126

127-
if (!this.hasAttribute('tabindex')) {
128-
this.setAttribute('tabindex', '0');
129-
}
130-
131127
// Should set `anonymous` if name / abbr is not provided
132128
if (!this.name && !this.abbr) {
133129
this.__setTooltip();

packages/avatar/test/avatar.test.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ describe('vaadin-avatar', () => {
279279
container.appendChild(avatar);
280280

281281
const overlay = tooltip.shadowRoot.querySelector('vaadin-tooltip-overlay');
282+
avatar.setAttribute('tabindex', '0');
282283
tabKeyDown(avatar);
283284
avatar.focus();
284285
expect(overlay.opened).to.be.true;
@@ -297,8 +298,8 @@ describe('vaadin-avatar', () => {
297298
});
298299

299300
describe('focus', () => {
300-
it('should set tabindex="0" on the avatar', () => {
301-
expect(avatar.getAttribute('tabindex')).to.equal('0');
301+
beforeEach(() => {
302+
avatar.setAttribute('tabindex', '0');
302303
});
303304

304305
it('should set focused attribute on avatar focusin', () => {

packages/avatar/test/visual/base/avatar.test.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/avatar/test/visual/lumo/avatar.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ describe('avatar', () => {
119119
div.style.height = '90px';
120120
div.style.textAlign = 'center';
121121
element.withTooltip = true;
122+
element.setAttribute('tabindex', '0');
122123
await sendKeys({ press: 'Tab' });
123124
await visualDiff(div, 'tooltip');
124125
});

packages/message-list/src/vaadin-message-mixin.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ export const MessageMixin = (superClass) =>
9595

9696
this._avatarController = new SlotController(this, 'avatar', 'vaadin-avatar', {
9797
initializer: (avatar) => {
98-
avatar.setAttribute('tabindex', '-1');
9998
avatar.setAttribute('aria-hidden', 'true');
10099
this._avatar = avatar;
101100
},

packages/message-list/test/dom/__snapshots__/message-list.test.snap.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ snapshots["vaadin-message-list items"] =
2727
name="Jane Doe"
2828
role="img"
2929
slot="avatar"
30-
tabindex="-1"
3130
>
3231
</vaadin-avatar>
3332
</vaadin-message>
@@ -43,7 +42,6 @@ snapshots["vaadin-message-list items"] =
4342
name="Lina Roy"
4443
role="img"
4544
slot="avatar"
46-
tabindex="-1"
4745
>
4846
</vaadin-avatar>
4947
</vaadin-message>
@@ -69,7 +67,6 @@ snapshots["vaadin-message-list theme"] =
6967
name="Admin"
7068
role="img"
7169
slot="avatar"
72-
tabindex="-1"
7370
>
7471
</vaadin-avatar>
7572
</vaadin-message>
@@ -95,7 +92,6 @@ snapshots["vaadin-message-list className"] =
9592
name="Admin"
9693
role="img"
9794
slot="avatar"
98-
tabindex="-1"
9995
>
10096
</vaadin-avatar>
10197
</vaadin-message>

packages/message-list/test/dom/__snapshots__/message.test.snap.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ snapshots["vaadin-message avatar username"] =
6666
name="Joan Doe"
6767
role="img"
6868
slot="avatar"
69-
tabindex="-1"
7069
>
7170
</vaadin-avatar>
7271
</vaadin-message>
@@ -81,7 +80,6 @@ snapshots["vaadin-message avatar abbr"] =
8180
aria-label="JD"
8281
role="img"
8382
slot="avatar"
84-
tabindex="-1"
8583
>
8684
</vaadin-avatar>
8785
</vaadin-message>
@@ -95,7 +93,6 @@ snapshots["vaadin-message avatar img"] =
9593
img="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="
9694
role="img"
9795
slot="avatar"
98-
tabindex="-1"
9996
>
10097
</vaadin-avatar>
10198
</vaadin-message>
@@ -110,7 +107,6 @@ snapshots["vaadin-message avatar userColorIndex"] =
110107
role="img"
111108
slot="avatar"
112109
style="--vaadin-avatar-user-color: var(--vaadin-user-color-2);"
113-
tabindex="-1"
114110
>
115111
</vaadin-avatar>
116112
</vaadin-message>

0 commit comments

Comments
 (0)