@longsightgroup/qti3-a11y 0.7.1 → 0.7.3
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/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +39 -3
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,14 @@ export interface InteractionA11yContract {
|
|
|
8
8
|
focusStrategy: string;
|
|
9
9
|
keyboardModel: string[];
|
|
10
10
|
requiredStates: string[];
|
|
11
|
+
variants?: InteractionA11yVariant[] | undefined;
|
|
12
|
+
}
|
|
13
|
+
export interface InteractionA11yVariant {
|
|
14
|
+
name: string;
|
|
15
|
+
primaryRole: string;
|
|
16
|
+
focusStrategy: string;
|
|
17
|
+
keyboardModel: string[];
|
|
18
|
+
requiredStates: string[];
|
|
11
19
|
}
|
|
12
20
|
export interface ManualAssistiveTechnologyScript {
|
|
13
21
|
assistiveTechnology: "VoiceOver" | "NVDA" | "JAWS";
|
|
@@ -23,6 +31,7 @@ export interface AccessibilityProofEntry {
|
|
|
23
31
|
primaryRole: string;
|
|
24
32
|
keyboardRequired: boolean;
|
|
25
33
|
keyboardModel: string[];
|
|
34
|
+
variants?: InteractionA11yVariant[] | undefined;
|
|
26
35
|
proof: {
|
|
27
36
|
automated: string[];
|
|
28
37
|
manual: string[];
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAExF,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,kBAAkB,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;IAChC,oCAAoC,EAAE,OAAO,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,mBAAmB,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,kBAAkB,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAED,eAAO,MAAM,aAAa,EAAE,uBAAuB,EAElD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAExF,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,kBAAkB,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC;IAChC,oCAAoC,EAAE,OAAO,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,mBAAmB,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,kBAAkB,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;IAChD,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACH;AAED,eAAO,MAAM,aAAa,EAAE,uBAAuB,EAElD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,uBAAuB,EAY7D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,+BAA+B,EAsE7E,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export const accessibilityProofMatrix = a11yContracts.map((contract) => ({
|
|
|
5
5
|
primaryRole: contract.primaryRole,
|
|
6
6
|
keyboardRequired: contract.keyboardRequired,
|
|
7
7
|
keyboardModel: contract.keyboardModel,
|
|
8
|
+
variants: contract.variants,
|
|
8
9
|
proof: {
|
|
9
10
|
automated: automatedProofFor(contract),
|
|
10
11
|
manual: manualProofFor(contract),
|
|
@@ -211,7 +212,7 @@ function contractForInteraction(interactionType) {
|
|
|
211
212
|
requiredStates: ["value", "aria-invalid", "aria-describedby"],
|
|
212
213
|
};
|
|
213
214
|
}
|
|
214
|
-
if (interactionType === "textEntry"
|
|
215
|
+
if (interactionType === "textEntry") {
|
|
215
216
|
return {
|
|
216
217
|
...base,
|
|
217
218
|
primaryRole: "textbox",
|
|
@@ -220,6 +221,29 @@ function contractForInteraction(interactionType) {
|
|
|
220
221
|
requiredStates: ["value", "aria-invalid", "aria-describedby"],
|
|
221
222
|
};
|
|
222
223
|
}
|
|
224
|
+
if (interactionType === "extendedText") {
|
|
225
|
+
return {
|
|
226
|
+
...base,
|
|
227
|
+
primaryRole: "textbox",
|
|
228
|
+
focusStrategy: "Focus lands directly on the plain extended-text textarea.",
|
|
229
|
+
keyboardModel: ["Typing edits the response.", "Tab leaves the field."],
|
|
230
|
+
requiredStates: ["value", "aria-invalid", "aria-describedby"],
|
|
231
|
+
variants: [
|
|
232
|
+
{
|
|
233
|
+
name: "format=xhtml",
|
|
234
|
+
primaryRole: "toolbar and textbox",
|
|
235
|
+
focusStrategy: "Focus moves between the rich-text toolbar and editor.",
|
|
236
|
+
keyboardModel: [
|
|
237
|
+
"Typing in the editor edits the response.",
|
|
238
|
+
"Tab moves between the toolbar and editor.",
|
|
239
|
+
"Toolbar buttons use roving tabindex; Arrow keys move between buttons.",
|
|
240
|
+
"Enter or Space on a toolbar button applies formatting.",
|
|
241
|
+
],
|
|
242
|
+
requiredStates: ["value", "aria-pressed on toggle commands"],
|
|
243
|
+
},
|
|
244
|
+
],
|
|
245
|
+
};
|
|
246
|
+
}
|
|
223
247
|
if (interactionType === "hotspot") {
|
|
224
248
|
return {
|
|
225
249
|
...base,
|
|
@@ -283,14 +307,15 @@ function contractForInteraction(interactionType) {
|
|
|
283
307
|
focusStrategy: "Focus lands on the drawing surface and then on auxiliary commands; the live canvas renders as a light surface independent of page color scheme.",
|
|
284
308
|
keyboardModel: [
|
|
285
309
|
"Pointer input draws freehand strokes.",
|
|
310
|
+
"A native pen color input selects the active stroke color.",
|
|
286
311
|
"Enter or Space creates a deterministic keyboard stroke.",
|
|
287
312
|
"Clear drawing removes all strokes.",
|
|
288
|
-
"The live drawing surface uses a light canvas
|
|
313
|
+
"The live drawing surface uses a light canvas so strokes stay visible when the page is in dark mode.",
|
|
289
314
|
],
|
|
290
315
|
requiredStates: [
|
|
291
316
|
"accessible name",
|
|
292
317
|
"light canvas rendering",
|
|
293
|
-
"
|
|
318
|
+
"pen color input",
|
|
294
319
|
"aria-invalid",
|
|
295
320
|
"aria-describedby",
|
|
296
321
|
],
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA2B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@longsightgroup/qti3-a11y",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.3",
|
|
4
4
|
"description": "Accessibility contracts and proof metadata for qti3 QTI 3 item interactions.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"a11y",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"registry": "https://registry.npmjs.org"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@longsightgroup/qti3-core": "0.7.
|
|
48
|
+
"@longsightgroup/qti3-core": "0.7.3"
|
|
49
49
|
},
|
|
50
50
|
"scripts": {}
|
|
51
51
|
}
|
package/src/index.ts
CHANGED
|
@@ -9,6 +9,15 @@ export interface InteractionA11yContract {
|
|
|
9
9
|
focusStrategy: string;
|
|
10
10
|
keyboardModel: string[];
|
|
11
11
|
requiredStates: string[];
|
|
12
|
+
variants?: InteractionA11yVariant[] | undefined;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface InteractionA11yVariant {
|
|
16
|
+
name: string;
|
|
17
|
+
primaryRole: string;
|
|
18
|
+
focusStrategy: string;
|
|
19
|
+
keyboardModel: string[];
|
|
20
|
+
requiredStates: string[];
|
|
12
21
|
}
|
|
13
22
|
|
|
14
23
|
export interface ManualAssistiveTechnologyScript {
|
|
@@ -26,6 +35,7 @@ export interface AccessibilityProofEntry {
|
|
|
26
35
|
primaryRole: string;
|
|
27
36
|
keyboardRequired: boolean;
|
|
28
37
|
keyboardModel: string[];
|
|
38
|
+
variants?: InteractionA11yVariant[] | undefined;
|
|
29
39
|
proof: {
|
|
30
40
|
automated: string[];
|
|
31
41
|
manual: string[];
|
|
@@ -42,6 +52,7 @@ export const accessibilityProofMatrix: AccessibilityProofEntry[] = a11yContracts
|
|
|
42
52
|
primaryRole: contract.primaryRole,
|
|
43
53
|
keyboardRequired: contract.keyboardRequired,
|
|
44
54
|
keyboardModel: contract.keyboardModel,
|
|
55
|
+
variants: contract.variants,
|
|
45
56
|
proof: {
|
|
46
57
|
automated: automatedProofFor(contract),
|
|
47
58
|
manual: manualProofFor(contract),
|
|
@@ -261,7 +272,7 @@ function contractForInteraction(interactionType: QtiInteractionType): Interactio
|
|
|
261
272
|
};
|
|
262
273
|
}
|
|
263
274
|
|
|
264
|
-
if (interactionType === "textEntry"
|
|
275
|
+
if (interactionType === "textEntry") {
|
|
265
276
|
return {
|
|
266
277
|
...base,
|
|
267
278
|
primaryRole: "textbox",
|
|
@@ -271,6 +282,30 @@ function contractForInteraction(interactionType: QtiInteractionType): Interactio
|
|
|
271
282
|
};
|
|
272
283
|
}
|
|
273
284
|
|
|
285
|
+
if (interactionType === "extendedText") {
|
|
286
|
+
return {
|
|
287
|
+
...base,
|
|
288
|
+
primaryRole: "textbox",
|
|
289
|
+
focusStrategy: "Focus lands directly on the plain extended-text textarea.",
|
|
290
|
+
keyboardModel: ["Typing edits the response.", "Tab leaves the field."],
|
|
291
|
+
requiredStates: ["value", "aria-invalid", "aria-describedby"],
|
|
292
|
+
variants: [
|
|
293
|
+
{
|
|
294
|
+
name: "format=xhtml",
|
|
295
|
+
primaryRole: "toolbar and textbox",
|
|
296
|
+
focusStrategy: "Focus moves between the rich-text toolbar and editor.",
|
|
297
|
+
keyboardModel: [
|
|
298
|
+
"Typing in the editor edits the response.",
|
|
299
|
+
"Tab moves between the toolbar and editor.",
|
|
300
|
+
"Toolbar buttons use roving tabindex; Arrow keys move between buttons.",
|
|
301
|
+
"Enter or Space on a toolbar button applies formatting.",
|
|
302
|
+
],
|
|
303
|
+
requiredStates: ["value", "aria-pressed on toggle commands"],
|
|
304
|
+
},
|
|
305
|
+
],
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
|
|
274
309
|
if (interactionType === "hotspot") {
|
|
275
310
|
return {
|
|
276
311
|
...base,
|
|
@@ -339,14 +374,15 @@ function contractForInteraction(interactionType: QtiInteractionType): Interactio
|
|
|
339
374
|
"Focus lands on the drawing surface and then on auxiliary commands; the live canvas renders as a light surface independent of page color scheme.",
|
|
340
375
|
keyboardModel: [
|
|
341
376
|
"Pointer input draws freehand strokes.",
|
|
377
|
+
"A native pen color input selects the active stroke color.",
|
|
342
378
|
"Enter or Space creates a deterministic keyboard stroke.",
|
|
343
379
|
"Clear drawing removes all strokes.",
|
|
344
|
-
"The live drawing surface uses a light canvas
|
|
380
|
+
"The live drawing surface uses a light canvas so strokes stay visible when the page is in dark mode.",
|
|
345
381
|
],
|
|
346
382
|
requiredStates: [
|
|
347
383
|
"accessible name",
|
|
348
384
|
"light canvas rendering",
|
|
349
|
-
"
|
|
385
|
+
"pen color input",
|
|
350
386
|
"aria-invalid",
|
|
351
387
|
"aria-describedby",
|
|
352
388
|
],
|