Skip to content

Commit 752ee69

Browse files
authored
chore: a11y tests cleanup (#8759)
closes #8728 Turns out all the removed previous test failures are indeed correct to be removed, according to the test adjustments in jsx-eslint/eslint-plugin-jsx-a11y#937
1 parent 75917ee commit 752ee69

File tree

5 files changed

+164
-457
lines changed

5 files changed

+164
-457
lines changed

packages/svelte/src/compiler/compile/utils/a11y.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ const non_interactive_roles = new Set(
1414
// aria-activedescendant, thus in practice we treat it as a widget.
1515
// focusable tabpanel elements are recommended if any panels in a set contain content where the first element in the panel is not focusable.
1616
// 'generic' is meant to have no semantic meaning.
17-
!['toolbar', 'tabpanel', 'generic'].includes(name) &&
17+
// 'cell' is treated as CellRole by the AXObject which is interactive, so we treat 'cell' it as interactive as well.
18+
!['toolbar', 'tabpanel', 'generic', 'cell'].includes(name) &&
1819
!role.superClass.some((classes) => classes.includes('widget'))
1920
);
2021
})

packages/svelte/test/validator/samples/a11y-no-interactive-element-to-noninteractive-role/input.svelte

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,37 +21,37 @@
2121
<button role="button">button</button>
2222

2323
<!-- input -->
24-
<input role="article"/>
25-
<input role="banner"/>
26-
<input role="complementary"/>
27-
<input role="img"/>
28-
<input role="listitem"/>
29-
<input role="main"/>
30-
<input role="region"/>
31-
<input role="tooltip"/>
32-
<input role="button"/>
24+
<input role="article" />
25+
<input role="banner" />
26+
<input role="complementary" />
27+
<input role="img" />
28+
<input role="listitem" />
29+
<input role="main" />
30+
<input role="region" />
31+
<input role="tooltip" />
32+
<input role="button" />
3333

3434
<!-- select -->
35-
<select role="article"/>
36-
<select role="banner"/>
37-
<select role="complementary"/>
38-
<select role="img"/>
39-
<select role="listitem"/>
40-
<select role="main"/>
41-
<select role="region"/>
42-
<select role="tooltip"/>
43-
<select role="button"/>
35+
<select role="article" />
36+
<select role="banner" />
37+
<select role="complementary" />
38+
<select role="img" />
39+
<select role="listitem" />
40+
<select role="main" />
41+
<select role="region" />
42+
<select role="tooltip" />
43+
<select role="button" />
4444

4545
<!-- textarea -->
46-
<textarea role="article"/>
47-
<textarea role="banner"/>
48-
<textarea role="complementary"/>
49-
<textarea role="img"/>
50-
<textarea role="listitem"/>
51-
<textarea role="main"/>
52-
<textarea role="region"/>
53-
<textarea role="tooltip"/>
54-
<textarea role="button"/>
46+
<textarea role="article" />
47+
<textarea role="banner" />
48+
<textarea role="complementary" />
49+
<textarea role="img" />
50+
<textarea role="listitem" />
51+
<textarea role="main" />
52+
<textarea role="region" />
53+
<textarea role="tooltip" />
54+
<textarea role="button" />
5555

5656
<!-- HTML elements attributed with an abstract role -->
5757
<div role="command" />
@@ -99,6 +99,7 @@
9999
<div role="tab" />
100100
<div role="textbox" />
101101
<div role="treeitem" aria-selected={true} />
102+
<summary role="listitem" />
102103

103104
<!-- HTML elements attributed with a non-interactive role -->
104105
<div role="alert" />
@@ -143,6 +144,5 @@
143144
<menuitem role="listitem" />
144145
<option class="foo" role="listitem" />
145146
<select class="foo" role="listitem" />
146-
<summary role="listitem" /> // TODO: https://github.com/sveltejs/svelte/issues/8728
147147
<textarea class="foo" role="listitem" />
148148
<tr role="listitem" />

packages/svelte/test/validator/samples/a11y-no-interactive-element-to-noninteractive-role/warnings.json

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@
206206
{
207207
"code": "a11y-no-interactive-element-to-noninteractive-role",
208208
"end": {
209-
"column": 23,
209+
"column": 24,
210210
"line": 24
211211
},
212212
"message": "A11y: <input> cannot have role 'article'",
@@ -218,7 +218,7 @@
218218
{
219219
"code": "a11y-no-interactive-element-to-noninteractive-role",
220220
"end": {
221-
"column": 22,
221+
"column": 23,
222222
"line": 25
223223
},
224224
"message": "A11y: <input> cannot have role 'banner'",
@@ -230,7 +230,7 @@
230230
{
231231
"code": "a11y-no-interactive-element-to-noninteractive-role",
232232
"end": {
233-
"column": 29,
233+
"column": 30,
234234
"line": 26
235235
},
236236
"message": "A11y: <input> cannot have role 'complementary'",
@@ -242,7 +242,7 @@
242242
{
243243
"code": "a11y-no-interactive-element-to-noninteractive-role",
244244
"end": {
245-
"column": 19,
245+
"column": 20,
246246
"line": 27
247247
},
248248
"message": "A11y: <input> cannot have role 'img'",
@@ -254,7 +254,7 @@
254254
{
255255
"code": "a11y-no-interactive-element-to-noninteractive-role",
256256
"end": {
257-
"column": 24,
257+
"column": 25,
258258
"line": 28
259259
},
260260
"message": "A11y: <input> cannot have role 'listitem'",
@@ -266,7 +266,7 @@
266266
{
267267
"code": "a11y-no-interactive-element-to-noninteractive-role",
268268
"end": {
269-
"column": 20,
269+
"column": 21,
270270
"line": 29
271271
},
272272
"message": "A11y: <input> cannot have role 'main'",
@@ -278,7 +278,7 @@
278278
{
279279
"code": "a11y-no-interactive-element-to-noninteractive-role",
280280
"end": {
281-
"column": 22,
281+
"column": 23,
282282
"line": 30
283283
},
284284
"message": "A11y: <input> cannot have role 'region'",
@@ -290,7 +290,7 @@
290290
{
291291
"code": "a11y-no-interactive-element-to-noninteractive-role",
292292
"end": {
293-
"column": 23,
293+
"column": 24,
294294
"line": 31
295295
},
296296
"message": "A11y: <input> cannot have role 'tooltip'",
@@ -302,7 +302,7 @@
302302
{
303303
"code": "a11y-no-interactive-element-to-noninteractive-role",
304304
"end": {
305-
"column": 24,
305+
"column": 25,
306306
"line": 35
307307
},
308308
"message": "A11y: <select> cannot have role 'article'",
@@ -314,7 +314,7 @@
314314
{
315315
"code": "a11y-no-interactive-element-to-noninteractive-role",
316316
"end": {
317-
"column": 23,
317+
"column": 24,
318318
"line": 36
319319
},
320320
"message": "A11y: <select> cannot have role 'banner'",
@@ -326,7 +326,7 @@
326326
{
327327
"code": "a11y-no-interactive-element-to-noninteractive-role",
328328
"end": {
329-
"column": 30,
329+
"column": 31,
330330
"line": 37
331331
},
332332
"message": "A11y: <select> cannot have role 'complementary'",
@@ -338,7 +338,7 @@
338338
{
339339
"code": "a11y-no-interactive-element-to-noninteractive-role",
340340
"end": {
341-
"column": 20,
341+
"column": 21,
342342
"line": 38
343343
},
344344
"message": "A11y: <select> cannot have role 'img'",
@@ -350,7 +350,7 @@
350350
{
351351
"code": "a11y-no-interactive-element-to-noninteractive-role",
352352
"end": {
353-
"column": 25,
353+
"column": 26,
354354
"line": 39
355355
},
356356
"message": "A11y: <select> cannot have role 'listitem'",
@@ -362,7 +362,7 @@
362362
{
363363
"code": "a11y-no-interactive-element-to-noninteractive-role",
364364
"end": {
365-
"column": 21,
365+
"column": 22,
366366
"line": 40
367367
},
368368
"message": "A11y: <select> cannot have role 'main'",
@@ -374,7 +374,7 @@
374374
{
375375
"code": "a11y-no-interactive-element-to-noninteractive-role",
376376
"end": {
377-
"column": 23,
377+
"column": 24,
378378
"line": 41
379379
},
380380
"message": "A11y: <select> cannot have role 'region'",
@@ -386,7 +386,7 @@
386386
{
387387
"code": "a11y-no-interactive-element-to-noninteractive-role",
388388
"end": {
389-
"column": 24,
389+
"column": 25,
390390
"line": 42
391391
},
392392
"message": "A11y: <select> cannot have role 'tooltip'",
@@ -398,7 +398,7 @@
398398
{
399399
"code": "a11y-no-interactive-element-to-noninteractive-role",
400400
"end": {
401-
"column": 26,
401+
"column": 27,
402402
"line": 46
403403
},
404404
"message": "A11y: <textarea> cannot have role 'article'",
@@ -410,7 +410,7 @@
410410
{
411411
"code": "a11y-no-interactive-element-to-noninteractive-role",
412412
"end": {
413-
"column": 25,
413+
"column": 26,
414414
"line": 47
415415
},
416416
"message": "A11y: <textarea> cannot have role 'banner'",
@@ -422,7 +422,7 @@
422422
{
423423
"code": "a11y-no-interactive-element-to-noninteractive-role",
424424
"end": {
425-
"column": 32,
425+
"column": 33,
426426
"line": 48
427427
},
428428
"message": "A11y: <textarea> cannot have role 'complementary'",
@@ -434,7 +434,7 @@
434434
{
435435
"code": "a11y-no-interactive-element-to-noninteractive-role",
436436
"end": {
437-
"column": 22,
437+
"column": 23,
438438
"line": 49
439439
},
440440
"message": "A11y: <textarea> cannot have role 'img'",
@@ -446,7 +446,7 @@
446446
{
447447
"code": "a11y-no-interactive-element-to-noninteractive-role",
448448
"end": {
449-
"column": 27,
449+
"column": 28,
450450
"line": 50
451451
},
452452
"message": "A11y: <textarea> cannot have role 'listitem'",
@@ -458,7 +458,7 @@
458458
{
459459
"code": "a11y-no-interactive-element-to-noninteractive-role",
460460
"end": {
461-
"column": 23,
461+
"column": 24,
462462
"line": 51
463463
},
464464
"message": "A11y: <textarea> cannot have role 'main'",
@@ -470,7 +470,7 @@
470470
{
471471
"code": "a11y-no-interactive-element-to-noninteractive-role",
472472
"end": {
473-
"column": 25,
473+
"column": 26,
474474
"line": 52
475475
},
476476
"message": "A11y: <textarea> cannot have role 'region'",
@@ -482,7 +482,7 @@
482482
{
483483
"code": "a11y-no-interactive-element-to-noninteractive-role",
484484
"end": {
485-
"column": 26,
485+
"column": 27,
486486
"line": 53
487487
},
488488
"message": "A11y: <textarea> cannot have role 'tooltip'",
@@ -639,36 +639,36 @@
639639
"code": "a11y-no-interactive-element-to-noninteractive-role",
640640
"end": {
641641
"column": 28,
642-
"line": 143
642+
"line": 144
643643
},
644644
"message": "A11y: <menuitem> cannot have role 'listitem'",
645645
"start": {
646646
"column": 0,
647-
"line": 143
647+
"line": 144
648648
}
649649
},
650650
{
651651
"code": "a11y-no-interactive-element-to-noninteractive-role",
652652
"end": {
653653
"column": 38,
654-
"line": 144
654+
"line": 145
655655
},
656656
"message": "A11y: <option> cannot have role 'listitem'",
657657
"start": {
658658
"column": 0,
659-
"line": 144
659+
"line": 145
660660
}
661661
},
662662
{
663663
"code": "a11y-no-interactive-element-to-noninteractive-role",
664664
"end": {
665665
"column": 38,
666-
"line": 145
666+
"line": 146
667667
},
668668
"message": "A11y: <select> cannot have role 'listitem'",
669669
"start": {
670670
"column": 0,
671-
"line": 145
671+
"line": 146
672672
}
673673
},
674674
{

0 commit comments

Comments
 (0)