Skip to content

Commit 3af087d

Browse files
committed
Add tests for the a11y noninteractive-element-to-interactive-role warning
1 parent 5a2b346 commit 3af087d

File tree

3 files changed

+1124
-1
lines changed

3 files changed

+1124
-1
lines changed

src/compiler/compile/nodes/Element.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,6 @@ export default class Element extends Node {
543543
component.warn(this, compiler_warnings.a11y_no_noninteractive_element_to_interactive_role(current_role, this.name));
544544
}
545545
});
546-
547546
}
548547
}
549548

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
<!-- ALL INVALID: HTML elements with interactive role -->
2+
<article role="button" />
3+
<aside role="checkbox" aria-checked={false} />
4+
<blockquote role="columnheader" />
5+
<body role="combobox" aria-controls={[]} aria-expanded />
6+
<br role="grid" />
7+
<caption role="gridcell" />
8+
<dd role="link" />
9+
<details role="listbox" />
10+
<dir role="menu" />
11+
<dl role="menubar" />
12+
<dfn role="menuitem" />
13+
<dt role="menuitemcheckbox" aria-checked />
14+
<fieldset role="menuitemradio" aria-checked />
15+
<figure>
16+
<figcaption role="menuitemradio" aria-checked />
17+
</figure>
18+
<figure role="option" aria-selected />
19+
<footer role="radio" aria-checked />
20+
<form role="radiogroup" />
21+
<frame role="row" />
22+
<h1 role="rowheader">Button</h1>
23+
<h2 role="scrollbar" aria-controls={[]} aria-valuenow={0} >Button</h2>
24+
<h3 role="searchbox">Button</h3>
25+
<h4 role="slider" aria-valuenow={0}>Button</h4>
26+
<h5 role="spinbutton">Button</h5>
27+
<h6 role="switch" aria-checked>Button</h6>
28+
<hr role="tab" />
29+
<iframe role="tablist" title="tablist" />
30+
<img role="tabpanel" alt="tabpanel" />
31+
<label role="textbox" />
32+
<legend role="toolbar" />
33+
<li role="tree" />
34+
<main role="treegrid" />
35+
<mark role="treeitem" aria-selected />
36+
<marquee role="doc-backlink" />
37+
<menu role="doc-biblioref" />
38+
<meter role="doc-glossref" />
39+
<nav role="doc-noteref" />
40+
<ol role="button" />
41+
<optgroup role="treeitem" aria-selected />
42+
<output role="treegrid" />
43+
<p role="columnheader" />
44+
<pre role="tree" />
45+
<progress role="combobox" aria-controls={[]} aria-expanded />
46+
<ruby role="toolbar" />
47+
<section role="radio" aria-label="radio" aria-checked />
48+
<table role="menu" />
49+
<tbody role="searchbox" />
50+
<td role="button" />
51+
<tfoot role="listbox" />
52+
<thead role="slider" aria-valuenow={0} />
53+
<time role="doc-backlink" />
54+
<ul role="spinbutton" />
55+
56+
<!-- VALID under recommended settings, INVALID under strict settings: ul, ol, li has interactive roles -->
57+
<!-- ul -->
58+
<ul role="menu" />
59+
<ul role="menubar" />
60+
<ul role="radiogroup" />
61+
<ul role="tablist" />
62+
<ul role="tree" />
63+
<ul role="treegrid" />
64+
<!-- ol -->
65+
<ol role="menu" />
66+
<ol role="menubar" />
67+
<ol role="radiogroup" />
68+
<ol role="tablist" />
69+
<ol role="tree" />
70+
<ol role="treegrid" />
71+
<!-- li -->
72+
<li role="tab" />
73+
<li role="menuitem" />
74+
<li role="row" />
75+
<li role="treeitem" aria-selected={false} />
76+
77+
<!-- VALID: HTML elements attributed with an interactive role -->
78+
<div role="button" />
79+
<div role="menu" />
80+
<div role="tab" />
81+
<div role="textbox" />
82+
83+
<!-- VALID: HTML elements attributed with a non-interactive role -->
84+
<div role="alert" />
85+
<div role="document" />
86+
<div role="separator" />
87+
<div role="timer" />

0 commit comments

Comments
 (0)