@jrpool/kilotest 38.0.0 → 39.0.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.
- package/.markdownlint-cli2.jsonc +12 -0
- package/.vscode/settings.json +3 -0
- package/CLAUDE.md +5 -0
- package/README.md +6 -4
- package/ai0BalanceForm/index.html +1 -1
- package/alerts.js +3 -1
- package/api/getReport.js +66 -0
- package/api/listDiagnoses.js +157 -0
- package/api/listIssues.js +225 -0
- package/api/listReports.js +87 -0
- package/api/listViolators.js +164 -0
- package/api/requestFeature.js +56 -0
- package/api/requestRetest.js +102 -0
- package/api/requestTest.js +106 -0
- package/api/routes.js +97 -0
- package/api/schemas.js +297 -0
- package/api/testSuite.js +294 -0
- package/api/util.js +149 -0
- package/diagnoses/index.js +2 -2
- package/docs/{AI-TOOL.md → AI-TOOLS.md} +54 -26
- package/docs/SERVICE.md +4 -1
- package/docs/decisions/001-api-design.md +59 -49
- package/eslint.config.mjs +13 -3
- package/index.html +1 -1
- package/index.js +201 -188
- package/issues/index.js +13 -21
- package/jsconfig.json +8 -0
- package/llms-full.txt +2 -2
- package/llms.txt +16 -11
- package/mcp.js +129 -65
- package/openapi.yaml +1234 -572
- package/package.json +18 -11
- package/reannotate/index.js +26 -15
- package/reannotateForm/index.js +15 -13
- package/redocly.yaml +4 -0
- package/reportHideForm/index.html +1 -1
- package/reportHideForm/index.js +24 -38
- package/reportIssue/index.js +3 -3
- package/reportIssues/index.js +128 -1
- package/reportUnhideForm/index.js +36 -44
- package/reportsExpungeForm/index.js +22 -16
- package/reportsPruneForm/index.js +22 -12
- package/reportsRewindForm/index.js +17 -9
- package/retestRec/index.js +8 -4
- package/retestRecForm/index.js +18 -6
- package/scripts/generate-openapi.js +83 -0
- package/targets/index.js +18 -13
- package/testOrder/index.js +11 -8
- package/tutorial/index.html +12 -12
- package/util.js +580 -539
- package/reportIssue/api.js +0 -183
- package/reportIssues/util.js +0 -138
- package/reportList/api.js +0 -83
- package/reportSummary/api.js +0 -181
- package/researchAgent.js +0 -206
- package/target/api.js +0 -126
- package/testRecForm/api.js +0 -55
package/openapi.yaml
CHANGED
|
@@ -1,400 +1,1269 @@
|
|
|
1
1
|
openapi: 3.1.0
|
|
2
2
|
info:
|
|
3
|
-
title: Kilotest
|
|
4
|
-
description: Kilotest
|
|
5
|
-
version:
|
|
3
|
+
title: Kilotest API
|
|
4
|
+
description: 'Kilotest is an ensemble testing and reporting service for front-end web quality. It uses an ensemble of 10 rule engines to test public web pages for front-end quality (accessibility, usability, and standards conformity). Kilotest acts as a web server for human users, an MCP server for AI platforms, and an API for programmatic access. With this API you can request that a page be tested or retested, discover available reports, incrementally retrieve facts from a report: from what reports are available, to what issues were reported in one report, to what elements violated one issue, to what diagnoses rule engines gave for one violation.'
|
|
5
|
+
version: 39.0.0
|
|
6
|
+
license:
|
|
7
|
+
name: MIT
|
|
8
|
+
identifier: MIT
|
|
6
9
|
contact:
|
|
7
10
|
name: Kilotest
|
|
8
|
-
url: https://
|
|
11
|
+
url: https://github.com/jrpool/kilotest
|
|
9
12
|
email: info@kilotest.com
|
|
10
|
-
|
|
11
13
|
servers:
|
|
12
14
|
- url: https://kilotest.com
|
|
13
15
|
description: Kilotest production server
|
|
14
|
-
|
|
16
|
+
security: []
|
|
15
17
|
paths:
|
|
16
|
-
/api/
|
|
17
|
-
|
|
18
|
-
operationId:
|
|
19
|
-
summary:
|
|
20
|
-
description: Get summary data from the available reports about web pages whose descriptions or hostnames match your specifications. Matching is case-insensitive and succeeds if at least 1 specification is included by or includes the corresponding property of a tested page. The data include the name and URL of each tested web page, when the testing was performed, how many front-end quality (i.e. accessibility, usability, and standards conformity) issues were reported, and URLs for retrieving more detailed data from the report.
|
|
21
|
-
requestBody:
|
|
22
|
-
description: Page specifications
|
|
23
|
-
required: true
|
|
24
|
-
content:
|
|
25
|
-
application/json:
|
|
26
|
-
schema:
|
|
27
|
-
$ref: '#/components/schemas/Target'
|
|
18
|
+
/api/listReports:
|
|
19
|
+
get:
|
|
20
|
+
operationId: listReports
|
|
21
|
+
summary: List all available reports
|
|
28
22
|
responses:
|
|
29
23
|
'200':
|
|
30
|
-
description:
|
|
24
|
+
description: List all available reports
|
|
31
25
|
content:
|
|
32
26
|
application/json:
|
|
33
27
|
schema:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
28
|
+
type: object
|
|
29
|
+
properties:
|
|
30
|
+
tool collection:
|
|
31
|
+
$ref: '#/components/schemas/ToolsFacts'
|
|
32
|
+
tool name:
|
|
33
|
+
type: string
|
|
34
|
+
this request:
|
|
35
|
+
type: object
|
|
36
|
+
properties:
|
|
37
|
+
description:
|
|
38
|
+
type: string
|
|
39
|
+
method:
|
|
40
|
+
type: string
|
|
41
|
+
const: GET
|
|
42
|
+
URL:
|
|
43
|
+
type: string
|
|
44
|
+
closest ancestor request:
|
|
45
|
+
anyOf:
|
|
46
|
+
- $ref: '#/components/schemas/RequestReference'
|
|
47
|
+
- type: 'null'
|
|
48
|
+
required:
|
|
49
|
+
- description
|
|
50
|
+
- method
|
|
51
|
+
- URL
|
|
52
|
+
- closest ancestor request
|
|
53
|
+
additionalProperties: false
|
|
54
|
+
URLs of similar requests for web users:
|
|
55
|
+
$ref: '#/components/schemas/SimilarWebRequests'
|
|
56
|
+
response metadata:
|
|
57
|
+
$ref: '#/components/schemas/ResponseMetadata'
|
|
58
|
+
response content:
|
|
59
|
+
type: object
|
|
60
|
+
properties:
|
|
61
|
+
basics about all available reports:
|
|
62
|
+
type: array
|
|
63
|
+
items:
|
|
64
|
+
type: object
|
|
65
|
+
properties:
|
|
66
|
+
identifier:
|
|
67
|
+
type: string
|
|
68
|
+
description: timeStamp-jobID identifier of the report.
|
|
69
|
+
completion date and time:
|
|
70
|
+
type: string
|
|
71
|
+
days since the report was completed:
|
|
72
|
+
type: number
|
|
73
|
+
tested web page:
|
|
74
|
+
type: object
|
|
75
|
+
properties:
|
|
76
|
+
description:
|
|
77
|
+
type: string
|
|
78
|
+
URL:
|
|
79
|
+
type: string
|
|
80
|
+
required:
|
|
81
|
+
- description
|
|
82
|
+
- URL
|
|
83
|
+
additionalProperties: false
|
|
84
|
+
whether a later report about the same page exists:
|
|
85
|
+
type: boolean
|
|
86
|
+
how to get details about the report:
|
|
87
|
+
type: object
|
|
88
|
+
properties:
|
|
89
|
+
method:
|
|
90
|
+
type: string
|
|
91
|
+
const: GET
|
|
92
|
+
URL:
|
|
93
|
+
type: string
|
|
94
|
+
required:
|
|
95
|
+
- method
|
|
96
|
+
- URL
|
|
97
|
+
additionalProperties: false
|
|
98
|
+
web users can get details about the report at:
|
|
99
|
+
type: string
|
|
100
|
+
required:
|
|
101
|
+
- identifier
|
|
102
|
+
- completion date and time
|
|
103
|
+
- days since the report was completed
|
|
104
|
+
- tested web page
|
|
105
|
+
- whether a later report about the same page exists
|
|
106
|
+
- how to get details about the report
|
|
107
|
+
- web users can get details about the report at
|
|
108
|
+
additionalProperties: false
|
|
109
|
+
how to request that a page with no report be tested:
|
|
110
|
+
type: object
|
|
111
|
+
properties:
|
|
112
|
+
method:
|
|
113
|
+
type: string
|
|
114
|
+
const: POST
|
|
115
|
+
URL:
|
|
116
|
+
type: string
|
|
117
|
+
request body:
|
|
118
|
+
type: object
|
|
119
|
+
properties:
|
|
120
|
+
description:
|
|
121
|
+
type: string
|
|
122
|
+
URL:
|
|
123
|
+
type: string
|
|
124
|
+
reason:
|
|
125
|
+
type: string
|
|
126
|
+
required:
|
|
127
|
+
- description
|
|
128
|
+
- URL
|
|
129
|
+
- reason
|
|
130
|
+
additionalProperties: false
|
|
131
|
+
how to check whether the request has been fulfilled:
|
|
132
|
+
type: string
|
|
133
|
+
required:
|
|
134
|
+
- method
|
|
135
|
+
- URL
|
|
136
|
+
- request body
|
|
137
|
+
- how to check whether the request has been fulfilled
|
|
138
|
+
additionalProperties: false
|
|
139
|
+
how a web user can request that the page be tested:
|
|
140
|
+
type: object
|
|
141
|
+
properties:
|
|
142
|
+
URL:
|
|
143
|
+
type: string
|
|
144
|
+
required:
|
|
145
|
+
- URL
|
|
146
|
+
additionalProperties: false
|
|
147
|
+
required:
|
|
148
|
+
- basics about all available reports
|
|
149
|
+
- how to request that a page with no report be tested
|
|
150
|
+
- how a web user can request that the page be tested
|
|
151
|
+
additionalProperties: false
|
|
152
|
+
required:
|
|
153
|
+
- tool collection
|
|
154
|
+
- tool name
|
|
155
|
+
- this request
|
|
156
|
+
- URLs of similar requests for web users
|
|
157
|
+
- response metadata
|
|
158
|
+
- response content
|
|
159
|
+
additionalProperties: false
|
|
160
|
+
/api/listIssues/{timeStamp}/{jobID}:
|
|
37
161
|
get:
|
|
38
|
-
operationId:
|
|
39
|
-
summary: List
|
|
40
|
-
|
|
162
|
+
operationId: listIssues
|
|
163
|
+
summary: List basics about the issues in one report
|
|
164
|
+
parameters:
|
|
165
|
+
- in: path
|
|
166
|
+
name: timeStamp
|
|
167
|
+
schema:
|
|
168
|
+
type: string
|
|
169
|
+
description: 'Timestamp of the report in YYMMDDTHHmm format (example: 260503T0432)'
|
|
170
|
+
required: true
|
|
171
|
+
description: 'Timestamp of the report in YYMMDDTHHmm format (example: 260503T0432)'
|
|
172
|
+
- in: path
|
|
173
|
+
name: jobID
|
|
174
|
+
schema:
|
|
175
|
+
type: string
|
|
176
|
+
description: 'Job identifier of the report (example: x9z)'
|
|
177
|
+
required: true
|
|
178
|
+
description: 'Job identifier of the report (example: x9z)'
|
|
41
179
|
responses:
|
|
42
180
|
'200':
|
|
43
|
-
description: List
|
|
181
|
+
description: List basics about the issues in one report
|
|
44
182
|
content:
|
|
45
183
|
application/json:
|
|
46
184
|
schema:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
185
|
+
type: object
|
|
186
|
+
properties:
|
|
187
|
+
tool collection:
|
|
188
|
+
$ref: '#/components/schemas/ToolsFacts'
|
|
189
|
+
tool name:
|
|
190
|
+
type: string
|
|
191
|
+
this request:
|
|
192
|
+
type: object
|
|
193
|
+
properties:
|
|
194
|
+
description:
|
|
195
|
+
type: string
|
|
196
|
+
method:
|
|
197
|
+
type: string
|
|
198
|
+
const: GET
|
|
199
|
+
URL:
|
|
200
|
+
type: string
|
|
201
|
+
closest ancestor request:
|
|
202
|
+
anyOf:
|
|
203
|
+
- $ref: '#/components/schemas/RequestReference'
|
|
204
|
+
- type: 'null'
|
|
205
|
+
required:
|
|
206
|
+
- description
|
|
207
|
+
- method
|
|
208
|
+
- URL
|
|
209
|
+
- closest ancestor request
|
|
210
|
+
additionalProperties: false
|
|
211
|
+
URLs of similar requests for web users:
|
|
212
|
+
$ref: '#/components/schemas/SimilarWebRequests'
|
|
213
|
+
response metadata:
|
|
214
|
+
$ref: '#/components/schemas/ResponseMetadata'
|
|
215
|
+
response content:
|
|
216
|
+
type: object
|
|
217
|
+
properties:
|
|
218
|
+
basics about the report:
|
|
219
|
+
$ref: '#/components/schemas/ReportBasicsOrError'
|
|
220
|
+
details about the report:
|
|
221
|
+
anyOf:
|
|
222
|
+
- type: object
|
|
223
|
+
properties:
|
|
224
|
+
job definition:
|
|
225
|
+
type: object
|
|
226
|
+
properties:
|
|
227
|
+
whether the job prohibited redirection:
|
|
228
|
+
description: Copied from the report (strict); type not guaranteed.
|
|
229
|
+
whether the native results of rule engines are reported:
|
|
230
|
+
type: boolean
|
|
231
|
+
whether standardized results are reported:
|
|
232
|
+
type: boolean
|
|
233
|
+
device emulated by the job:
|
|
234
|
+
description: Device object copied verbatim from the report; shape may vary.
|
|
235
|
+
browser type used by the job:
|
|
236
|
+
description: Copied from the report (browserID); type not guaranteed.
|
|
237
|
+
required:
|
|
238
|
+
- whether the job prohibited redirection
|
|
239
|
+
- whether the native results of rule engines are reported
|
|
240
|
+
- whether standardized results are reported
|
|
241
|
+
- device emulated by the job
|
|
242
|
+
- browser type used by the job
|
|
243
|
+
additionalProperties: false
|
|
244
|
+
test results:
|
|
245
|
+
type: object
|
|
246
|
+
properties:
|
|
247
|
+
rule engines that tried to test the page:
|
|
248
|
+
type: array
|
|
249
|
+
items:
|
|
250
|
+
$ref: '#/components/schemas/RuleEngineFacts'
|
|
251
|
+
rule engines that could not test the page:
|
|
252
|
+
type: array
|
|
253
|
+
items:
|
|
254
|
+
type: object
|
|
255
|
+
properties:
|
|
256
|
+
name:
|
|
257
|
+
anyOf:
|
|
258
|
+
- type: string
|
|
259
|
+
- type: 'null'
|
|
260
|
+
reason for failure:
|
|
261
|
+
description: Copied verbatim from the Testaro report; shape may vary.
|
|
262
|
+
required:
|
|
263
|
+
- name
|
|
264
|
+
- reason for failure
|
|
265
|
+
additionalProperties: false
|
|
266
|
+
names of rule engines that reported rule violations:
|
|
267
|
+
type: array
|
|
268
|
+
items:
|
|
269
|
+
anyOf:
|
|
270
|
+
- type: string
|
|
271
|
+
- type: 'null'
|
|
272
|
+
counts of issues by priority:
|
|
273
|
+
type: object
|
|
274
|
+
properties:
|
|
275
|
+
highest:
|
|
276
|
+
type: number
|
|
277
|
+
high:
|
|
278
|
+
type: number
|
|
279
|
+
low:
|
|
280
|
+
type: number
|
|
281
|
+
lowest:
|
|
282
|
+
type: number
|
|
283
|
+
required:
|
|
284
|
+
- highest
|
|
285
|
+
- high
|
|
286
|
+
- low
|
|
287
|
+
- lowest
|
|
288
|
+
additionalProperties: false
|
|
289
|
+
number of elements reported as violators:
|
|
290
|
+
type: number
|
|
291
|
+
required:
|
|
292
|
+
- rule engines that tried to test the page
|
|
293
|
+
- rule engines that could not test the page
|
|
294
|
+
- names of rule engines that reported rule violations
|
|
295
|
+
- counts of issues by priority
|
|
296
|
+
- number of elements reported as violators
|
|
297
|
+
additionalProperties: false
|
|
298
|
+
required:
|
|
299
|
+
- job definition
|
|
300
|
+
- test results
|
|
301
|
+
additionalProperties: false
|
|
302
|
+
- type: 'null'
|
|
303
|
+
how to request that the page be retested:
|
|
304
|
+
anyOf:
|
|
305
|
+
- anyOf:
|
|
306
|
+
- type: object
|
|
307
|
+
properties:
|
|
308
|
+
notice:
|
|
309
|
+
type: string
|
|
310
|
+
required:
|
|
311
|
+
- notice
|
|
312
|
+
additionalProperties: false
|
|
313
|
+
- type: object
|
|
314
|
+
properties:
|
|
315
|
+
method:
|
|
316
|
+
type: string
|
|
317
|
+
const: POST
|
|
318
|
+
URL:
|
|
319
|
+
type: string
|
|
320
|
+
request body:
|
|
321
|
+
type: object
|
|
322
|
+
properties:
|
|
323
|
+
reason:
|
|
324
|
+
type: string
|
|
325
|
+
required:
|
|
326
|
+
- reason
|
|
327
|
+
additionalProperties: false
|
|
328
|
+
how to check whether the request has been fulfilled:
|
|
329
|
+
type: string
|
|
330
|
+
required:
|
|
331
|
+
- method
|
|
332
|
+
- URL
|
|
333
|
+
- request body
|
|
334
|
+
- how to check whether the request has been fulfilled
|
|
335
|
+
additionalProperties: false
|
|
336
|
+
- type: 'null'
|
|
337
|
+
how a web user can request that the page be retested:
|
|
338
|
+
anyOf:
|
|
339
|
+
- type: object
|
|
340
|
+
properties:
|
|
341
|
+
URL:
|
|
342
|
+
type: string
|
|
343
|
+
required:
|
|
344
|
+
- URL
|
|
345
|
+
additionalProperties: false
|
|
346
|
+
- type: 'null'
|
|
347
|
+
how to get the full report in JSON:
|
|
348
|
+
anyOf:
|
|
349
|
+
- type: object
|
|
350
|
+
properties:
|
|
351
|
+
size of the report in bytes:
|
|
352
|
+
type: number
|
|
353
|
+
method:
|
|
354
|
+
type: string
|
|
355
|
+
const: GET
|
|
356
|
+
URL:
|
|
357
|
+
type: string
|
|
358
|
+
required:
|
|
359
|
+
- size of the report in bytes
|
|
360
|
+
- method
|
|
361
|
+
- URL
|
|
362
|
+
additionalProperties: false
|
|
363
|
+
- type: 'null'
|
|
364
|
+
how a web user can get the full report in JSON:
|
|
365
|
+
anyOf:
|
|
366
|
+
- type: object
|
|
367
|
+
properties:
|
|
368
|
+
URL:
|
|
369
|
+
type: string
|
|
370
|
+
required:
|
|
371
|
+
- URL
|
|
372
|
+
additionalProperties: false
|
|
373
|
+
- type: 'null'
|
|
374
|
+
basics about all issues reported in the report:
|
|
375
|
+
type: array
|
|
376
|
+
items:
|
|
377
|
+
type: object
|
|
378
|
+
properties:
|
|
379
|
+
identifier:
|
|
380
|
+
type: string
|
|
381
|
+
summary:
|
|
382
|
+
type: string
|
|
383
|
+
impact on a user:
|
|
384
|
+
type: string
|
|
385
|
+
priority:
|
|
386
|
+
type: string
|
|
387
|
+
enum:
|
|
388
|
+
- lowest
|
|
389
|
+
- low
|
|
390
|
+
- high
|
|
391
|
+
- highest
|
|
392
|
+
rule engines with any violations belonging to the issue:
|
|
393
|
+
type: array
|
|
394
|
+
items:
|
|
395
|
+
type: string
|
|
396
|
+
how to get details about the issue:
|
|
397
|
+
type: object
|
|
398
|
+
properties:
|
|
399
|
+
method:
|
|
400
|
+
type: string
|
|
401
|
+
const: GET
|
|
402
|
+
URL:
|
|
403
|
+
type: string
|
|
404
|
+
required:
|
|
405
|
+
- method
|
|
406
|
+
- URL
|
|
407
|
+
additionalProperties: false
|
|
408
|
+
web users can get details about the issue at:
|
|
409
|
+
type: string
|
|
410
|
+
required:
|
|
411
|
+
- identifier
|
|
412
|
+
- summary
|
|
413
|
+
- impact on a user
|
|
414
|
+
- priority
|
|
415
|
+
- rule engines with any violations belonging to the issue
|
|
416
|
+
- how to get details about the issue
|
|
417
|
+
- web users can get details about the issue at
|
|
418
|
+
additionalProperties: false
|
|
419
|
+
required:
|
|
420
|
+
- basics about the report
|
|
421
|
+
- details about the report
|
|
422
|
+
- how to request that the page be retested
|
|
423
|
+
- how a web user can request that the page be retested
|
|
424
|
+
- how to get the full report in JSON
|
|
425
|
+
- how a web user can get the full report in JSON
|
|
426
|
+
- basics about all issues reported in the report
|
|
427
|
+
additionalProperties: false
|
|
428
|
+
required:
|
|
429
|
+
- tool collection
|
|
430
|
+
- tool name
|
|
431
|
+
- this request
|
|
432
|
+
- URLs of similar requests for web users
|
|
433
|
+
- response metadata
|
|
434
|
+
- response content
|
|
435
|
+
additionalProperties: false
|
|
436
|
+
/api/listViolators/{issueID}/{timeStamp}/{jobID}:
|
|
437
|
+
get:
|
|
438
|
+
operationId: listViolators
|
|
439
|
+
summary: List elements reported as exhibiting one issue
|
|
440
|
+
parameters:
|
|
441
|
+
- in: path
|
|
442
|
+
name: issueID
|
|
443
|
+
schema:
|
|
444
|
+
type: string
|
|
445
|
+
description: 'Issue identifier (example: contrastPoor)'
|
|
446
|
+
required: true
|
|
447
|
+
description: 'Issue identifier (example: contrastPoor)'
|
|
448
|
+
- in: path
|
|
449
|
+
name: timeStamp
|
|
450
|
+
schema:
|
|
451
|
+
type: string
|
|
452
|
+
description: 'Timestamp of the report in YYMMDDTHHmm format (example: 260503T0432)'
|
|
453
|
+
required: true
|
|
454
|
+
description: 'Timestamp of the report in YYMMDDTHHmm format (example: 260503T0432)'
|
|
455
|
+
- in: path
|
|
456
|
+
name: jobID
|
|
457
|
+
schema:
|
|
458
|
+
type: string
|
|
459
|
+
description: 'Job identifier of the report (example: x9z)'
|
|
460
|
+
required: true
|
|
461
|
+
description: 'Job identifier of the report (example: x9z)'
|
|
61
462
|
responses:
|
|
62
463
|
'200':
|
|
63
|
-
description:
|
|
464
|
+
description: List elements reported as exhibiting one issue
|
|
64
465
|
content:
|
|
65
466
|
application/json:
|
|
66
467
|
schema:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
468
|
+
type: object
|
|
469
|
+
properties:
|
|
470
|
+
tool collection:
|
|
471
|
+
$ref: '#/components/schemas/ToolsFacts'
|
|
472
|
+
tool name:
|
|
473
|
+
type: string
|
|
474
|
+
this request:
|
|
475
|
+
type: object
|
|
476
|
+
properties:
|
|
477
|
+
description:
|
|
478
|
+
type: string
|
|
479
|
+
method:
|
|
480
|
+
type: string
|
|
481
|
+
const: GET
|
|
482
|
+
URL:
|
|
483
|
+
type: string
|
|
484
|
+
closest ancestor request:
|
|
485
|
+
anyOf:
|
|
486
|
+
- $ref: '#/components/schemas/RequestReference'
|
|
487
|
+
- type: 'null'
|
|
488
|
+
required:
|
|
489
|
+
- description
|
|
490
|
+
- method
|
|
491
|
+
- URL
|
|
492
|
+
- closest ancestor request
|
|
493
|
+
additionalProperties: false
|
|
494
|
+
URLs of similar requests for web users:
|
|
495
|
+
$ref: '#/components/schemas/SimilarWebRequests'
|
|
496
|
+
response metadata:
|
|
497
|
+
$ref: '#/components/schemas/ResponseMetadata'
|
|
498
|
+
response content:
|
|
499
|
+
type: object
|
|
500
|
+
properties:
|
|
501
|
+
basics about the report:
|
|
502
|
+
$ref: '#/components/schemas/ReportBasicsOrError'
|
|
503
|
+
basics about the issue:
|
|
504
|
+
$ref: '#/components/schemas/IssueBasicsOrError'
|
|
505
|
+
details about the issue:
|
|
506
|
+
anyOf:
|
|
507
|
+
- type: object
|
|
508
|
+
properties:
|
|
509
|
+
rule engines reporting violations belonging to the issue:
|
|
510
|
+
type: array
|
|
511
|
+
items:
|
|
512
|
+
$ref: '#/components/schemas/RuleEngineFacts'
|
|
513
|
+
required:
|
|
514
|
+
- rule engines reporting violations belonging to the issue
|
|
515
|
+
additionalProperties: false
|
|
516
|
+
- type: 'null'
|
|
517
|
+
basics about all elements reported as exhibiting the issue:
|
|
518
|
+
anyOf:
|
|
519
|
+
- type: array
|
|
520
|
+
items:
|
|
521
|
+
type: object
|
|
522
|
+
properties:
|
|
523
|
+
identifier:
|
|
524
|
+
type: string
|
|
525
|
+
tag name:
|
|
526
|
+
description: Copied from the report catalog entry; type not guaranteed.
|
|
527
|
+
inner text:
|
|
528
|
+
description: Copied from the report catalog entry; type not guaranteed.
|
|
529
|
+
count of rule engines reporting that the element exhibited the issue:
|
|
530
|
+
type: number
|
|
531
|
+
how to get details about the element:
|
|
532
|
+
type: object
|
|
533
|
+
properties:
|
|
534
|
+
URL:
|
|
535
|
+
type: string
|
|
536
|
+
request method:
|
|
537
|
+
type: string
|
|
538
|
+
const: GET
|
|
539
|
+
required:
|
|
540
|
+
- URL
|
|
541
|
+
- request method
|
|
542
|
+
additionalProperties: false
|
|
543
|
+
web users can get details about the element at:
|
|
544
|
+
type: string
|
|
545
|
+
required:
|
|
546
|
+
- identifier
|
|
547
|
+
- tag name
|
|
548
|
+
- inner text
|
|
549
|
+
- count of rule engines reporting that the element exhibited the issue
|
|
550
|
+
- how to get details about the element
|
|
551
|
+
- web users can get details about the element at
|
|
552
|
+
additionalProperties: false
|
|
553
|
+
- type: 'null'
|
|
554
|
+
required:
|
|
555
|
+
- basics about the report
|
|
556
|
+
- basics about the issue
|
|
557
|
+
- details about the issue
|
|
558
|
+
- basics about all elements reported as exhibiting the issue
|
|
559
|
+
additionalProperties: false
|
|
560
|
+
required:
|
|
561
|
+
- tool collection
|
|
562
|
+
- tool name
|
|
563
|
+
- this request
|
|
564
|
+
- URLs of similar requests for web users
|
|
565
|
+
- response metadata
|
|
566
|
+
- response content
|
|
567
|
+
additionalProperties: false
|
|
568
|
+
/api/listDiagnoses/{catalogIndex}/{issueID}/{timeStamp}/{jobID}:
|
|
70
569
|
get:
|
|
71
|
-
operationId:
|
|
72
|
-
summary:
|
|
73
|
-
description: Summarize one report. The summary should briefly describe the testing job and the results, including the rule engines that tested the web page and the issues that were revealed by the reported rule violations, and provide URLs for getting details about issues. The timeStamp and jobID parameters identify the report and were obtained from the response to a listAllAvailableReports operation.
|
|
570
|
+
operationId: listDiagnoses
|
|
571
|
+
summary: List diagnoses of how one element exhibited one issue
|
|
74
572
|
parameters:
|
|
75
|
-
-
|
|
76
|
-
|
|
573
|
+
- in: path
|
|
574
|
+
name: catalogIndex
|
|
575
|
+
schema:
|
|
576
|
+
type: string
|
|
577
|
+
description: 'Identifier of the issue-exhibiting element in the catalog of elements on the page (example: 372)'
|
|
578
|
+
required: true
|
|
579
|
+
description: 'Identifier of the issue-exhibiting element in the catalog of elements on the page (example: 372)'
|
|
580
|
+
- in: path
|
|
581
|
+
name: issueID
|
|
582
|
+
schema:
|
|
583
|
+
type: string
|
|
584
|
+
description: 'Issue identifier (example: contrastPoor)'
|
|
77
585
|
required: true
|
|
78
|
-
description:
|
|
586
|
+
description: 'Issue identifier (example: contrastPoor)'
|
|
587
|
+
- in: path
|
|
588
|
+
name: timeStamp
|
|
79
589
|
schema:
|
|
80
590
|
type: string
|
|
81
|
-
|
|
82
|
-
examples:
|
|
83
|
-
- 260503T0432
|
|
84
|
-
- name: jobID
|
|
85
|
-
in: path
|
|
591
|
+
description: 'Timestamp of the report in YYMMDDTHHmm format (example: 260503T0432)'
|
|
86
592
|
required: true
|
|
87
|
-
description:
|
|
593
|
+
description: 'Timestamp of the report in YYMMDDTHHmm format (example: 260503T0432)'
|
|
594
|
+
- in: path
|
|
595
|
+
name: jobID
|
|
88
596
|
schema:
|
|
89
597
|
type: string
|
|
90
|
-
|
|
91
|
-
|
|
598
|
+
description: 'Job identifier of the report (example: x9z)'
|
|
599
|
+
required: true
|
|
600
|
+
description: 'Job identifier of the report (example: x9z)'
|
|
92
601
|
responses:
|
|
93
602
|
'200':
|
|
94
|
-
description:
|
|
603
|
+
description: List diagnoses of how one element exhibited one issue
|
|
95
604
|
content:
|
|
96
605
|
application/json:
|
|
97
606
|
schema:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
607
|
+
type: object
|
|
608
|
+
properties:
|
|
609
|
+
tool collection:
|
|
610
|
+
$ref: '#/components/schemas/ToolsFacts'
|
|
611
|
+
tool name:
|
|
612
|
+
type: string
|
|
613
|
+
this request:
|
|
614
|
+
type: object
|
|
615
|
+
properties:
|
|
616
|
+
description:
|
|
617
|
+
type: string
|
|
618
|
+
method:
|
|
619
|
+
type: string
|
|
620
|
+
const: GET
|
|
621
|
+
URL:
|
|
622
|
+
type: string
|
|
623
|
+
closest ancestor request:
|
|
624
|
+
anyOf:
|
|
625
|
+
- $ref: '#/components/schemas/RequestReference'
|
|
626
|
+
- type: 'null'
|
|
627
|
+
required:
|
|
628
|
+
- description
|
|
629
|
+
- method
|
|
630
|
+
- URL
|
|
631
|
+
- closest ancestor request
|
|
632
|
+
additionalProperties: false
|
|
633
|
+
URLs of similar requests for web users:
|
|
634
|
+
$ref: '#/components/schemas/SimilarWebRequests'
|
|
635
|
+
response metadata:
|
|
636
|
+
$ref: '#/components/schemas/ResponseMetadata'
|
|
637
|
+
response content:
|
|
638
|
+
type: object
|
|
639
|
+
properties:
|
|
640
|
+
basics about the report:
|
|
641
|
+
$ref: '#/components/schemas/ReportBasicsOrError'
|
|
642
|
+
basics about the issue:
|
|
643
|
+
$ref: '#/components/schemas/IssueBasicsOrError'
|
|
644
|
+
basics about the element:
|
|
645
|
+
anyOf:
|
|
646
|
+
- anyOf:
|
|
647
|
+
- type: object
|
|
648
|
+
properties:
|
|
649
|
+
identifier:
|
|
650
|
+
type: string
|
|
651
|
+
tag name:
|
|
652
|
+
description: Copied from the report catalog entry; type not guaranteed.
|
|
653
|
+
inner text:
|
|
654
|
+
description: Copied from the report catalog entry; type not guaranteed.
|
|
655
|
+
required:
|
|
656
|
+
- identifier
|
|
657
|
+
- tag name
|
|
658
|
+
- inner text
|
|
659
|
+
additionalProperties: false
|
|
660
|
+
- type: object
|
|
661
|
+
properties:
|
|
662
|
+
error:
|
|
663
|
+
type: string
|
|
664
|
+
required:
|
|
665
|
+
- error
|
|
666
|
+
additionalProperties: false
|
|
667
|
+
- type: 'null'
|
|
668
|
+
details about the element:
|
|
669
|
+
anyOf:
|
|
670
|
+
- type: object
|
|
671
|
+
properties:
|
|
672
|
+
start tag:
|
|
673
|
+
description: Copied from the report catalog entry; type not guaranteed.
|
|
674
|
+
XPath:
|
|
675
|
+
description: Copied from the report catalog entry; type not guaranteed.
|
|
676
|
+
x, y, width, and height of bounding box:
|
|
677
|
+
description: Copied from the report catalog entry; type not guaranteed.
|
|
678
|
+
required:
|
|
679
|
+
- start tag
|
|
680
|
+
- XPath
|
|
681
|
+
- x, y, width, and height of bounding box
|
|
682
|
+
additionalProperties: false
|
|
683
|
+
- type: 'null'
|
|
684
|
+
diagnoses of how the element exhibited the issue:
|
|
685
|
+
anyOf:
|
|
686
|
+
- type: array
|
|
687
|
+
items:
|
|
688
|
+
type: object
|
|
689
|
+
properties:
|
|
690
|
+
identifier of the violated rule:
|
|
691
|
+
description: Copied from the report instance (ruleID); type not guaranteed.
|
|
692
|
+
description of the violation:
|
|
693
|
+
description: Copied from the report instance (what); type not guaranteed.
|
|
694
|
+
severity of the violation on a 0-to-3 scale:
|
|
695
|
+
description: Copied from the report instance (ordinalSeverity); type not guaranteed.
|
|
696
|
+
count of violations of the rule by the element:
|
|
697
|
+
type: number
|
|
698
|
+
required:
|
|
699
|
+
- identifier of the violated rule
|
|
700
|
+
- description of the violation
|
|
701
|
+
- severity of the violation on a 0-to-3 scale
|
|
702
|
+
- count of violations of the rule by the element
|
|
703
|
+
additionalProperties: false
|
|
704
|
+
- type: object
|
|
705
|
+
properties:
|
|
706
|
+
error:
|
|
707
|
+
type: string
|
|
708
|
+
required:
|
|
709
|
+
- error
|
|
710
|
+
additionalProperties: false
|
|
711
|
+
required:
|
|
712
|
+
- basics about the report
|
|
713
|
+
- basics about the issue
|
|
714
|
+
- basics about the element
|
|
715
|
+
- details about the element
|
|
716
|
+
- diagnoses of how the element exhibited the issue
|
|
717
|
+
additionalProperties: false
|
|
718
|
+
required:
|
|
719
|
+
- tool collection
|
|
720
|
+
- tool name
|
|
721
|
+
- this request
|
|
722
|
+
- URLs of similar requests for web users
|
|
723
|
+
- response metadata
|
|
724
|
+
- response content
|
|
725
|
+
additionalProperties: false
|
|
726
|
+
/api/getReport/{timeStamp}/{jobID}:
|
|
103
727
|
get:
|
|
104
|
-
operationId:
|
|
105
|
-
summary:
|
|
106
|
-
description: Get issue-specific data from a specified report about the front-end quality (i.e. accessibility, usability, and standards conformity) of a web page. The data describe the issue, all of the HTML elements of the page that have the issue, and, for each such element, URLs for retrieving diagnoses by rule engines of the issue on the element.
|
|
728
|
+
operationId: getReport
|
|
729
|
+
summary: Get one full report in JSON
|
|
107
730
|
parameters:
|
|
108
|
-
-
|
|
109
|
-
|
|
731
|
+
- in: path
|
|
732
|
+
name: timeStamp
|
|
733
|
+
schema:
|
|
734
|
+
type: string
|
|
735
|
+
description: 'Timestamp of the report in YYMMDDTHHmm format (example: 260503T0432)'
|
|
110
736
|
required: true
|
|
111
|
-
description:
|
|
737
|
+
description: 'Timestamp of the report in YYMMDDTHHmm format (example: 260503T0432)'
|
|
738
|
+
- in: path
|
|
739
|
+
name: jobID
|
|
112
740
|
schema:
|
|
113
741
|
type: string
|
|
114
|
-
|
|
115
|
-
- imageNoText
|
|
116
|
-
- name: timeStamp
|
|
117
|
-
in: path
|
|
742
|
+
description: 'Job identifier of the report (example: x9z)'
|
|
118
743
|
required: true
|
|
744
|
+
description: 'Job identifier of the report (example: x9z)'
|
|
745
|
+
responses:
|
|
746
|
+
'200':
|
|
747
|
+
description: Get one full report in JSON
|
|
748
|
+
content:
|
|
749
|
+
application/json:
|
|
750
|
+
schema:
|
|
751
|
+
type: object
|
|
752
|
+
properties:
|
|
753
|
+
tool collection:
|
|
754
|
+
$ref: '#/components/schemas/ToolsFacts'
|
|
755
|
+
tool name:
|
|
756
|
+
type: string
|
|
757
|
+
this request:
|
|
758
|
+
type: object
|
|
759
|
+
properties:
|
|
760
|
+
description:
|
|
761
|
+
type: string
|
|
762
|
+
method:
|
|
763
|
+
type: string
|
|
764
|
+
const: GET
|
|
765
|
+
URL:
|
|
766
|
+
type: string
|
|
767
|
+
closest ancestor request:
|
|
768
|
+
anyOf:
|
|
769
|
+
- $ref: '#/components/schemas/RequestReference'
|
|
770
|
+
- type: 'null'
|
|
771
|
+
required:
|
|
772
|
+
- description
|
|
773
|
+
- method
|
|
774
|
+
- URL
|
|
775
|
+
- closest ancestor request
|
|
776
|
+
additionalProperties: false
|
|
777
|
+
URLs of similar requests for web users:
|
|
778
|
+
$ref: '#/components/schemas/SimilarWebRequests'
|
|
779
|
+
response metadata:
|
|
780
|
+
$ref: '#/components/schemas/ResponseMetadata'
|
|
781
|
+
response content:
|
|
782
|
+
type: object
|
|
783
|
+
properties:
|
|
784
|
+
size of the report in bytes:
|
|
785
|
+
anyOf:
|
|
786
|
+
- type: number
|
|
787
|
+
- type: string
|
|
788
|
+
full report:
|
|
789
|
+
description: The full raw Testaro/Testilo report JSON, copied verbatim, or an error object if it could not be retrieved.
|
|
790
|
+
required:
|
|
791
|
+
- size of the report in bytes
|
|
792
|
+
- full report
|
|
793
|
+
additionalProperties: false
|
|
794
|
+
required:
|
|
795
|
+
- tool collection
|
|
796
|
+
- tool name
|
|
797
|
+
- this request
|
|
798
|
+
- URLs of similar requests for web users
|
|
799
|
+
- response metadata
|
|
800
|
+
- response content
|
|
801
|
+
additionalProperties: false
|
|
802
|
+
/api/requestTest:
|
|
803
|
+
post:
|
|
804
|
+
operationId: requestTest
|
|
805
|
+
summary: Request that a page be tested
|
|
806
|
+
requestBody:
|
|
807
|
+
content:
|
|
808
|
+
application/json:
|
|
809
|
+
schema:
|
|
810
|
+
type: object
|
|
811
|
+
properties:
|
|
812
|
+
description:
|
|
813
|
+
type: string
|
|
814
|
+
description: 10- to 100-character description of the page conforming to the naming convention used in the listReports output
|
|
815
|
+
URL:
|
|
816
|
+
type: string
|
|
817
|
+
description: 12- to 300-character URL of the page, including the https:// scheme and any query
|
|
818
|
+
reason:
|
|
819
|
+
type: string
|
|
820
|
+
description: 20- to 100-character reason why the page should be tested
|
|
821
|
+
required:
|
|
822
|
+
- description
|
|
823
|
+
- URL
|
|
824
|
+
- reason
|
|
825
|
+
responses:
|
|
826
|
+
'200':
|
|
827
|
+
description: Request that a page be tested
|
|
828
|
+
content:
|
|
829
|
+
application/json:
|
|
830
|
+
schema:
|
|
831
|
+
type: object
|
|
832
|
+
properties:
|
|
833
|
+
tool collection:
|
|
834
|
+
$ref: '#/components/schemas/ToolsFacts'
|
|
835
|
+
tool name:
|
|
836
|
+
type: string
|
|
837
|
+
this request:
|
|
838
|
+
type: object
|
|
839
|
+
properties:
|
|
840
|
+
description:
|
|
841
|
+
type: string
|
|
842
|
+
method:
|
|
843
|
+
type: string
|
|
844
|
+
const: POST
|
|
845
|
+
URL:
|
|
846
|
+
type: string
|
|
847
|
+
body:
|
|
848
|
+
type: object
|
|
849
|
+
properties:
|
|
850
|
+
description:
|
|
851
|
+
type: string
|
|
852
|
+
description: 10- to 100-character description of the page conforming to the naming convention used in the listReports output
|
|
853
|
+
URL:
|
|
854
|
+
type: string
|
|
855
|
+
description: 12- to 300-character URL of the page, including the https:// scheme and any query
|
|
856
|
+
reason:
|
|
857
|
+
type: string
|
|
858
|
+
description: 20- to 100-character reason why the page should be tested
|
|
859
|
+
required:
|
|
860
|
+
- description
|
|
861
|
+
- URL
|
|
862
|
+
- reason
|
|
863
|
+
additionalProperties: false
|
|
864
|
+
closest ancestor request:
|
|
865
|
+
anyOf:
|
|
866
|
+
- $ref: '#/components/schemas/RequestReference'
|
|
867
|
+
- type: 'null'
|
|
868
|
+
required:
|
|
869
|
+
- description
|
|
870
|
+
- method
|
|
871
|
+
- URL
|
|
872
|
+
- body
|
|
873
|
+
- closest ancestor request
|
|
874
|
+
additionalProperties: false
|
|
875
|
+
URLs of similar requests for web users:
|
|
876
|
+
$ref: '#/components/schemas/SimilarWebRequests'
|
|
877
|
+
response metadata:
|
|
878
|
+
$ref: '#/components/schemas/ResponseMetadata'
|
|
879
|
+
response content:
|
|
880
|
+
type: object
|
|
881
|
+
properties:
|
|
882
|
+
details about your request:
|
|
883
|
+
anyOf:
|
|
884
|
+
- type: object
|
|
885
|
+
properties:
|
|
886
|
+
error:
|
|
887
|
+
type: string
|
|
888
|
+
required:
|
|
889
|
+
- error
|
|
890
|
+
additionalProperties: false
|
|
891
|
+
- type: object
|
|
892
|
+
properties:
|
|
893
|
+
date and time received:
|
|
894
|
+
type: string
|
|
895
|
+
page to be tested:
|
|
896
|
+
type: object
|
|
897
|
+
properties:
|
|
898
|
+
description:
|
|
899
|
+
type: string
|
|
900
|
+
URL:
|
|
901
|
+
type: string
|
|
902
|
+
required:
|
|
903
|
+
- description
|
|
904
|
+
- URL
|
|
905
|
+
additionalProperties: false
|
|
906
|
+
reason why the page should be tested:
|
|
907
|
+
type: string
|
|
908
|
+
required:
|
|
909
|
+
- date and time received
|
|
910
|
+
- page to be tested
|
|
911
|
+
- reason why the page should be tested
|
|
912
|
+
additionalProperties: false
|
|
913
|
+
required:
|
|
914
|
+
- details about your request
|
|
915
|
+
additionalProperties: false
|
|
916
|
+
required:
|
|
917
|
+
- tool collection
|
|
918
|
+
- tool name
|
|
919
|
+
- this request
|
|
920
|
+
- URLs of similar requests for web users
|
|
921
|
+
- response metadata
|
|
922
|
+
- response content
|
|
923
|
+
additionalProperties: false
|
|
924
|
+
/api/requestRetest/{timeStamp}/{jobID}:
|
|
925
|
+
post:
|
|
926
|
+
operationId: requestRetest
|
|
927
|
+
summary: Request that a page be retested
|
|
928
|
+
parameters:
|
|
929
|
+
- in: path
|
|
930
|
+
name: timeStamp
|
|
119
931
|
schema:
|
|
120
932
|
type: string
|
|
121
|
-
|
|
122
|
-
- 20271124T1647
|
|
123
|
-
- name: jobID
|
|
124
|
-
in: path
|
|
933
|
+
description: 'Timestamp of the latest report about the page in YYMMDDTHHmm format (example: 260503T0432)'
|
|
125
934
|
required: true
|
|
935
|
+
description: 'Timestamp of the latest report about the page in YYMMDDTHHmm format (example: 260503T0432)'
|
|
936
|
+
- in: path
|
|
937
|
+
name: jobID
|
|
126
938
|
schema:
|
|
127
939
|
type: string
|
|
128
|
-
|
|
129
|
-
|
|
940
|
+
description: 'Job identifier of the latest report about the page (example: x9z)'
|
|
941
|
+
required: true
|
|
942
|
+
description: 'Job identifier of the latest report about the page (example: x9z)'
|
|
943
|
+
requestBody:
|
|
944
|
+
content:
|
|
945
|
+
application/json:
|
|
946
|
+
schema:
|
|
947
|
+
type: object
|
|
948
|
+
properties:
|
|
949
|
+
reason:
|
|
950
|
+
type: string
|
|
951
|
+
description: 20- to 100-character reason why the page should be retested
|
|
952
|
+
required:
|
|
953
|
+
- reason
|
|
130
954
|
responses:
|
|
131
955
|
'200':
|
|
132
|
-
description:
|
|
956
|
+
description: Request that a page be retested
|
|
133
957
|
content:
|
|
134
958
|
application/json:
|
|
135
959
|
schema:
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
960
|
+
type: object
|
|
961
|
+
properties:
|
|
962
|
+
tool collection:
|
|
963
|
+
$ref: '#/components/schemas/ToolsFacts'
|
|
964
|
+
tool name:
|
|
965
|
+
type: string
|
|
966
|
+
this request:
|
|
967
|
+
type: object
|
|
968
|
+
properties:
|
|
969
|
+
description:
|
|
970
|
+
type: string
|
|
971
|
+
method:
|
|
972
|
+
type: string
|
|
973
|
+
const: POST
|
|
974
|
+
URL:
|
|
975
|
+
type: string
|
|
976
|
+
body:
|
|
977
|
+
type: object
|
|
978
|
+
properties:
|
|
979
|
+
reason:
|
|
980
|
+
type: string
|
|
981
|
+
description: 20- to 100-character reason why the page should be retested
|
|
982
|
+
required:
|
|
983
|
+
- reason
|
|
984
|
+
additionalProperties: false
|
|
985
|
+
closest ancestor request:
|
|
986
|
+
anyOf:
|
|
987
|
+
- $ref: '#/components/schemas/RequestReference'
|
|
988
|
+
- type: 'null'
|
|
989
|
+
required:
|
|
990
|
+
- description
|
|
991
|
+
- method
|
|
992
|
+
- URL
|
|
993
|
+
- body
|
|
994
|
+
- closest ancestor request
|
|
995
|
+
additionalProperties: false
|
|
996
|
+
URLs of similar requests for web users:
|
|
997
|
+
$ref: '#/components/schemas/SimilarWebRequests'
|
|
998
|
+
response metadata:
|
|
999
|
+
$ref: '#/components/schemas/ResponseMetadata'
|
|
1000
|
+
response content:
|
|
1001
|
+
type: object
|
|
1002
|
+
properties:
|
|
1003
|
+
details about your request:
|
|
1004
|
+
anyOf:
|
|
1005
|
+
- type: object
|
|
1006
|
+
properties:
|
|
1007
|
+
error:
|
|
1008
|
+
type: string
|
|
1009
|
+
required:
|
|
1010
|
+
- error
|
|
1011
|
+
additionalProperties: false
|
|
1012
|
+
- type: object
|
|
1013
|
+
properties:
|
|
1014
|
+
date and time received:
|
|
1015
|
+
type: string
|
|
1016
|
+
page to be retested:
|
|
1017
|
+
type: object
|
|
1018
|
+
properties:
|
|
1019
|
+
description:
|
|
1020
|
+
type: string
|
|
1021
|
+
URL:
|
|
1022
|
+
type: string
|
|
1023
|
+
required:
|
|
1024
|
+
- description
|
|
1025
|
+
- URL
|
|
1026
|
+
additionalProperties: false
|
|
1027
|
+
reason why the page should be retested:
|
|
1028
|
+
type: string
|
|
1029
|
+
required:
|
|
1030
|
+
- date and time received
|
|
1031
|
+
- page to be retested
|
|
1032
|
+
- reason why the page should be retested
|
|
1033
|
+
additionalProperties: false
|
|
1034
|
+
required:
|
|
1035
|
+
- details about your request
|
|
1036
|
+
additionalProperties: false
|
|
1037
|
+
required:
|
|
1038
|
+
- tool collection
|
|
1039
|
+
- tool name
|
|
1040
|
+
- this request
|
|
1041
|
+
- URLs of similar requests for web users
|
|
1042
|
+
- response metadata
|
|
1043
|
+
- response content
|
|
1044
|
+
additionalProperties: false
|
|
1045
|
+
/api/requestFeature:
|
|
1046
|
+
post:
|
|
1047
|
+
operationId: requestFeature
|
|
1048
|
+
summary: Request a new feature or feature improvement
|
|
1049
|
+
requestBody:
|
|
1050
|
+
content:
|
|
1051
|
+
application/json:
|
|
1052
|
+
schema:
|
|
1053
|
+
type: object
|
|
1054
|
+
properties:
|
|
1055
|
+
request:
|
|
1056
|
+
type: string
|
|
1057
|
+
description: description of requested new feature or feature improvement
|
|
1058
|
+
required:
|
|
1059
|
+
- request
|
|
1060
|
+
responses:
|
|
1061
|
+
'200':
|
|
1062
|
+
description: Request a new feature or feature improvement
|
|
1063
|
+
content:
|
|
1064
|
+
application/json:
|
|
1065
|
+
schema:
|
|
1066
|
+
type: object
|
|
1067
|
+
properties:
|
|
1068
|
+
tool collection:
|
|
1069
|
+
$ref: '#/components/schemas/ToolsFacts'
|
|
1070
|
+
tool name:
|
|
1071
|
+
type: string
|
|
1072
|
+
this request:
|
|
1073
|
+
type: object
|
|
1074
|
+
properties:
|
|
1075
|
+
description:
|
|
1076
|
+
type: string
|
|
1077
|
+
method:
|
|
1078
|
+
type: string
|
|
1079
|
+
const: POST
|
|
1080
|
+
URL:
|
|
1081
|
+
type: string
|
|
1082
|
+
body:
|
|
1083
|
+
type: object
|
|
1084
|
+
properties:
|
|
1085
|
+
request:
|
|
1086
|
+
type: string
|
|
1087
|
+
description: description of requested new feature or feature improvement
|
|
1088
|
+
required:
|
|
1089
|
+
- request
|
|
1090
|
+
additionalProperties: false
|
|
1091
|
+
closest ancestor request:
|
|
1092
|
+
anyOf:
|
|
1093
|
+
- $ref: '#/components/schemas/RequestReference'
|
|
1094
|
+
- type: 'null'
|
|
1095
|
+
required:
|
|
1096
|
+
- description
|
|
1097
|
+
- method
|
|
1098
|
+
- URL
|
|
1099
|
+
- body
|
|
1100
|
+
- closest ancestor request
|
|
1101
|
+
additionalProperties: false
|
|
1102
|
+
URLs of similar requests for web users:
|
|
1103
|
+
$ref: '#/components/schemas/SimilarWebRequests'
|
|
1104
|
+
response metadata:
|
|
1105
|
+
$ref: '#/components/schemas/ResponseMetadata'
|
|
1106
|
+
response content:
|
|
1107
|
+
type: object
|
|
1108
|
+
properties:
|
|
1109
|
+
details about your request:
|
|
1110
|
+
anyOf:
|
|
1111
|
+
- type: object
|
|
1112
|
+
properties:
|
|
1113
|
+
error:
|
|
1114
|
+
type: string
|
|
1115
|
+
required:
|
|
1116
|
+
- error
|
|
1117
|
+
additionalProperties: false
|
|
1118
|
+
- type: object
|
|
1119
|
+
properties:
|
|
1120
|
+
date and time received:
|
|
1121
|
+
type: string
|
|
1122
|
+
disposition:
|
|
1123
|
+
type: string
|
|
1124
|
+
required:
|
|
1125
|
+
- date and time received
|
|
1126
|
+
- disposition
|
|
1127
|
+
additionalProperties: false
|
|
1128
|
+
required:
|
|
1129
|
+
- details about your request
|
|
1130
|
+
additionalProperties: false
|
|
1131
|
+
required:
|
|
1132
|
+
- tool collection
|
|
1133
|
+
- tool name
|
|
1134
|
+
- this request
|
|
1135
|
+
- URLs of similar requests for web users
|
|
1136
|
+
- response metadata
|
|
1137
|
+
- response content
|
|
1138
|
+
additionalProperties: false
|
|
140
1139
|
components:
|
|
141
1140
|
schemas:
|
|
142
|
-
|
|
143
|
-
CommonResponseFields:
|
|
1141
|
+
ToolsFacts:
|
|
144
1142
|
type: object
|
|
145
1143
|
properties:
|
|
146
|
-
|
|
147
|
-
type: string
|
|
148
|
-
description: Natural-language description of this response and of Kilotest. Provides context for an agent encountering Kilotest for the first time.
|
|
149
|
-
tool collection name:
|
|
150
|
-
type: string
|
|
151
|
-
examples:
|
|
152
|
-
- Kilotest
|
|
153
|
-
tool name:
|
|
1144
|
+
name:
|
|
154
1145
|
type: string
|
|
155
|
-
|
|
156
|
-
- listAllAvailableReports
|
|
157
|
-
request:
|
|
1146
|
+
description:
|
|
158
1147
|
type: object
|
|
159
1148
|
properties:
|
|
160
|
-
|
|
1149
|
+
what Kilotest does:
|
|
1150
|
+
type: string
|
|
1151
|
+
how to retrieve findings:
|
|
161
1152
|
type: object
|
|
162
1153
|
properties:
|
|
163
|
-
|
|
1154
|
+
level 1:
|
|
164
1155
|
type: string
|
|
165
|
-
|
|
166
|
-
- reportList
|
|
167
|
-
description:
|
|
1156
|
+
level 2:
|
|
168
1157
|
type: string
|
|
169
|
-
|
|
170
|
-
type: string
|
|
171
|
-
enum:
|
|
172
|
-
- GET
|
|
173
|
-
- POST
|
|
174
|
-
payload:
|
|
175
|
-
type: object
|
|
176
|
-
description: The request payload, if method type is POST, or otherwise omitted.
|
|
177
|
-
URLs:
|
|
178
|
-
type: object
|
|
179
|
-
properties:
|
|
180
|
-
'for you':
|
|
1158
|
+
level 3:
|
|
181
1159
|
type: string
|
|
182
|
-
|
|
1160
|
+
level 4:
|
|
183
1161
|
type: string
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
description:
|
|
192
|
-
type: string
|
|
193
|
-
URLs:
|
|
194
|
-
type: object
|
|
195
|
-
properties:
|
|
196
|
-
'for you':
|
|
197
|
-
type: string
|
|
198
|
-
'for humans':
|
|
199
|
-
type: string
|
|
200
|
-
response metadata:
|
|
201
|
-
type: object
|
|
202
|
-
properties:
|
|
203
|
-
identifier:
|
|
204
|
-
type: string
|
|
205
|
-
description: Unique identifier for this response instance.
|
|
206
|
-
date and time:
|
|
207
|
-
type: string
|
|
208
|
-
description: UTC date and time when the response was generated, in ISO 8601 format.
|
|
209
|
-
format: date-time
|
|
210
|
-
|
|
211
|
-
SharedFacts:
|
|
212
|
-
type: object
|
|
213
|
-
properties:
|
|
214
|
-
summary:
|
|
215
|
-
type: string
|
|
216
|
-
description: Natural-language facts about the request, the response, and Kilotest.
|
|
217
|
-
tool collection name:
|
|
218
|
-
type: string
|
|
219
|
-
examples:
|
|
220
|
-
- Kilotest
|
|
221
|
-
tool name:
|
|
222
|
-
type: string
|
|
223
|
-
examples:
|
|
224
|
-
- listAllAvailableReports
|
|
225
|
-
request:
|
|
226
|
-
type: object
|
|
227
|
-
properties:
|
|
228
|
-
description:
|
|
229
|
-
type: string
|
|
230
|
-
method:
|
|
231
|
-
type: string
|
|
232
|
-
enum:
|
|
233
|
-
- GET
|
|
234
|
-
- POST
|
|
235
|
-
payload:
|
|
236
|
-
type: object
|
|
237
|
-
description: The request payload, if method is POST, or otherwise omitted.
|
|
238
|
-
URLs:
|
|
1162
|
+
required:
|
|
1163
|
+
- level 1
|
|
1164
|
+
- level 2
|
|
1165
|
+
- level 3
|
|
1166
|
+
- level 4
|
|
1167
|
+
additionalProperties: false
|
|
1168
|
+
how to generate more findings:
|
|
239
1169
|
type: object
|
|
240
1170
|
properties:
|
|
241
|
-
|
|
1171
|
+
new testing:
|
|
242
1172
|
type: string
|
|
243
|
-
|
|
1173
|
+
retesting:
|
|
244
1174
|
type: string
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
type: object
|
|
263
|
-
properties:
|
|
264
|
-
identifier:
|
|
265
|
-
type: string
|
|
266
|
-
description: Unique identifier for this response instance.
|
|
267
|
-
date and time:
|
|
268
|
-
type: string
|
|
269
|
-
description: UTC date and time when the response was generated, in ISO 8601 format.
|
|
270
|
-
format: date-time
|
|
271
|
-
|
|
272
|
-
TestRecForm:
|
|
273
|
-
type: object
|
|
274
|
-
properties:
|
|
275
|
-
description of the web page:
|
|
276
|
-
type: string
|
|
277
|
-
description: Description of the web page to be tested.
|
|
278
|
-
URL of the web page:
|
|
1175
|
+
latency:
|
|
1176
|
+
type: string
|
|
1177
|
+
confirmation:
|
|
1178
|
+
type: string
|
|
1179
|
+
required:
|
|
1180
|
+
- new testing
|
|
1181
|
+
- retesting
|
|
1182
|
+
- latency
|
|
1183
|
+
- confirmation
|
|
1184
|
+
additionalProperties: false
|
|
1185
|
+
required:
|
|
1186
|
+
- what Kilotest does
|
|
1187
|
+
- how to retrieve findings
|
|
1188
|
+
- how to generate more findings
|
|
1189
|
+
additionalProperties: false
|
|
1190
|
+
description: Explanation of what Kilotest does and how to use its tools.
|
|
1191
|
+
URL:
|
|
279
1192
|
type: string
|
|
280
|
-
description: URL of the
|
|
281
|
-
|
|
1193
|
+
description: URL of the Kilotest MCP server.
|
|
1194
|
+
web users can obtain similar functionalities at:
|
|
282
1195
|
type: string
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
1196
|
+
required:
|
|
1197
|
+
- name
|
|
1198
|
+
- description
|
|
1199
|
+
- URL
|
|
1200
|
+
- web users can obtain similar functionalities at
|
|
1201
|
+
additionalProperties: false
|
|
1202
|
+
RequestReference:
|
|
289
1203
|
type: object
|
|
290
|
-
description: A rule engine in the Kilotest ensemble.
|
|
291
1204
|
properties:
|
|
292
|
-
|
|
1205
|
+
tool name:
|
|
293
1206
|
type: string
|
|
294
|
-
|
|
295
|
-
examples:
|
|
296
|
-
- alfa
|
|
297
|
-
name:
|
|
1207
|
+
description:
|
|
298
1208
|
type: string
|
|
299
|
-
|
|
300
|
-
examples:
|
|
301
|
-
- Alfa
|
|
302
|
-
sponsor:
|
|
1209
|
+
method:
|
|
303
1210
|
type: string
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
- Siteimprove
|
|
307
|
-
|
|
308
|
-
RuleEngineFailure:
|
|
309
|
-
type: object
|
|
310
|
-
description: A rule engine that was unable to complete testing of the page.
|
|
311
|
-
properties:
|
|
312
|
-
name:
|
|
1211
|
+
const: GET
|
|
1212
|
+
URL:
|
|
313
1213
|
type: string
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
RuleEnginesSummary:
|
|
1214
|
+
required:
|
|
1215
|
+
- tool name
|
|
1216
|
+
- description
|
|
1217
|
+
- method
|
|
1218
|
+
- URL
|
|
1219
|
+
additionalProperties: false
|
|
1220
|
+
SimilarWebRequests:
|
|
322
1221
|
type: object
|
|
323
|
-
description: Count and names of a set of rule engines.
|
|
324
1222
|
properties:
|
|
325
|
-
|
|
326
|
-
type: integer
|
|
327
|
-
names:
|
|
328
|
-
type: array
|
|
329
|
-
items:
|
|
330
|
-
type: string
|
|
331
|
-
|
|
332
|
-
NextTierURLs:
|
|
333
|
-
type: object
|
|
334
|
-
description: URLs for retrieving the next level of detail.
|
|
335
|
-
properties:
|
|
336
|
-
for you:
|
|
337
|
-
type: string
|
|
338
|
-
format: uri
|
|
339
|
-
description: URL for an LLM to request the next tier of detail.
|
|
340
|
-
for humans:
|
|
1223
|
+
this request:
|
|
341
1224
|
type: string
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
1225
|
+
description: URL of the equivalent web UI page for this request.
|
|
1226
|
+
closest ancestor request:
|
|
1227
|
+
anyOf:
|
|
1228
|
+
- type: string
|
|
1229
|
+
- type: 'null'
|
|
1230
|
+
required:
|
|
1231
|
+
- this request
|
|
1232
|
+
- closest ancestor request
|
|
1233
|
+
additionalProperties: false
|
|
1234
|
+
ResponseMetadata:
|
|
346
1235
|
type: object
|
|
347
|
-
description: Summary data about a single available report.
|
|
348
1236
|
properties:
|
|
349
1237
|
identifier:
|
|
350
1238
|
type: string
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
creation date:
|
|
1239
|
+
description: Unique identifier of this response (timestamp and random suffix).
|
|
1240
|
+
date and time:
|
|
354
1241
|
type: string
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
1242
|
+
description: UTC date and time when the response was generated, in ISO 8601 format.
|
|
1243
|
+
required:
|
|
1244
|
+
- identifier
|
|
1245
|
+
- date and time
|
|
1246
|
+
additionalProperties: false
|
|
1247
|
+
ReportBasicsOrError:
|
|
1248
|
+
anyOf:
|
|
1249
|
+
- $ref: '#/components/schemas/ReportBasics'
|
|
1250
|
+
- type: object
|
|
360
1251
|
properties:
|
|
361
|
-
|
|
1252
|
+
error:
|
|
362
1253
|
type: string
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
type: boolean
|
|
368
|
-
description: If true, a more recent report about this page is available. If you want the latest results, use that report instead.
|
|
369
|
-
number of issues reported:
|
|
370
|
-
type: integer
|
|
371
|
-
number of HTML elements reported as exhibiting issues:
|
|
372
|
-
type: integer
|
|
373
|
-
rule engines that tried to test the page:
|
|
374
|
-
$ref: '#/components/schemas/RuleEnginesSummary'
|
|
375
|
-
rule engines that were unable to test the page:
|
|
376
|
-
$ref: '#/components/schemas/RuleEnginesSummary'
|
|
377
|
-
rule engines that reported issues:
|
|
378
|
-
$ref: '#/components/schemas/RuleEnginesSummary'
|
|
379
|
-
URLs for getting data about the reported issues:
|
|
380
|
-
$ref: '#/components/schemas/NextTierURLs'
|
|
381
|
-
URL for getting the full technical report as JSON:
|
|
382
|
-
type: string
|
|
383
|
-
format: uri
|
|
384
|
-
|
|
385
|
-
ReportListItem:
|
|
1254
|
+
required:
|
|
1255
|
+
- error
|
|
1256
|
+
additionalProperties: false
|
|
1257
|
+
ReportBasics:
|
|
386
1258
|
type: object
|
|
387
|
-
description: Summary data about a single available report.
|
|
388
1259
|
properties:
|
|
389
1260
|
identifier:
|
|
390
1261
|
type: string
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
creation date and time:
|
|
1262
|
+
description: timeStamp-jobID identifier of the report.
|
|
1263
|
+
completion date and time:
|
|
394
1264
|
type: string
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
type: integer
|
|
1265
|
+
days since the report was completed:
|
|
1266
|
+
type: number
|
|
398
1267
|
tested web page:
|
|
399
1268
|
type: object
|
|
400
1269
|
properties:
|
|
@@ -402,286 +1271,79 @@ components:
|
|
|
402
1271
|
type: string
|
|
403
1272
|
URL:
|
|
404
1273
|
type: string
|
|
405
|
-
|
|
1274
|
+
required:
|
|
1275
|
+
- description
|
|
1276
|
+
- URL
|
|
1277
|
+
additionalProperties: false
|
|
406
1278
|
whether a later report about the same page exists:
|
|
407
1279
|
type: boolean
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
Target:
|
|
1280
|
+
required:
|
|
1281
|
+
- identifier
|
|
1282
|
+
- completion date and time
|
|
1283
|
+
- days since the report was completed
|
|
1284
|
+
- tested web page
|
|
1285
|
+
- whether a later report about the same page exists
|
|
1286
|
+
additionalProperties: false
|
|
1287
|
+
RuleEngineFacts:
|
|
418
1288
|
type: object
|
|
419
|
-
properties:
|
|
420
|
-
description:
|
|
421
|
-
type: string
|
|
422
|
-
description: All or part of a description of the web page. If the page is the home page of an organization, the description is the name of the organization (e.g., “Earthjustice”). Otherwise, the description appends minimal differentiating words to the name of the organization (e.g., “Earthjustice Donate”), without the word “page”.
|
|
423
|
-
hostname:
|
|
424
|
-
type: string
|
|
425
|
-
description: All or part of the hostname of the web page. The hostname omits the scheme and the path.
|
|
426
|
-
|
|
427
|
-
ReportListResponse:
|
|
428
|
-
allOf:
|
|
429
|
-
- $ref: '#/components/schemas/SharedFacts'
|
|
430
|
-
- type: object
|
|
431
|
-
properties:
|
|
432
|
-
response content:
|
|
433
|
-
type: array
|
|
434
|
-
description: One entry per available Kilotest report, in alphabetical order by page description and, in case of multiple reports per page, in order of creation date and time. Whether two reports are about the same page is determined by the page descriptions, not page URLs.
|
|
435
|
-
items:
|
|
436
|
-
$ref: '#/components/schemas/ReportListItem'
|
|
437
|
-
|
|
438
|
-
TargetsResponse:
|
|
439
|
-
allOf:
|
|
440
|
-
- $ref: '#/components/schemas/CommonResponseFields'
|
|
441
|
-
- type: object
|
|
442
|
-
properties:
|
|
443
|
-
matching reports:
|
|
444
|
-
type: array
|
|
445
|
-
description: One entry per available matching Kilotest report. A report is matching if its page description or hostname contains or is contained by a specified description or hostname fragment, respectively.
|
|
446
|
-
items:
|
|
447
|
-
$ref: '#/components/schemas/TargetsItem'
|
|
448
|
-
|
|
449
|
-
IssueEntry:
|
|
450
|
-
type: object
|
|
451
|
-
description: Details about a specific front-end quality issue found on a page.
|
|
452
1289
|
properties:
|
|
453
1290
|
identifier:
|
|
454
1291
|
type: string
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
1292
|
+
name:
|
|
1293
|
+
anyOf:
|
|
1294
|
+
- type: string
|
|
1295
|
+
- type: 'null'
|
|
1296
|
+
sponsor:
|
|
1297
|
+
anyOf:
|
|
1298
|
+
- type: string
|
|
1299
|
+
- type: 'null'
|
|
1300
|
+
required:
|
|
1301
|
+
- identifier
|
|
1302
|
+
- name
|
|
1303
|
+
- sponsor
|
|
1304
|
+
additionalProperties: false
|
|
1305
|
+
IssueBasicsOrError:
|
|
1306
|
+
anyOf:
|
|
1307
|
+
- type: object
|
|
465
1308
|
properties:
|
|
466
|
-
|
|
1309
|
+
identifier:
|
|
467
1310
|
type: string
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
1311
|
+
summary:
|
|
1312
|
+
type: string
|
|
1313
|
+
impact on a user:
|
|
1314
|
+
type: string
|
|
1315
|
+
priority:
|
|
472
1316
|
type: string
|
|
473
|
-
pattern: '^\d\.\d(\.\d+)?$'
|
|
474
|
-
examples:
|
|
475
|
-
- 1.1.1
|
|
476
|
-
impact on a user:
|
|
477
|
-
type: string
|
|
478
|
-
description: How this issue is likely to affect users.
|
|
479
|
-
rule engines reporting the issue:
|
|
480
|
-
$ref: '#/components/schemas/RuleEnginesSummary'
|
|
481
|
-
number of HTML elements reported as exhibiting the issue:
|
|
482
|
-
type: integer
|
|
483
|
-
URLs for details about the issue on the page:
|
|
484
|
-
$ref: '#/components/schemas/NextTierURLs'
|
|
485
|
-
|
|
486
|
-
IssuesByPriority:
|
|
487
|
-
type: object
|
|
488
|
-
properties:
|
|
489
|
-
highest priority:
|
|
490
|
-
type: array
|
|
491
|
-
items:
|
|
492
|
-
$ref: '#/components/schemas/IssueEntry'
|
|
493
|
-
high priority:
|
|
494
|
-
type: array
|
|
495
|
-
items:
|
|
496
|
-
$ref: '#/components/schemas/IssueEntry'
|
|
497
|
-
low priority:
|
|
498
|
-
type: array
|
|
499
|
-
items:
|
|
500
|
-
$ref: '#/components/schemas/IssueEntry'
|
|
501
|
-
lowest priority:
|
|
502
|
-
type: array
|
|
503
|
-
items:
|
|
504
|
-
$ref: '#/components/schemas/IssueEntry'
|
|
505
|
-
|
|
506
|
-
IssueSummary:
|
|
507
|
-
type: object
|
|
508
|
-
properties:
|
|
509
|
-
identifier:
|
|
510
|
-
type: string
|
|
511
|
-
summary:
|
|
512
|
-
type: string
|
|
513
|
-
impact on a user:
|
|
514
|
-
type: string
|
|
515
|
-
priority:
|
|
516
|
-
type: string
|
|
517
|
-
enum:
|
|
518
|
-
- lowest
|
|
519
|
-
- low
|
|
520
|
-
- high
|
|
521
|
-
- highest
|
|
522
|
-
URLs for more details:
|
|
523
|
-
$ref: '#/components/schemas/NextTierURLs'
|
|
524
|
-
|
|
525
|
-
ReportSummaryResponse:
|
|
526
|
-
allOf:
|
|
527
|
-
- $ref: '#/components/schemas/SharedFacts'
|
|
528
|
-
- type: object
|
|
529
|
-
properties:
|
|
530
|
-
response content:
|
|
531
|
-
type: object
|
|
532
|
-
properties:
|
|
533
|
-
rule engines that tried to test the page:
|
|
534
|
-
type: array
|
|
535
|
-
items:
|
|
536
|
-
$ref: '#/components/schemas/RuleEngineInfo'
|
|
537
|
-
rule engines that could not test the page:
|
|
538
|
-
type: array
|
|
539
|
-
items:
|
|
540
|
-
$ref: '#/components/schemas/RuleEngineFailure'
|
|
541
|
-
names of rule engines that reported rule violations:
|
|
542
|
-
type: array
|
|
543
|
-
items:
|
|
544
|
-
type: string
|
|
545
|
-
number of elements reported as violators:
|
|
546
|
-
type: integer
|
|
547
|
-
issues revealed:
|
|
548
|
-
type: array
|
|
549
|
-
items:
|
|
550
|
-
$ref: '#/components/schemas/IssueSummary'
|
|
551
|
-
|
|
552
|
-
HTMLElementDetail:
|
|
553
|
-
type: object
|
|
554
|
-
description: Details about an HTML element reported as exhibiting an issue.
|
|
555
|
-
properties:
|
|
556
|
-
identifier:
|
|
557
|
-
type: string
|
|
558
|
-
description: Unique identifier of the element in the catalog of the report.
|
|
559
|
-
tag name:
|
|
560
|
-
type: string
|
|
561
|
-
examples:
|
|
562
|
-
- IMG
|
|
563
|
-
id attribute:
|
|
564
|
-
type: string
|
|
565
|
-
description: Value of the element's id attribute, if any.
|
|
566
|
-
start tag:
|
|
567
|
-
type: string
|
|
568
|
-
description: The opening tag of the element, including attributes.
|
|
569
|
-
inner text:
|
|
570
|
-
type: string
|
|
571
|
-
description: First and last lines of the inner text, if any, of the element.
|
|
572
|
-
inner text usable as a text fragment for linking:
|
|
573
|
-
type: boolean
|
|
574
|
-
description: Whether the inner text can be used as a text fragment for URL linking.
|
|
575
|
-
x, y, width, height in pixels:
|
|
576
|
-
type: array
|
|
577
|
-
items:
|
|
578
|
-
type: string
|
|
579
|
-
description: Bounding box coordinates and dimensions of the element.
|
|
580
|
-
XPath:
|
|
581
|
-
type: string
|
|
582
|
-
description: XPath of the element in the document.
|
|
583
|
-
|
|
584
|
-
ReportIssueResponse:
|
|
585
|
-
allOf:
|
|
586
|
-
- $ref: '#/components/schemas/CommonResponseFields'
|
|
587
|
-
- type: object
|
|
588
|
-
properties:
|
|
589
|
-
report:
|
|
590
|
-
type: object
|
|
591
|
-
properties:
|
|
592
|
-
identifier:
|
|
593
|
-
type: string
|
|
594
|
-
examples:
|
|
595
|
-
- 20280216T1353-4r9
|
|
596
|
-
creation date:
|
|
597
|
-
type: string
|
|
598
|
-
format: date-time
|
|
599
|
-
days since the creation date:
|
|
600
|
-
type: integer
|
|
601
|
-
tested web page:
|
|
602
|
-
type: object
|
|
603
|
-
properties:
|
|
604
|
-
description:
|
|
605
|
-
type: string
|
|
606
|
-
examples:
|
|
607
|
-
- ARQ Space Exploration Corporation
|
|
608
|
-
- Edlir Velaj PF
|
|
609
|
-
URL:
|
|
610
|
-
type: string
|
|
611
|
-
format: uri
|
|
612
|
-
examples:
|
|
613
|
-
- https://tiendalibros.com/
|
|
614
|
-
rule engines that tried to test the page:
|
|
615
|
-
type: array
|
|
616
|
-
items:
|
|
617
|
-
$ref: '#/components/schemas/RuleEngineInfo'
|
|
618
|
-
rule engines that were unable to test the page:
|
|
619
|
-
type: array
|
|
620
|
-
items:
|
|
621
|
-
$ref: '#/components/schemas/RuleEngineFailure'
|
|
622
|
-
rule engines that reported issues:
|
|
623
|
-
$ref: '#/components/schemas/RuleEnginesSummary'
|
|
624
|
-
number of issues reported:
|
|
625
|
-
type: object
|
|
626
|
-
properties:
|
|
627
|
-
total:
|
|
628
|
-
type: integer
|
|
629
|
-
by priority:
|
|
630
|
-
type: object
|
|
631
|
-
properties:
|
|
632
|
-
highest priority:
|
|
633
|
-
type: integer
|
|
634
|
-
high priority:
|
|
635
|
-
type: integer
|
|
636
|
-
low priority:
|
|
637
|
-
type: integer
|
|
638
|
-
lowest priority:
|
|
639
|
-
type: integer
|
|
640
|
-
number of HTML elements reported as exhibiting issues:
|
|
641
|
-
type: integer
|
|
642
|
-
level of the issue:
|
|
643
|
-
type: integer
|
|
644
1317
|
enum:
|
|
645
|
-
-
|
|
646
|
-
-
|
|
647
|
-
-
|
|
648
|
-
-
|
|
649
|
-
|
|
650
|
-
facts about the issue:
|
|
1318
|
+
- lowest
|
|
1319
|
+
- low
|
|
1320
|
+
- high
|
|
1321
|
+
- highest
|
|
1322
|
+
related WCAG standard:
|
|
651
1323
|
type: object
|
|
652
|
-
description: Details about the specified issue and the HTML elements exhibiting it.
|
|
653
1324
|
properties:
|
|
654
|
-
|
|
655
|
-
type: string
|
|
656
|
-
examples:
|
|
657
|
-
- imageNoText
|
|
658
|
-
summary:
|
|
1325
|
+
layer:
|
|
659
1326
|
type: string
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
-
|
|
663
|
-
|
|
664
|
-
type: object
|
|
665
|
-
description: The WCAG 2.2 success criterion or guideline most closely related to the issue.
|
|
666
|
-
properties:
|
|
667
|
-
layer:
|
|
668
|
-
type: string
|
|
669
|
-
enum:
|
|
670
|
-
- guideline
|
|
671
|
-
- success criterion
|
|
672
|
-
'numeric identifier':
|
|
673
|
-
type: string
|
|
674
|
-
pattern: '^\d\.\d(\.\d+)?$'
|
|
675
|
-
examples:
|
|
676
|
-
- 1.1.1
|
|
677
|
-
impact on a user:
|
|
1327
|
+
enum:
|
|
1328
|
+
- success criterion
|
|
1329
|
+
- guideline
|
|
1330
|
+
identifier:
|
|
678
1331
|
type: string
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
1332
|
+
required:
|
|
1333
|
+
- layer
|
|
1334
|
+
- identifier
|
|
1335
|
+
additionalProperties: false
|
|
1336
|
+
required:
|
|
1337
|
+
- identifier
|
|
1338
|
+
- summary
|
|
1339
|
+
- impact on a user
|
|
1340
|
+
- priority
|
|
1341
|
+
- related WCAG standard
|
|
1342
|
+
additionalProperties: false
|
|
1343
|
+
- type: object
|
|
1344
|
+
properties:
|
|
1345
|
+
error:
|
|
1346
|
+
type: string
|
|
1347
|
+
required:
|
|
1348
|
+
- error
|
|
1349
|
+
additionalProperties: false
|