testaro 78.0.8 → 78.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/.gitattributes +94 -0
  2. package/.github/workflows/ci.yml +58 -0
  3. package/.github/workflows/publish.yml +49 -0
  4. package/.github/workflows/typescript.yml +35 -0
  5. package/AGENTS.md +2 -2
  6. package/CLAUDE.md +24 -18
  7. package/CONTAINERS.md +9 -6
  8. package/CONTRIBUTING.md +29 -3
  9. package/Dockerfile +1 -1
  10. package/README.md +73 -19
  11. package/UPGRADES.md +4 -0
  12. package/actSpecs-doc.md +13 -1
  13. package/actSpecs.js +29 -5
  14. package/call.js +6 -5
  15. package/docker-compose.yml +8 -2
  16. package/docs/checkpoint-scanning.md +199 -0
  17. package/docs/standard-result-outcome.md +165 -0
  18. package/env.example +44 -10
  19. package/eslint.config.mjs +101 -0
  20. package/netWatch.js +372 -222
  21. package/package.json +46 -31
  22. package/pour/README.md +47 -0
  23. package/pour/pour.min.js +8 -0
  24. package/procs/actDo.js +808 -0
  25. package/procs/catalog.d.ts +17 -0
  26. package/procs/catalog.js +312 -221
  27. package/procs/catalog.ts +398 -0
  28. package/procs/checkpoint.js +110 -0
  29. package/procs/config.d.ts +35 -0
  30. package/procs/config.js +62 -0
  31. package/procs/dateTime.js +2 -1
  32. package/procs/doActs.js +442 -849
  33. package/procs/doTestAct.js +27 -121
  34. package/procs/flow.js +221 -0
  35. package/procs/generateRuleRegistry.js +94 -0
  36. package/procs/getSource.d.ts +26 -0
  37. package/procs/job.js +115 -1
  38. package/procs/launch.d.ts +40 -0
  39. package/procs/launch.js +239 -108
  40. package/procs/nu.d.ts +48 -0
  41. package/procs/scope.js +196 -0
  42. package/procs/shoot.d.ts +33 -0
  43. package/procs/standard.d.ts +18 -0
  44. package/procs/standard.js +83 -0
  45. package/procs/standard.ts +126 -0
  46. package/procs/testAct.js +145 -0
  47. package/procs/testaro.d.ts +20 -0
  48. package/procs/testaro.js +236 -189
  49. package/procs/testaro.ts +321 -0
  50. package/procs/userPath.js +126 -0
  51. package/procs/xPath.d.ts +4 -0
  52. package/procs/xPath.js +81 -69
  53. package/procs/xPath.ts +106 -0
  54. package/procs/xPathScript.d.ts +6 -0
  55. package/procs/xPathScript.js +70 -0
  56. package/run.js +3 -2
  57. package/surea11y/README.md +44 -0
  58. package/surea11y/surea11y.browser.js +14 -0
  59. package/testaro/adbID.d.ts +3 -0
  60. package/testaro/adbID.js +38 -41
  61. package/testaro/adbID.ts +66 -0
  62. package/testaro/allCapStyle.d.ts +3 -0
  63. package/testaro/allCapStyle.js +31 -34
  64. package/testaro/allCapStyle.ts +55 -0
  65. package/testaro/allCaps.d.ts +16 -0
  66. package/testaro/allCaps.js +179 -151
  67. package/testaro/allCaps.ts +228 -0
  68. package/testaro/allHidden.d.ts +13 -0
  69. package/testaro/allHidden.js +29 -30
  70. package/testaro/allHidden.ts +50 -0
  71. package/testaro/allSlanted.d.ts +3 -0
  72. package/testaro/allSlanted.js +30 -33
  73. package/testaro/allSlanted.ts +54 -0
  74. package/testaro/altScheme.d.ts +3 -0
  75. package/testaro/altScheme.js +27 -30
  76. package/testaro/altScheme.ts +50 -0
  77. package/testaro/attVal.d.ts +3 -0
  78. package/testaro/attVal.js +20 -21
  79. package/testaro/attVal.ts +52 -0
  80. package/testaro/autocomplete.d.ts +3 -0
  81. package/testaro/autocomplete.js +59 -75
  82. package/testaro/autocomplete.ts +101 -0
  83. package/testaro/bulk.d.ts +13 -0
  84. package/testaro/bulk.js +32 -33
  85. package/testaro/bulk.ts +55 -0
  86. package/testaro/buttonMenu.d.ts +9 -0
  87. package/testaro/buttonMenu.js +317 -319
  88. package/testaro/buttonMenu.ts +391 -0
  89. package/testaro/captionLoc.d.ts +3 -0
  90. package/testaro/captionLoc.js +17 -20
  91. package/testaro/captionLoc.ts +40 -0
  92. package/testaro/datalistRef.d.ts +3 -0
  93. package/testaro/datalistRef.js +33 -36
  94. package/testaro/datalistRef.ts +55 -0
  95. package/testaro/distortion.d.ts +3 -0
  96. package/testaro/distortion.js +57 -26
  97. package/testaro/distortion.ts +81 -0
  98. package/testaro/docType.d.ts +15 -0
  99. package/testaro/docType.js +25 -25
  100. package/testaro/docType.ts +45 -0
  101. package/testaro/dupAtt.d.ts +16 -0
  102. package/testaro/dupAtt.js +113 -104
  103. package/testaro/dupAtt.ts +144 -0
  104. package/testaro/elements.d.ts +6 -0
  105. package/testaro/elements.js +153 -153
  106. package/testaro/elements.ts +215 -0
  107. package/testaro/embAc.d.ts +3 -0
  108. package/testaro/embAc.js +19 -20
  109. package/testaro/embAc.ts +40 -0
  110. package/testaro/focAll.d.ts +13 -0
  111. package/testaro/focAll.js +185 -191
  112. package/testaro/focAll.ts +217 -0
  113. package/testaro/focAndOp.d.ts +3 -0
  114. package/testaro/focAndOp.js +100 -104
  115. package/testaro/focAndOp.ts +128 -0
  116. package/testaro/focInd.d.ts +3 -0
  117. package/testaro/focInd.js +64 -66
  118. package/testaro/focInd.ts +96 -0
  119. package/testaro/focVis.d.ts +3 -0
  120. package/testaro/focVis.js +28 -30
  121. package/testaro/focVis.ts +52 -0
  122. package/testaro/headEl.d.ts +10 -0
  123. package/testaro/headEl.js +61 -62
  124. package/testaro/headEl.ts +82 -0
  125. package/testaro/headingAmb.d.ts +3 -0
  126. package/testaro/headingAmb.js +54 -63
  127. package/testaro/headingAmb.ts +72 -0
  128. package/testaro/hovInd.d.ts +12 -0
  129. package/testaro/hovInd.js +163 -130
  130. package/testaro/hovInd.ts +199 -0
  131. package/testaro/hover.d.ts +3 -0
  132. package/testaro/hover.js +155 -126
  133. package/testaro/hover.ts +154 -0
  134. package/testaro/hr.d.ts +3 -0
  135. package/testaro/hr.js +14 -17
  136. package/testaro/hr.ts +36 -0
  137. package/testaro/imageLink.d.ts +3 -0
  138. package/testaro/imageLink.js +17 -20
  139. package/testaro/imageLink.ts +42 -0
  140. package/testaro/labClash.d.ts +3 -0
  141. package/testaro/labClash.js +31 -33
  142. package/testaro/labClash.ts +54 -0
  143. package/testaro/legendLoc.d.ts +3 -0
  144. package/testaro/legendLoc.js +17 -20
  145. package/testaro/legendLoc.ts +42 -0
  146. package/testaro/lineHeight.d.ts +3 -0
  147. package/testaro/lineHeight.js +43 -48
  148. package/testaro/lineHeight.ts +70 -0
  149. package/testaro/linkAmb.d.ts +7 -0
  150. package/testaro/linkAmb.js +79 -80
  151. package/testaro/linkAmb.ts +105 -0
  152. package/testaro/linkExt.d.ts +3 -0
  153. package/testaro/linkExt.js +13 -16
  154. package/testaro/linkExt.ts +35 -0
  155. package/testaro/linkOldAtt.d.ts +3 -0
  156. package/testaro/linkOldAtt.js +25 -28
  157. package/testaro/linkOldAtt.ts +48 -0
  158. package/testaro/linkTo.d.ts +3 -0
  159. package/testaro/linkTo.js +22 -22
  160. package/testaro/linkTo.ts +43 -0
  161. package/testaro/linkUl.d.ts +3 -0
  162. package/testaro/linkUl.js +30 -34
  163. package/testaro/linkUl.ts +54 -0
  164. package/testaro/miniText.d.ts +3 -0
  165. package/testaro/miniText.js +41 -44
  166. package/testaro/miniText.ts +68 -0
  167. package/testaro/motion.d.ts +10 -0
  168. package/testaro/motion.js +92 -96
  169. package/testaro/motion.ts +125 -0
  170. package/testaro/nonTable.d.ts +3 -0
  171. package/testaro/nonTable.js +39 -45
  172. package/testaro/nonTable.ts +66 -0
  173. package/testaro/optRoleSel.d.ts +3 -0
  174. package/testaro/optRoleSel.js +16 -19
  175. package/testaro/optRoleSel.ts +41 -0
  176. package/testaro/phOnly.d.ts +3 -0
  177. package/testaro/phOnly.js +18 -21
  178. package/testaro/phOnly.ts +43 -0
  179. package/testaro/pseudoP.d.ts +3 -0
  180. package/testaro/pseudoP.js +36 -38
  181. package/testaro/pseudoP.ts +59 -0
  182. package/testaro/radioSet.d.ts +3 -0
  183. package/testaro/radioSet.js +57 -59
  184. package/testaro/radioSet.ts +79 -0
  185. package/testaro/registry.d.ts +63 -0
  186. package/testaro/registry.js +67 -0
  187. package/testaro/registry.ts +141 -0
  188. package/testaro/role.d.ts +3 -0
  189. package/testaro/role.js +27 -29
  190. package/testaro/role.ts +53 -0
  191. package/testaro/secHeading.d.ts +3 -0
  192. package/testaro/secHeading.js +30 -33
  193. package/testaro/secHeading.ts +53 -0
  194. package/testaro/styleDiff.d.ts +25 -0
  195. package/testaro/styleDiff.js +248 -252
  196. package/testaro/styleDiff.ts +303 -0
  197. package/testaro/tabNav.d.ts +33 -0
  198. package/testaro/tabNav.js +272 -342
  199. package/testaro/tabNav.ts +454 -0
  200. package/testaro/targetsNear.d.ts +9 -0
  201. package/testaro/targetsNear.js +130 -132
  202. package/testaro/targetsNear.ts +160 -0
  203. package/testaro/textNodes.d.ts +6 -0
  204. package/testaro/textNodes.js +139 -135
  205. package/testaro/textNodes.ts +185 -0
  206. package/testaro/textSem.d.ts +3 -0
  207. package/testaro/textSem.js +25 -28
  208. package/testaro/textSem.ts +47 -0
  209. package/testaro/title.d.ts +9 -0
  210. package/testaro/title.js +16 -13
  211. package/testaro/title.ts +31 -0
  212. package/testaro/titledEl.d.ts +3 -0
  213. package/testaro/titledEl.js +15 -18
  214. package/testaro/titledEl.ts +38 -0
  215. package/testaro/zIndex.d.ts +3 -0
  216. package/testaro/zIndex.js +19 -22
  217. package/testaro/zIndex.ts +42 -0
  218. package/tests/alfa.d.ts +45 -0
  219. package/tests/alfa.js +138 -141
  220. package/tests/alfa.ts +214 -0
  221. package/tests/aslint.d.ts +33 -0
  222. package/tests/aslint.js +272 -249
  223. package/tests/aslint.ts +301 -0
  224. package/tests/axe.d.ts +27 -0
  225. package/tests/axe.js +199 -200
  226. package/tests/axe.ts +277 -0
  227. package/tests/ed11y.d.ts +28 -0
  228. package/tests/ed11y.js +141 -99
  229. package/tests/ed11y.ts +178 -0
  230. package/tests/htmlcs.d.ts +21 -0
  231. package/tests/htmlcs.js +174 -140
  232. package/tests/htmlcs.ts +181 -0
  233. package/tests/ibm.d.ts +52 -0
  234. package/tests/ibm.js +164 -166
  235. package/tests/ibm.ts +251 -0
  236. package/tests/nuVal.d.ts +13 -0
  237. package/tests/nuVal.js +107 -112
  238. package/tests/nuVal.ts +145 -0
  239. package/tests/nuVnu.d.ts +15 -0
  240. package/tests/nuVnu.js +141 -111
  241. package/tests/nuVnu.ts +144 -0
  242. package/tests/pour.d.ts +31 -0
  243. package/tests/pour.js +242 -0
  244. package/tests/pour.ts +273 -0
  245. package/tests/qualWeb.d.ts +39 -0
  246. package/tests/qualWeb.js +302 -272
  247. package/tests/qualWeb.ts +415 -0
  248. package/tests/surea11y.d.ts +33 -0
  249. package/tests/surea11y.js +288 -0
  250. package/tests/surea11y.ts +334 -0
  251. package/tests/testaro.d.ts +25 -0
  252. package/tests/testaro.js +745 -652
  253. package/tests/testaro.ts +862 -0
  254. package/tests/wave.d.ts +46 -0
  255. package/tests/wave.js +166 -177
  256. package/tests/wave.ts +252 -0
  257. package/tsconfig.json +17 -0
  258. package/types.d.ts +243 -0
  259. package/types.js +10 -0
  260. package/types.ts +376 -0
  261. package/validation/act/README.md +46 -0
  262. package/validation/act/capture.js +424 -0
  263. package/validation/act/chromium-issue-draft.md +66 -0
  264. package/validation/act/fp-triage-2026-08-22.md +86 -0
  265. package/validation/act/isolation-notes.md +159 -0
  266. package/validation/act/playwright-issue-draft.md +73 -0
  267. package/validation/act/propose-mappings.js +0 -0
  268. package/validation/act/repro-cdp-raw.js +105 -0
  269. package/validation/act/repro-metarefresh.js +65 -0
  270. package/validation/act/score.js +184 -0
  271. package/validation/act/stage3a-stress-report.md +69 -0
  272. package/validation/act/stage3b-mapping-proposals.md +94 -0
  273. package/validation/act/stage3b-triage-draft.md +138 -0
  274. package/validation/act/surea11y-track-a-2026-09-01.md +50 -0
  275. package/validation/executors/netWatch.js +180 -90
  276. package/validation/executors/test.js +17 -2
  277. package/validation/executors/tests.js +118 -10
  278. package/validation/jobs/reports/raw/260901T1000-surea11y-validation.json +964 -0
  279. package/validation/jobs/todo/240101T1200-simple-example.json +14 -6
  280. package/validation/jobs/todo/240101T1300-shoot-example.json +2 -1
  281. package/validation/jobs/todo/260821T1900-pour-validation.json +45 -0
  282. package/validation/jobs/todo/260901T1000-surea11y-validation.json +45 -0
  283. package/validation/knownFailures.json +1 -0
  284. package/validation/tests/jobProperties/adbID.json +27 -2
  285. package/validation/tests/jobProperties/{focOp.json → allCapStyle.json} +56 -53
  286. package/validation/tests/jobProperties/allCaps.json +25 -0
  287. package/validation/tests/jobProperties/allHidden.json +133 -13
  288. package/validation/tests/jobProperties/allSlanted.json +3 -3
  289. package/validation/tests/jobProperties/altScheme.json +23 -8
  290. package/validation/tests/jobProperties/attVal.json +57 -57
  291. package/validation/tests/jobProperties/autocomplete.json +11 -1
  292. package/validation/tests/jobProperties/bulk.json +6 -1
  293. package/validation/tests/jobProperties/buttonMenu.json +63 -42
  294. package/validation/tests/jobProperties/captionLoc.json +1 -6
  295. package/validation/tests/jobProperties/checkpoint-browser.json +401 -0
  296. package/validation/tests/jobProperties/checkpoint-page.json +397 -0
  297. package/validation/tests/jobProperties/checkpoint.json +395 -0
  298. package/validation/tests/jobProperties/datalistRef.json +20 -5
  299. package/validation/tests/jobProperties/distortion.json +28 -3
  300. package/validation/tests/jobProperties/docType.json +2 -2
  301. package/validation/tests/jobProperties/dupAtt.json +48 -33
  302. package/validation/tests/jobProperties/elements.json +28 -28
  303. package/validation/tests/jobProperties/embAc.json +36 -31
  304. package/validation/tests/jobProperties/focAndOp.json +284 -0
  305. package/validation/tests/jobProperties/focInd.json +34 -34
  306. package/validation/tests/jobProperties/focVis.json +1 -1
  307. package/validation/tests/jobProperties/hover.json +39 -37
  308. package/validation/tests/jobProperties/hr.json +13 -3
  309. package/validation/tests/jobProperties/imageLink.json +0 -5
  310. package/validation/tests/jobProperties/labClash.json +68 -33
  311. package/validation/tests/jobProperties/legendLoc.json +1 -6
  312. package/validation/tests/jobProperties/lineHeight.json +2 -2
  313. package/validation/tests/jobProperties/linkAmb.json +13 -18
  314. package/validation/tests/jobProperties/linkExt.json +1 -1
  315. package/validation/tests/jobProperties/linkOldAtt.json +12 -2
  316. package/validation/tests/jobProperties/linkTo.json +1 -1
  317. package/validation/tests/jobProperties/linkUl.json +65 -65
  318. package/validation/tests/jobProperties/miniText.json +7 -2
  319. package/validation/tests/jobProperties/motion.json +4 -50
  320. package/validation/tests/jobProperties/nonTable.json +48 -3
  321. package/validation/tests/jobProperties/optRoleSel.json +12 -2
  322. package/validation/tests/jobProperties/phOnly.json +6 -16
  323. package/validation/tests/jobProperties/pseudoP.json +17 -2
  324. package/validation/tests/jobProperties/radioSet.json +30 -30
  325. package/validation/tests/jobProperties/role.json +25 -5
  326. package/validation/tests/jobProperties/secHeading.json +26 -21
  327. package/validation/tests/jobProperties/styleDiff.json +35 -5
  328. package/validation/tests/jobProperties/tabNav.json +3 -1
  329. package/validation/tests/jobProperties/targetsNear.json +237 -0
  330. package/validation/tests/jobProperties/textNodes.json +29 -29
  331. package/validation/tests/jobProperties/textSem.json +26 -1
  332. package/validation/tests/jobProperties/title.json +12 -2
  333. package/validation/tests/jobProperties/titledEl.json +39 -9
  334. package/validation/tests/jobProperties/userPath.json +317 -0
  335. package/validation/tests/jobProperties/zIndex.json +40 -35
  336. package/validation/tests/targets/allCapStyle/index.html +26 -0
  337. package/validation/tests/targets/checkpoint/index.html +38 -0
  338. package/validation/tests/targets/datalistRef/index.html +1 -1
  339. package/validation/tests/targets/focAndOp/bad.html +29 -0
  340. package/validation/tests/targets/{focOp → focAndOp}/good.html +3 -1
  341. package/validation/tests/targets/focInd/bad.html +2 -1
  342. package/validation/tests/targets/headEl/index.html +10 -1
  343. package/validation/tests/targets/{targetSmall → targetsNear}/index.html +15 -1
  344. package/validation/tests/targets/userPath/index.html +42 -0
  345. package/validation/validateTest.js +61 -9
  346. package/.claude/settings.local.json +0 -11
  347. package/.eslintrc.json +0 -41
  348. package/htmlcs/.eslintrc.json +0 -67
  349. package/validation/tests/jobProperties/linkTitle.json +0 -127
  350. package/validation/tests/jobProperties/opFoc.json +0 -164
  351. package/validation/tests/jobProperties/targetSmall.json +0 -152
  352. package/validation/tests/jobProperties/targetTiny.json +0 -142
  353. package/validation/tests/targets/focOp/bad.html +0 -25
  354. package/validation/tests/targets/linkTitle/index.html +0 -24
  355. package/validation/tests/targets/opFoc/bad.html +0 -26
  356. package/validation/tests/targets/opFoc/good.html +0 -23
@@ -5,45 +5,10 @@
5
5
  {
6
6
  "type": "launch",
7
7
  "target": {
8
- "url": "file://validation/tests/targets/hover/good.html",
9
- "what": "page with standard hover behavior"
8
+ "url": "file://validation/tests/targets/hover/bad.html",
9
+ "what": "page with deviant hover behavior"
10
10
  }
11
11
  },
12
- {
13
- "type": "test",
14
- "which": "testaro",
15
- "withItems": true,
16
- "stopOnFail": true,
17
- "expect": [
18
- [
19
- "standardResult.totals.0",
20
- "=",
21
- 0
22
- ],
23
- [
24
- "standardResult.totals.2",
25
- "=",
26
- 0
27
- ],
28
- [
29
- "standardResult.instances.length",
30
- "=",
31
- 0
32
- ]
33
- ],
34
- "rules": [
35
- "y",
36
- "hover"
37
- ],
38
- "args": {
39
- "hover": [5]
40
- }
41
- },
42
- {
43
- "type": "url",
44
- "which": "file://validation/tests/targets/hover/bad.html",
45
- "what": "page with deviant hover behavior"
46
- },
47
12
  {
48
13
  "type": "test",
49
14
  "which": "testaro",
@@ -182,6 +147,43 @@
182
147
  "y",
183
148
  "hover"
184
149
  ]
150
+ },
151
+ {
152
+ "type": "url",
153
+ "which": "file://validation/tests/targets/hover/good.html",
154
+ "what": "page with standard hover behavior"
155
+ },
156
+ {
157
+ "type": "test",
158
+ "which": "testaro",
159
+ "withItems": true,
160
+ "stopOnFail": true,
161
+ "expect": [
162
+ [
163
+ "standardResult.totals.0",
164
+ "=",
165
+ 0
166
+ ],
167
+ [
168
+ "standardResult.totals.2",
169
+ "=",
170
+ 0
171
+ ],
172
+ [
173
+ "standardResult.instances.length",
174
+ "=",
175
+ 0
176
+ ]
177
+ ],
178
+ "rules": [
179
+ "y",
180
+ "hover"
181
+ ],
182
+ "args": {
183
+ "hover": [
184
+ 5
185
+ ]
186
+ }
185
187
  }
186
188
  ]
187
189
  }
@@ -33,7 +33,7 @@
33
33
  [
34
34
  "standardResult.instances.0.what",
35
35
  "i",
36
- "Element instead"
36
+ "hr element is used for vertical segmentation"
37
37
  ],
38
38
  [
39
39
  "standardResult.instances.0.ordinalSeverity",
@@ -64,6 +64,11 @@
64
64
  "standardResult.instances.0.excerpt",
65
65
  "i",
66
66
  "hr"
67
+ ],
68
+ [
69
+ "standardResult.instances.0.outcome",
70
+ "=",
71
+ "failed"
67
72
  ]
68
73
  ],
69
74
  "rules": [
@@ -100,7 +105,7 @@
100
105
  [
101
106
  "standardResult.instances.0.what",
102
107
  "i",
103
- "Elements instead"
108
+ "HR elements are used for vertical segmentation"
104
109
  ],
105
110
  [
106
111
  "standardResult.instances.0.ordinalSeverity",
@@ -110,7 +115,12 @@
110
115
  [
111
116
  "standardResult.instances.0.tagName",
112
117
  "=",
113
- "HR"
118
+ ""
119
+ ],
120
+ [
121
+ "standardResult.instances.0.count",
122
+ "=",
123
+ 1
114
124
  ]
115
125
  ],
116
126
  "rules": [
@@ -121,11 +121,6 @@
121
121
  "standardResult.instances.0.what",
122
122
  "=",
123
123
  "Links have image files as their destinations"
124
- ],
125
- [
126
- "standardResult.instances.0.tagName",
127
- "=",
128
- "A"
129
124
  ]
130
125
  ],
131
126
  "rules": [
@@ -5,8 +5,8 @@
5
5
  {
6
6
  "type": "launch",
7
7
  "target": {
8
- "url": "file://validation/tests/targets/labClash/good.html",
9
- "what": "page with standard labeling"
8
+ "url": "file://validation/tests/targets/labClash/bad.html",
9
+ "what": "page with deviant labeling"
10
10
  }
11
11
  },
12
12
  {
@@ -18,7 +18,7 @@
18
18
  [
19
19
  "standardResult.totals.2",
20
20
  "=",
21
- 0
21
+ 3
22
22
  ],
23
23
  [
24
24
  "standardResult.totals.3",
@@ -26,41 +26,14 @@
26
26
  0
27
27
  ],
28
28
  [
29
- "standardResult.instances.length",
30
- "=",
31
- 0
32
- ]
33
- ],
34
- "rules": [
35
- "y",
36
- "labClash"
37
- ]
38
- },
39
- {
40
- "type": "url",
41
- "which": "file://validation/tests/targets/labClash/bad.html",
42
- "what": "page with deviant labeling"
43
- },
44
- {
45
- "type": "test",
46
- "which": "testaro",
47
- "withItems": true,
48
- "stopOnFail": true,
49
- "expect": [
50
- [
51
- "standardResult.totals.2",
52
- "=",
53
- 3
54
- ],
55
- [
56
- "standardResult.totals.3",
29
+ "standardResult.totals.1",
57
30
  "=",
58
31
  0
59
32
  ],
60
33
  [
61
- "standardResult.totals.1",
34
+ "standardResult.instances.length",
62
35
  "=",
63
- 0
36
+ 3
64
37
  ],
65
38
  [
66
39
  "standardResult.instances.0.ruleID",
@@ -101,6 +74,68 @@
101
74
  "standardResult.instances.0.excerpt",
102
75
  "i",
103
76
  "button"
77
+ ],
78
+ [
79
+ "standardResult.instances.0.outcome",
80
+ "=",
81
+ "failed"
82
+ ],
83
+ [
84
+ "standardResult.instances.1.what",
85
+ "i",
86
+ "aria-label, label"
87
+ ],
88
+ [
89
+ "standardResult.instances.1.tagName",
90
+ "=",
91
+ "INPUT"
92
+ ],
93
+ [
94
+ "standardResult.instances.1.id",
95
+ "=",
96
+ "cbox"
97
+ ],
98
+ [
99
+ "standardResult.instances.2.what",
100
+ "i",
101
+ "aria-label, aria-labelledby"
102
+ ],
103
+ [
104
+ "standardResult.instances.2.tagName",
105
+ "=",
106
+ "INPUT"
107
+ ]
108
+ ],
109
+ "rules": [
110
+ "y",
111
+ "labClash"
112
+ ]
113
+ },
114
+ {
115
+ "type": "url",
116
+ "which": "file://validation/tests/targets/labClash/good.html",
117
+ "what": "page with standard labeling"
118
+ },
119
+ {
120
+ "type": "test",
121
+ "which": "testaro",
122
+ "withItems": true,
123
+ "stopOnFail": true,
124
+ "expect": [
125
+ [
126
+ "standardResult.totals.2",
127
+ "=",
128
+ 0
129
+ ],
130
+ [
131
+ "standardResult.totals.3",
132
+ "=",
133
+ 0
134
+ ],
135
+ [
136
+ "standardResult.instances.length",
137
+ "=",
138
+ 0
104
139
  ]
105
140
  ],
106
141
  "rules": [
@@ -111,7 +111,7 @@
111
111
  [
112
112
  "standardResult.instances.0.what",
113
113
  "=",
114
- "legend elements are not the first children of fieldset elements"
114
+ "Legend elements are not the first children of fieldset elements"
115
115
  ],
116
116
  [
117
117
  "standardResult.instances.0.ordinalSeverity",
@@ -122,11 +122,6 @@
122
122
  "standardResult.instances.0.count",
123
123
  "=",
124
124
  2
125
- ],
126
- [
127
- "standardResult.instances.0.tagName",
128
- "=",
129
- "LEGEND"
130
125
  ]
131
126
  ],
132
127
  "rules": [
@@ -5,7 +5,7 @@
5
5
  {
6
6
  "type": "launch",
7
7
  "target": {
8
- "url": "file://validation/tests/targets/lineheight/index.html",
8
+ "url": "file://validation/tests/targets/lineHeight/index.html",
9
9
  "what": "page with various line heights"
10
10
  }
11
11
  },
@@ -110,7 +110,7 @@
110
110
  [
111
111
  "standardResult.instances.0.what",
112
112
  "i",
113
- "heights less than 1.5 times"
113
+ "line heights are less than 1.5 times"
114
114
  ]
115
115
  ],
116
116
  "rules": [
@@ -24,7 +24,7 @@
24
24
  [
25
25
  "standardResult.totals.2",
26
26
  "=",
27
- 1
27
+ 4
28
28
  ],
29
29
  [
30
30
  "standardResult.instances.length",
@@ -39,7 +39,7 @@
39
39
  [
40
40
  "standardResult.instances.0.what",
41
41
  "i",
42
- "Link has the same text"
42
+ "links with the text “basque information” have 2 different destinations"
43
43
  ],
44
44
  [
45
45
  "standardResult.instances.0.ordinalSeverity",
@@ -47,29 +47,24 @@
47
47
  2
48
48
  ],
49
49
  [
50
- "standardResult.instances.0.tagName",
50
+ "standardResult.instances.0.count",
51
51
  "=",
52
- "A"
52
+ 4
53
53
  ],
54
54
  [
55
- "standardResult.instances.0.id",
55
+ "standardResult.instances.0.outcome",
56
56
  "=",
57
- "basqueInfoICB"
57
+ "failed"
58
58
  ],
59
59
  [
60
- "standardResult.instances.0.location.doc",
61
- "=",
62
- "dom"
63
- ],
64
- [
65
- "standardResult.instances.0.location.type",
60
+ "standardResult.instances.0.tagName",
66
61
  "=",
67
- "selector"
62
+ "BODY"
68
63
  ],
69
64
  [
70
- "standardResult.instances.0.location.spec",
65
+ "standardResult.instances.0.location.doc",
71
66
  "=",
72
- "#basqueInfoICB"
67
+ "dom"
73
68
  ],
74
69
  [
75
70
  "standardResult.instances.0.excerpt",
@@ -97,7 +92,7 @@
97
92
  [
98
93
  "standardResult.totals.2",
99
94
  "=",
100
- 1
95
+ 4
101
96
  ],
102
97
  [
103
98
  "standardResult.instances.length",
@@ -112,12 +107,12 @@
112
107
  [
113
108
  "standardResult.instances.0.count",
114
109
  "=",
115
- 1
110
+ 4
116
111
  ],
117
112
  [
118
113
  "standardResult.instances.0.what",
119
114
  "i",
120
- "Links have the same texts"
115
+ "Links have the same text but different destinations"
121
116
  ]
122
117
  ],
123
118
  "rules": [
@@ -120,7 +120,7 @@
120
120
  [
121
121
  "standardResult.instances.0.tagName",
122
122
  "=",
123
- "A"
123
+ ""
124
124
  ]
125
125
  ],
126
126
  "rules": [
@@ -33,7 +33,7 @@
33
33
  [
34
34
  "standardResult.instances.0.what",
35
35
  "i",
36
- "Element has a deprecated attribute"
36
+ "charset attribute is deprecated"
37
37
  ],
38
38
  [
39
39
  "standardResult.instances.0.ordinalSeverity",
@@ -64,6 +64,16 @@
64
64
  "standardResult.instances.0.excerpt",
65
65
  "=",
66
66
  "French information"
67
+ ],
68
+ [
69
+ "standardResult.instances.1.what",
70
+ "i",
71
+ "name attribute is deprecated"
72
+ ],
73
+ [
74
+ "standardResult.instances.1.excerpt",
75
+ "=",
76
+ "German information"
67
77
  ]
68
78
  ],
69
79
  "rules": [
@@ -100,7 +110,7 @@
100
110
  [
101
111
  "standardResult.instances.0.tagName",
102
112
  "=",
103
- "A"
113
+ ""
104
114
  ],
105
115
  [
106
116
  "standardResult.instances.0.ordinalSeverity",
@@ -100,7 +100,7 @@
100
100
  [
101
101
  "standardResult.instances.0.tagName",
102
102
  "=",
103
- "A"
103
+ ""
104
104
  ],
105
105
  [
106
106
  "standardResult.instances.0.ordinalSeverity",
@@ -5,69 +5,10 @@
5
5
  {
6
6
  "type": "launch",
7
7
  "target": {
8
- "url": "file://validation/tests/targets/linkUl/na.html",
9
- "what": "page without inline links"
8
+ "url": "file://validation/tests/targets/linkUl/bad.html",
9
+ "what": "page with nonunderlined inline links"
10
10
  }
11
11
  },
12
- {
13
- "type": "test",
14
- "which": "testaro",
15
- "withItems": true,
16
- "stopOnFail": true,
17
- "expect": [
18
- [
19
- "standardResult.totals.1",
20
- "=",
21
- 0
22
- ],
23
- [
24
- "standardResult.instances.length",
25
- "=",
26
- 0
27
- ]
28
- ],
29
- "rules": [
30
- "y",
31
- "linkUl"
32
- ]
33
- },
34
- {
35
- "type": "url",
36
- "which": "file://validation/tests/targets/linkUl/good.html",
37
- "what": "page with underlined inline links"
38
- },
39
- {
40
- "type": "test",
41
- "which": "testaro",
42
- "withItems": true,
43
- "stopOnFail": true,
44
- "expect": [
45
- [
46
- "standardResult.totals.1",
47
- "=",
48
- 0
49
- ],
50
- [
51
- "standardResult.totals.2",
52
- "=",
53
- 0
54
- ],
55
- [
56
- "standardResult.instances.length",
57
- "=",
58
- 0
59
- ]
60
- ],
61
- "rules": [
62
- "y",
63
- "linkUl"
64
- ]
65
- },
66
- {
67
- "type": "url",
68
- "which": "file://validation/tests/targets/linkUl/bad.html",
69
- "what": "page with nonunderlined inline links"
70
- },
71
12
  {
72
13
  "type": "test",
73
14
  "which": "testaro",
@@ -97,7 +38,7 @@
97
38
  [
98
39
  "standardResult.instances.0.what",
99
40
  "i",
100
- "but has no"
41
+ "is not underlined"
101
42
  ],
102
43
  [
103
44
  "standardResult.instances.0.ordinalSeverity",
@@ -137,7 +78,7 @@
137
78
  [
138
79
  "standardResult.instances.1.what",
139
80
  "i",
140
- "but has no"
81
+ "is not underlined"
141
82
  ],
142
83
  [
143
84
  "standardResult.instances.1.tagName",
@@ -199,7 +140,7 @@
199
140
  [
200
141
  "standardResult.instances.0.what",
201
142
  "i",
202
- "missing"
143
+ "not underlined"
203
144
  ],
204
145
  [
205
146
  "standardResult.instances.0.ordinalSeverity",
@@ -214,7 +155,7 @@
214
155
  [
215
156
  "standardResult.instances.0.tagName",
216
157
  "=",
217
- "A"
158
+ ""
218
159
  ],
219
160
  [
220
161
  "standardResult.instances.0.location.doc",
@@ -226,6 +167,65 @@
226
167
  "y",
227
168
  "linkUl"
228
169
  ]
170
+ },
171
+ {
172
+ "type": "url",
173
+ "which": "file://validation/tests/targets/linkUl/good.html",
174
+ "what": "page with underlined inline links"
175
+ },
176
+ {
177
+ "type": "test",
178
+ "which": "testaro",
179
+ "withItems": true,
180
+ "stopOnFail": true,
181
+ "expect": [
182
+ [
183
+ "standardResult.totals.1",
184
+ "=",
185
+ 0
186
+ ],
187
+ [
188
+ "standardResult.totals.2",
189
+ "=",
190
+ 0
191
+ ],
192
+ [
193
+ "standardResult.instances.length",
194
+ "=",
195
+ 0
196
+ ]
197
+ ],
198
+ "rules": [
199
+ "y",
200
+ "linkUl"
201
+ ]
202
+ },
203
+ {
204
+ "type": "url",
205
+ "which": "file://validation/tests/targets/linkUl/na.html",
206
+ "what": "page without inline links"
207
+ },
208
+ {
209
+ "type": "test",
210
+ "which": "testaro",
211
+ "withItems": true,
212
+ "stopOnFail": true,
213
+ "expect": [
214
+ [
215
+ "standardResult.totals.1",
216
+ "=",
217
+ 0
218
+ ],
219
+ [
220
+ "standardResult.instances.length",
221
+ "=",
222
+ 0
223
+ ]
224
+ ],
225
+ "rules": [
226
+ "y",
227
+ "linkUl"
228
+ ]
229
229
  }
230
230
  ]
231
231
  }
@@ -33,7 +33,7 @@
33
33
  [
34
34
  "standardResult.instances.0.what",
35
35
  "i",
36
- "a font size of 8 pixels"
36
+ "font size is 8px"
37
37
  ],
38
38
  [
39
39
  "standardResult.instances.0.ordinalSeverity",
@@ -73,12 +73,17 @@
73
73
  [
74
74
  "standardResult.instances.1.what",
75
75
  "i",
76
- "a font size of 7 pixels"
76
+ "font size is 7px"
77
77
  ],
78
78
  [
79
79
  "standardResult.instances.2.excerpt",
80
80
  "i",
81
81
  "with a named constant"
82
+ ],
83
+ [
84
+ "standardResult.instances.2.what",
85
+ "i",
86
+ "font size is 9px"
82
87
  ]
83
88
  ],
84
89
  "rules": [