@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 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[];
@@ -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,EAW7D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,+BAA+B,EAsE7E,CAAC"}
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" || interactionType === "extendedText") {
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 and dark pen so strokes stay visible when the page is in dark mode.",
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
- "dark pen on light canvas",
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;AAkCxF,MAAM,CAAC,MAAM,aAAa,GAA8B,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACzF,sBAAsB,CAAC,OAAO,CAAC,eAAqC,CAAC,CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAA8B,aAAa,CAAC,GAAG,CAClF,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACb,eAAe,EAAE,QAAQ,CAAC,eAAe;IACzC,WAAW,EAAE,QAAQ,CAAC,WAAW;IACjC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;IAC3C,aAAa,EAAE,QAAQ,CAAC,aAAa;IACrC,KAAK,EAAE;QACL,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC;QACtC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC;KACjC;CACF,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAsC;IACjF;QACE,mBAAmB,EAAE,WAAW;QAChC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,oBAAoB;QAC7B,SAAS,EAAE,kBAAkB,EAAE;QAC/B,KAAK,EAAE;YACL,yCAAyC;YACzC,uDAAuD;YACvD,wDAAwD;SACzD;QACD,SAAS,EAAE;YACT,sFAAsF;YACtF,mGAAmG;YACnG,qDAAqD;YACrD,+DAA+D;SAChE;QACD,eAAe,EAAE;YACf,8DAA8D;YAC9D,iFAAiF;YACjF,iFAAiF;YACjF,2DAA2D;SAC5D;KACF;IACD;QACE,mBAAmB,EAAE,MAAM;QAC3B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,qBAAqB;QAC9B,SAAS,EAAE,kBAAkB,EAAE;QAC/B,KAAK,EAAE;YACL,8FAA8F;YAC9F,8DAA8D;YAC9D,wDAAwD;SACzD;QACD,SAAS,EAAE;YACT,uEAAuE;YACvE,mGAAmG;YACnG,6EAA6E;YAC7E,yFAAyF;SAC1F;QACD,eAAe,EAAE;YACf,uEAAuE;YACvE,0EAA0E;YAC1E,iFAAiF;YACjF,6CAA6C;SAC9C;KACF;IACD;QACE,mBAAmB,EAAE,MAAM;QAC3B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,kBAAkB,EAAE;QAC/B,KAAK,EAAE;YACL,8FAA8F;YAC9F,+CAA+C;YAC/C,wDAAwD;SACzD;QACD,SAAS,EAAE;YACT,iEAAiE;YACjE,wFAAwF;YACxF,oDAAoD;YACpD,2FAA2F;SAC5F;QACD,eAAe,EAAE;YACf,mEAAmE;YACnE,sDAAsD;YACtD,+IAA+I;YAC/I,+EAA+E;SAChF;KACF;CACF,CAAC;AAEF,SAAS,sBAAsB,CAAC,eAAmC;IACjE,MAAM,IAAI,GAAG;QACX,eAAe;QACf,gBAAgB,EAAE,eAAe,KAAK,OAAO;QAC7C,sBAAsB,EAAE,IAAI;QAC5B,oCAAoC,EAAE,IAAI;QAC1C,WAAW,EAAE,OAAO;QACpB,aAAa,EAAE,+EAA+E;QAC9F,aAAa,EAAE;YACb,6BAA6B;YAC7B,gDAAgD;SACjD;QACD,cAAc,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC;KACrD,CAAC;IAEF,IAAI,eAAe,KAAK,QAAQ,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClE,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,qBAAqB;YAClC,aAAa,EAAE;gBACb,wCAAwC;gBACxC,mCAAmC;gBACnC,8IAA8I;aAC/I;YACD,cAAc,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,kBAAkB,CAAC;SAChE,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,OAAO;YACpB,aAAa,EAAE;gBACb,gFAAgF;gBAChF,0GAA0G;gBAC1G,gIAAgI;gBAChI,6HAA6H;gBAC7H,2FAA2F;gBAC3F,uHAAuH;gBACvH,8EAA8E;gBAC9E,6GAA6G;aAC9G;YACD,cAAc,EAAE;gBACd,6BAA6B;gBAC7B,sBAAsB;gBACtB,UAAU;gBACV,cAAc;gBACd,kBAAkB;aACnB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,cAAc,EAAE,CAAC;QACvC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,OAAO;YACpB,aAAa,EACX,gIAAgI;YAClI,aAAa,EAAE;gBACb,+EAA+E;gBAC/E,qEAAqE;gBACrE,oGAAoG;gBACpG,+EAA+E;gBAC/E,yGAAyG;gBACzG,qFAAqF;gBACrF,8DAA8D;gBAC9D,uEAAuE;aACxE;YACD,cAAc,EAAE;gBACd,0BAA0B;gBAC1B,6BAA6B;gBAC7B,mBAAmB;gBACnB,UAAU;gBACV,cAAc;gBACd,kBAAkB;aACnB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,gBAAgB;YAC7B,aAAa,EAAE;gBACb,8GAA8G;gBAC9G,mGAAmG;gBACnG,2EAA2E;gBAC3E,wEAAwE;gBACxE,uCAAuC;gBACvC,uGAAuG;aACxG;YACD,cAAc,EAAE,CAAC,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,kBAAkB,CAAC;SAC3F,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,WAAW,IAAI,eAAe,KAAK,kBAAkB,EAAE,CAAC;QAC9E,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,OAAO;YACpB,aAAa,EAAE;gBACb,2FAA2F;gBAC3F,gFAAgF;gBAChF,uCAAuC;gBACvC,kFAAkF;aACnF;YACD,cAAc,EAAE,CAAC,cAAc,EAAE,oBAAoB,EAAE,cAAc,EAAE,kBAAkB,CAAC;SAC3F,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,UAAU,IAAI,eAAe,KAAK,iBAAiB,EAAE,CAAC;QAC5E,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,OAAO;YACpB,aAAa,EACX,0FAA0F;YAC5F,aAAa,EAAE;gBACb,wCAAwC;gBACxC,6DAA6D;gBAC7D,qCAAqC;gBACrC,gFAAgF;aACjF;YACD,cAAc,EAAE;gBACd,cAAc;gBACd,oCAAoC;gBACpC,cAAc;gBACd,kBAAkB;aACnB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,cAAc,EAAE,CAAC;QACvC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,UAAU;YACvB,aAAa,EAAE,oDAAoD;YACnE,aAAa,EAAE,CAAC,iDAAiD,CAAC;YAClE,cAAc,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,WAAW,IAAI,eAAe,KAAK,cAAc,EAAE,CAAC;QAC1E,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,+CAA+C;YAC9D,aAAa,EAAE,CAAC,4BAA4B,EAAE,uBAAuB,CAAC;YACtE,cAAc,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,OAAO;YACpB,aAAa,EAAE,uEAAuE;YACtF,aAAa,EAAE;gBACb,oCAAoC;gBACpC,6CAA6C;aAC9C;YACD,cAAc,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,kBAAkB,CAAC;SACrE,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,aAAa,EAAE,CAAC;QACtC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,wCAAwC;YACvD,aAAa,EAAE;gBACb,sDAAsD;gBACtD,0CAA0C;gBAC1C,iDAAiD;aAClD;YACD,cAAc,EAAE;gBACd,wCAAwC;gBACxC,cAAc;gBACd,kBAAkB;aACnB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,iEAAiE;YAChF,aAAa,EAAE;gBACb,sDAAsD;gBACtD,2DAA2D;gBAC3D,0CAA0C;gBAC1C,iDAAiD;aAClD;YACD,cAAc,EAAE;gBACd,0DAA0D;gBAC1D,cAAc;gBACd,kBAAkB;aACnB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,0CAA0C;YACzD,aAAa,EAAE,CAAC,2CAA2C,CAAC;YAC5D,cAAc,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,kBAAkB,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,KAAK;YAClB,aAAa,EACX,iJAAiJ;YACnJ,aAAa,EAAE;gBACb,uCAAuC;gBACvC,yDAAyD;gBACzD,oCAAoC;gBACpC,kHAAkH;aACnH;YACD,cAAc,EAAE;gBACd,iBAAiB;gBACjB,wBAAwB;gBACxB,0BAA0B;gBAC1B,cAAc;gBACd,kBAAkB;aACnB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,uCAAuC;YACtD,aAAa,EAAE,CAAC,2CAA2C,CAAC;YAC5D,cAAc,EAAE,CAAC,oBAAoB,EAAE,cAAc,EAAE,kBAAkB,CAAC;SAC3E,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;QAChC,OAAO;YACL,GAAG,IAAI;YACP,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,8BAA8B;YAC3C,aAAa,EAAE,uEAAuE;YACtF,aAAa,EAAE,CAAC,iEAAiE,CAAC;YAClF,cAAc,EAAE,CAAC,iBAAiB,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,wCAAwC;YACvD,aAAa,EAAE,CAAC,sCAAsC,CAAC;YACvD,cAAc,EAAE,CAAC,iBAAiB,CAAC;SACpC,CAAC;IACJ,CAAC;IAED,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;QACzC,OAAO;YACL,GAAG,IAAI;YACP,WAAW,EAAE,OAAO;YACpB,aAAa,EACX,yHAAyH;YAC3H,aAAa,EAAE;gBACb,8EAA8E;gBAC9E,gFAAgF;gBAChF,wHAAwH;gBACxH,2HAA2H;aAC5H;YACD,cAAc,EAAE;gBACd,eAAe;gBACf,sBAAsB;gBACtB,0CAA0C;gBAC1C,2BAA2B;aAC5B;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,2EAA2E;QAC1F,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,CAAC,6EAA6E,CAAC;QAC9F,cAAc,EAAE,CAAC,uBAAuB,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAqC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAiC;IAC1D,MAAM,KAAK,GAAG;QACZ,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,gEAAgE;QAChE,qDAAqD;KACtD,CAAC;IACF,IAAI,QAAQ,CAAC,oCAAoC,EAAE,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,KAAK,iBAAiB,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CACR,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,QAAiC;IACvD,MAAM,KAAK,GAAG;QACZ,yBAAyB;QACzB,oBAAoB;QACpB,oBAAoB;QACpB,wBAAwB;QACxB,iEAAiE;KAClE,CAAC;IACF,IAAI,QAAQ,CAAC,gBAAgB;QAAE,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC5F,OAAO,KAAK,CAAC;AACf,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.1",
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.1"
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" || interactionType === "extendedText") {
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 and dark pen so strokes stay visible when the page is in dark mode.",
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
- "dark pen on light canvas",
385
+ "pen color input",
350
386
  "aria-invalid",
351
387
  "aria-describedby",
352
388
  ],