Skip to content

Commit 75d5dd7

Browse files
committed
Revert "[Fix] isNonInteractiveElement: Upgrade aria-query to 5.3.0 and axobject-query to 3.2.1"
This reverts commit 64bfea6 / #937
1 parent 32fd82c commit 75d5dd7

8 files changed

+45
-53
lines changed

__mocks__/genInteractives.js

+5-10
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,14 @@ const interactiveElementsMap = {
4545
'input[type="time"]': [{ prop: 'type', value: 'time' }],
4646
'input[type="url"]': [{ prop: 'type', value: 'url' }],
4747
'input[type="week"]': [{ prop: 'type', value: 'week' }],
48+
link: [{ prop: 'href', value: '#' }],
4849
menuitem: [],
4950
option: [],
5051
select: [],
5152
// Whereas ARIA makes a distinction between cell and gridcell, the AXObject
5253
// treats them both as CellRole and since gridcell is interactive, we consider
5354
// cell interactive as well.
54-
td: [],
55+
// td: [],
5556
th: [],
5657
tr: [],
5758
textarea: [],
@@ -60,38 +61,34 @@ const interactiveElementsMap = {
6061

6162
const nonInteractiveElementsMap: {[string]: Array<{[string]: string}>} = {
6263
abbr: [],
63-
address: [],
6464
aside: [],
6565
article: [],
6666
blockquote: [],
67+
body: [],
6768
br: [],
6869
caption: [],
69-
code: [],
7070
dd: [],
71-
del: [],
7271
details: [],
7372
dfn: [],
7473
dialog: [],
7574
dir: [],
7675
dl: [],
7776
dt: [],
78-
em: [],
7977
fieldset: [],
8078
figcaption: [],
8179
figure: [],
8280
footer: [],
8381
form: [],
82+
frame: [],
8483
h1: [],
8584
h2: [],
8685
h3: [],
8786
h4: [],
8887
h5: [],
8988
h6: [],
9089
hr: [],
91-
html: [],
9290
iframe: [],
9391
img: [],
94-
ins: [],
9592
label: [],
9693
legend: [],
9794
li: [],
@@ -110,11 +107,9 @@ const nonInteractiveElementsMap: {[string]: Array<{[string]: string}>} = {
110107
ruby: [],
111108
'section[aria-label]': [{ prop: 'aria-label' }],
112109
'section[aria-labelledby]': [{ prop: 'aria-labelledby' }],
113-
strong: [],
114-
sub: [],
115-
sup: [],
116110
table: [],
117111
tbody: [],
112+
td: [],
118113
tfoot: [],
119114
thead: [],
120115
time: [],

__tests__/src/rules/control-has-associated-label-test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ const alwaysValid = [
157157
{ code: '<section />' },
158158
{ code: '<table />' },
159159
{ code: '<tbody />' },
160+
{ code: '<td />' },
160161
{ code: '<tfoot />' },
161162
{ code: '<thead />' },
162163
{ code: '<time />' },
@@ -261,7 +262,6 @@ const neverValid = [
261262
{ code: '<area href="#" />', errors: [expectedError] },
262263
{ code: '<menuitem />', errors: [expectedError] },
263264
{ code: '<option />', errors: [expectedError] },
264-
{ code: '<td />', errors: [expectedError] },
265265
{ code: '<th />', errors: [expectedError] },
266266
// Interactive Roles
267267
{ code: '<div role="button" />', errors: [expectedError] },

__tests__/src/rules/no-interactive-element-to-noninteractive-role-test.js

-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,6 @@ const alwaysValid = [
170170
{ code: '<style role="button" />;' },
171171
{ code: '<sub role="button" />;' },
172172
{ code: '<summary role="button" />;' },
173-
{ code: '<summary role="listitem" />;' },
174173
{ code: '<sup role="button" />;' },
175174
{ code: '<th role="button" />;' },
176175
{ code: '<time role="button" />;' },

__tests__/src/rules/no-noninteractive-element-interactions-test.js

+12-12
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ const alwaysValid = [
7777
{ code: '<tr onClick={() => {}} />;' },
7878
/* HTML elements with neither an interactive or non-interactive valence (static) */
7979
{ code: '<acronym onClick={() => {}} />;' },
80+
{ code: '<address onClick={() => {}} />;' },
8081
{ code: '<applet onClick={() => {}} />;' },
8182
{ code: '<audio onClick={() => {}} />;' },
8283
{ code: '<b onClick={() => {}} />;' },
@@ -86,15 +87,16 @@ const alwaysValid = [
8687
{ code: '<big onClick={() => {}} />;' },
8788
{ code: '<blink onClick={() => {}} />;' },
8889
{ code: '<body onLoad={() => {}} />;' },
89-
{ code: '<body onClick={() => {}} />;' },
9090
{ code: '<canvas onClick={() => {}} />;' },
9191
{ code: '<center onClick={() => {}} />;' },
9292
{ code: '<cite onClick={() => {}} />;' },
93+
{ code: '<code onClick={() => {}} />;' },
9394
{ code: '<col onClick={() => {}} />;' },
9495
{ code: '<colgroup onClick={() => {}} />;' },
9596
{ code: '<content onClick={() => {}} />;' },
9697
{ code: '<data onClick={() => {}} />;' },
9798
{ code: '<datalist onClick={() => {}} />;' },
99+
{ code: '<del onClick={() => {}} />;' },
98100
{ code: '<div />;' },
99101
{ code: '<div className="foo" />;' },
100102
{ code: '<div className="foo" {...props} />;' },
@@ -105,6 +107,7 @@ const alwaysValid = [
105107
{ code: '<div onClick={() => void 0} {...props} />;' },
106108
{ code: '<div onClick={null} />;' },
107109
{ code: '<div onKeyUp={() => void 0} aria-hidden={false} />;' },
110+
{ code: '<em onClick={() => {}} />;' },
108111
{ code: '<embed onClick={() => {}} />;' },
109112
{ code: '<font onClick={() => {}} />;' },
110113
{ code: '<font onSubmit={() => {}} />;' },
@@ -118,11 +121,11 @@ const alwaysValid = [
118121
</form>
119122
`,
120123
},
121-
{ code: '<frame onClick={() => {}} />;' },
122124
{ code: '<frameset onClick={() => {}} />;' },
123125
{ code: '<head onClick={() => {}} />;' },
124126
{ code: '<header onClick={() => {}} />;' },
125127
{ code: '<hgroup onClick={() => {}} />;' },
128+
{ code: '<html onClick={() => {}} />;' },
126129
{ code: '<i onClick={() => {}} />;' },
127130
{ code: '<iframe onLoad={() => {}} />;' },
128131
{
@@ -150,6 +153,7 @@ const alwaysValid = [
150153
/>
151154
`,
152155
},
156+
{ code: '<ins onClick={() => {}} />;' },
153157
{ code: '<kbd onClick={() => {}} />;' },
154158
{ code: '<keygen onClick={() => {}} />;' },
155159
{ code: '<link onClick={() => {}} />;' },
@@ -174,9 +178,11 @@ const alwaysValid = [
174178
{ code: '<spacer onClick={() => {}} />;' },
175179
{ code: '<span onClick={() => {}} />;' },
176180
{ code: '<strike onClick={() => {}} />;' },
181+
{ code: '<strong onClick={() => {}} />;' },
177182
{ code: '<style onClick={() => {}} />;' },
183+
{ code: '<sub onClick={() => {}} />;' },
178184
{ code: '<summary onClick={() => {}} />;' },
179-
{ code: '<td onClick={() => {}} />;' },
185+
{ code: '<sup onClick={() => {}} />;' },
180186
{ code: '<th onClick={() => {}} />;' },
181187
{ code: '<title onClick={() => {}} />;' },
182188
{ code: '<track onClick={() => {}} />;' },
@@ -280,37 +286,33 @@ const alwaysValid = [
280286
const neverValid = [
281287
/* HTML elements with an inherent, non-interactive role */
282288
{ code: '<main onClick={() => void 0} />;', errors: [expectedError] },
283-
{ code: '<address onClick={() => {}} />;', errors: [expectedError] },
284289
{ code: '<article onClick={() => {}} />;', errors: [expectedError] },
285290
{ code: '<aside onClick={() => {}} />;', errors: [expectedError] },
286291
{ code: '<blockquote onClick={() => {}} />;', errors: [expectedError] },
292+
{ code: '<body onClick={() => {}} />;', errors: [expectedError] },
287293
{ code: '<br onClick={() => {}} />;', errors: [expectedError] },
288294
{ code: '<caption onClick={() => {}} />;', errors: [expectedError] },
289-
{ code: '<code onClick={() => {}} />;', errors: [expectedError] },
290295
{ code: '<dd onClick={() => {}} />;', errors: [expectedError] },
291-
{ code: '<del onClick={() => {}} />;', errors: [expectedError] },
292296
{ code: '<details onClick={() => {}} />;', errors: [expectedError] },
293297
{ code: '<dfn onClick={() => {}} />;', errors: [expectedError] },
294298
{ code: '<dl onClick={() => {}} />;', errors: [expectedError] },
295299
{ code: '<dir onClick={() => {}} />;', errors: [expectedError] },
296300
{ code: '<dt onClick={() => {}} />;', errors: [expectedError] },
297-
{ code: '<em onClick={() => {}} />;', errors: [expectedError] },
298301
{ code: '<fieldset onClick={() => {}} />;', errors: [expectedError] },
299302
{ code: '<figcaption onClick={() => {}} />;', errors: [expectedError] },
300303
{ code: '<figure onClick={() => {}} />;', errors: [expectedError] },
301304
{ code: '<footer onClick={() => {}} />;', errors: [expectedError] },
302305
{ code: '<form onClick={() => {}} />;', errors: [expectedError] },
306+
{ code: '<frame onClick={() => {}} />;', errors: [expectedError] },
303307
{ code: '<h1 onClick={() => {}} />;', errors: [expectedError] },
304308
{ code: '<h2 onClick={() => {}} />;', errors: [expectedError] },
305309
{ code: '<h3 onClick={() => {}} />;', errors: [expectedError] },
306310
{ code: '<h4 onClick={() => {}} />;', errors: [expectedError] },
307311
{ code: '<h5 onClick={() => {}} />;', errors: [expectedError] },
308312
{ code: '<h6 onClick={() => {}} />;', errors: [expectedError] },
309313
{ code: '<hr onClick={() => {}} />;', errors: [expectedError] },
310-
{ code: '<html onClick={() => {}} />;', errors: [expectedError] },
311314
{ code: '<iframe onClick={() => {}} />;', errors: [expectedError] },
312315
{ code: '<img onClick={() => {}} />;', errors: [expectedError] },
313-
{ code: '<ins onClick={() => {}} />;', errors: [expectedError] },
314316
{ code: '<label onClick={() => {}} />;', errors: [expectedError] },
315317
{ code: '<legend onClick={() => {}} />;', errors: [expectedError] },
316318
{ code: '<li onClick={() => {}} />;', errors: [expectedError] },
@@ -328,11 +330,9 @@ const neverValid = [
328330
{ code: '<ruby onClick={() => {}} />;', errors: [expectedError] },
329331
{ code: '<section onClick={() => {}} aria-label="Aardvark" />;', errors: [expectedError] },
330332
{ code: '<section onClick={() => {}} aria-labelledby="js_1" />;', errors: [expectedError] },
331-
{ code: '<strong onClick={() => {}} />;', errors: [expectedError] },
332-
{ code: '<sub onClick={() => {}} />;', errors: [expectedError] },
333-
{ code: '<sup onClick={() => {}} />;', errors: [expectedError] },
334333
{ code: '<table onClick={() => {}} />;', errors: [expectedError] },
335334
{ code: '<tbody onClick={() => {}} />;', errors: [expectedError] },
335+
{ code: '<td onClick={() => {}} />;', errors: [expectedError] },
336336
{ code: '<tfoot onClick={() => {}} />;', errors: [expectedError] },
337337
{ code: '<thead onClick={() => {}} />;', errors: [expectedError] },
338338
{ code: '<time onClick={() => {}} />;', errors: [expectedError] },

__tests__/src/rules/no-noninteractive-element-to-interactive-role-test.js

+14-12
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ const alwaysValid = [
154154
{ code: '<tr role="listitem" />;' },
155155
/* HTML elements with neither an interactive or non-interactive valence (static) */
156156
{ code: '<acronym role="button" />;' },
157+
{ code: '<address role="button" />;' },
157158
{ code: '<applet role="button" />;' },
158159
{ code: '<audio role="button" />;' },
159160
{ code: '<b role="button" />;' },
@@ -165,11 +166,13 @@ const alwaysValid = [
165166
{ code: '<canvas role="button" />;' },
166167
{ code: '<center role="button" />;' },
167168
{ code: '<cite role="button" />;' },
169+
{ code: '<code role="button" />;' },
168170
{ code: '<col role="button" />;' },
169171
{ code: '<colgroup role="button" />;' },
170172
{ code: '<content role="button" />;' },
171173
{ code: '<data role="button" />;' },
172174
{ code: '<datalist role="button" />;' },
175+
{ code: '<del role="button" />;' },
173176
{ code: '<div role="button" />;' },
174177
{ code: '<div className="foo" role="button" />;' },
175178
{ code: '<div className="foo" {...props} role="button" />;' },
@@ -179,13 +182,16 @@ const alwaysValid = [
179182
{ code: '<div role={undefined} role="button" />;' },
180183
{ code: '<div {...props} role="button" />;' },
181184
{ code: '<div onKeyUp={() => void 0} aria-hidden={false} role="button" />;' },
185+
{ code: '<em role="button" />;' },
182186
{ code: '<embed role="button" />;' },
183187
{ code: '<font role="button" />;' },
184188
{ code: '<frameset role="button" />;' },
185189
{ code: '<head role="button" />;' },
186190
{ code: '<header role="button" />;' },
187191
{ code: '<hgroup role="button" />;' },
192+
{ code: '<html role="button" />;' },
188193
{ code: '<i role="button" />;' },
194+
{ code: '<ins role="button" />;' },
189195
{ code: '<kbd role="button" />;' },
190196
{ code: '<keygen role="button" />;' },
191197
{ code: '<link role="button" />;' },
@@ -208,10 +214,11 @@ const alwaysValid = [
208214
{ code: '<spacer role="button" />;' },
209215
{ code: '<span role="button" />;' },
210216
{ code: '<strike role="button" />;' },
217+
{ code: '<strong role="button" />;' },
211218
{ code: '<style role="button" />;' },
219+
{ code: '<sub role="button" />;' },
212220
{ code: '<summary role="button" />;' },
213-
{ code: '<td role="button" />;' },
214-
{ code: '<td role="menuitem" />;' },
221+
{ code: '<sup role="button" />;' },
215222
{ code: '<th role="button" />;' },
216223
{ code: '<title role="button" />;' },
217224
{ code: '<track role="button" />;' },
@@ -279,7 +286,6 @@ const alwaysValid = [
279286
{ code: '<area role="listitem" />;' },
280287
{ code: '<article role="listitem" />;' },
281288
{ code: '<article role="listitem" />;' },
282-
{ code: '<body role="button" />;' },
283289
{ code: '<dd role="listitem" />;' },
284290
{ code: '<dfn role="listitem" />;' },
285291
{ code: '<dt role="listitem" />;' },
@@ -353,38 +359,34 @@ const neverValid = [
353359
/* HTML elements with an inherent non-interactive role, assigned an
354360
* interactive role. */
355361
{ code: '<main role="button" />;', errors: [expectedError] },
356-
{ code: '<address role="button" />;', errors: [expectedError] },
357362
{ code: '<article role="button" />;', errors: [expectedError] },
358363
{ code: '<article role="button" />;', errors: [expectedError] },
359364
{ code: '<aside role="button" />;', errors: [expectedError] },
360365
{ code: '<blockquote role="button" />;', errors: [expectedError] },
366+
{ code: '<body role="button" />;', errors: [expectedError] },
361367
{ code: '<br role="button" />;', errors: [expectedError] },
362368
{ code: '<caption role="button" />;', errors: [expectedError] },
363-
{ code: '<code role="button" />;', errors: [expectedError] },
364369
{ code: '<dd role="button" />;', errors: [expectedError] },
365-
{ code: '<del role="button" />;', errors: [expectedError] },
366370
{ code: '<details role="button" />;', errors: [expectedError] },
367371
{ code: '<dir role="button" />;', errors: [expectedError] },
368372
{ code: '<dl role="button" />;', errors: [expectedError] },
369373
{ code: '<dfn role="button" />;', errors: [expectedError] },
370374
{ code: '<dt role="button" />;', errors: [expectedError] },
371-
{ code: '<em role="button" />;', errors: [expectedError] },
372375
{ code: '<fieldset role="button" />;', errors: [expectedError] },
373376
{ code: '<figcaption role="button" />;', errors: [expectedError] },
374377
{ code: '<figure role="button" />;', errors: [expectedError] },
375378
{ code: '<footer role="button" />;', errors: [expectedError] },
376379
{ code: '<form role="button" />;', errors: [expectedError] },
380+
{ code: '<frame role="button" />;', errors: [expectedError] },
377381
{ code: '<h1 role="button" />;', errors: [expectedError] },
378382
{ code: '<h2 role="button" />;', errors: [expectedError] },
379383
{ code: '<h3 role="button" />;', errors: [expectedError] },
380384
{ code: '<h4 role="button" />;', errors: [expectedError] },
381385
{ code: '<h5 role="button" />;', errors: [expectedError] },
382386
{ code: '<h6 role="button" />;', errors: [expectedError] },
383387
{ code: '<hr role="button" />;', errors: [expectedError] },
384-
{ code: '<html role="button" />;', errors: [expectedError] },
385388
{ code: '<iframe role="button" />;', errors: [expectedError] },
386389
{ code: '<img role="button" />;', errors: [expectedError] },
387-
{ code: '<ins role="button" />;', errors: [expectedError] },
388390
{ code: '<label role="button" />;', errors: [expectedError] },
389391
{ code: '<legend role="button" />;', errors: [expectedError] },
390392
{ code: '<li role="button" />;', errors: [expectedError] },
@@ -399,11 +401,9 @@ const neverValid = [
399401
{ code: '<pre role="button" />;', errors: [expectedError] },
400402
{ code: '<progress role="button" />;', errors: [expectedError] },
401403
{ code: '<ruby role="button" />;', errors: [expectedError] },
402-
{ code: '<strong role="button" />;', errors: [expectedError] },
403-
{ code: '<sub role="button" />;', errors: [expectedError] },
404-
{ code: '<sup role="button" />;', errors: [expectedError] },
405404
{ code: '<table role="button" />;', errors: [expectedError] },
406405
{ code: '<tbody role="button" />;', errors: [expectedError] },
406+
{ code: '<td role="button" />;', errors: [expectedError] },
407407
{ code: '<tfoot role="button" />;', errors: [expectedError] },
408408
{ code: '<thead role="button" />;', errors: [expectedError] },
409409
{ code: '<time role="button" />;', errors: [expectedError] },
@@ -419,6 +419,7 @@ const neverValid = [
419419
{ code: '<fieldset role="menuitem" />;', errors: [expectedError] },
420420
{ code: '<figure role="menuitem" />;', errors: [expectedError] },
421421
{ code: '<form role="menuitem" />;', errors: [expectedError] },
422+
{ code: '<frame role="menuitem" />;', errors: [expectedError] },
422423
{ code: '<h1 role="menuitem" />;', errors: [expectedError] },
423424
{ code: '<h2 role="menuitem" />;', errors: [expectedError] },
424425
{ code: '<h3 role="menuitem" />;', errors: [expectedError] },
@@ -433,6 +434,7 @@ const neverValid = [
433434
{ code: '<section role="button" aria-label="Aardvark" />;', errors: [expectedError] },
434435
{ code: '<table role="menuitem" />;', errors: [expectedError] },
435436
{ code: '<tbody role="menuitem" />;', errors: [expectedError] },
437+
{ code: '<td role="menuitem" />;', errors: [expectedError] },
436438
{ code: '<tfoot role="menuitem" />;', errors: [expectedError] },
437439
{ code: '<thead role="menuitem" />;', errors: [expectedError] },
438440
/* Custom components */

0 commit comments

Comments
 (0)